diff --git a/.vs/Auto_Demo/v16/.suo b/.vs/Auto_Demo/v16/.suo new file mode 100644 index 0000000..c774c93 Binary files /dev/null and b/.vs/Auto_Demo/v16/.suo differ diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..86c4331 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,7 @@ +{ + "ExpandedNodes": [ + "" + ], + "SelectedNode": "\\Auto_Demo.sln", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..5587874 Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/Auto_Demo.sln b/Auto_Demo.sln new file mode 100644 index 0000000..74f9667 --- /dev/null +++ b/Auto_Demo.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31613.86 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Auto_Demo", "Auto_Demo\Auto_Demo.csproj", "{6999F50F-32DA-4C6C-B116-7513876061FE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6999F50F-32DA-4C6C-B116-7513876061FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6999F50F-32DA-4C6C-B116-7513876061FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6999F50F-32DA-4C6C-B116-7513876061FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6999F50F-32DA-4C6C-B116-7513876061FE}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C83215B0-4AAC-45A2-907A-3897911CED49} + EndGlobalSection +EndGlobal diff --git a/Auto_Demo/App.config b/Auto_Demo/App.config new file mode 100644 index 0000000..9bacd89 --- /dev/null +++ b/Auto_Demo/App.config @@ -0,0 +1,22 @@ + + + + +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/App.xaml b/Auto_Demo/App.xaml new file mode 100644 index 0000000..b3b6d99 --- /dev/null +++ b/Auto_Demo/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/Auto_Demo/App.xaml.cs b/Auto_Demo/App.xaml.cs new file mode 100644 index 0000000..9df9c30 --- /dev/null +++ b/Auto_Demo/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace Auto_Demo +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/Auto_Demo/Auto_Demo.csproj b/Auto_Demo/Auto_Demo.csproj new file mode 100644 index 0000000..1624f3c --- /dev/null +++ b/Auto_Demo/Auto_Demo.csproj @@ -0,0 +1,545 @@ + + + + + + Debug + AnyCPU + {6999F50F-32DA-4C6C-B116-7513876061FE} + WinExe + Auto_Demo + Auto_Demo + v4.5.1 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + true + + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll + + + False + ..\..\..\dll\KAutoHelper.dll + + + + + + + ..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0\lib\net451\System.Data.SQLite.dll + + + ..\packages\System.Data.SQLite.EF6.1.0.115.0\lib\net451\System.Data.SQLite.EF6.dll + + + ..\packages\System.Data.SQLite.Linq.1.0.115.0\lib\net451\System.Data.SQLite.Linq.dll + + + + + + + + + + + 4.0 + + + ..\packages\Tesseract.4.1.1\lib\net45\Tesseract.dll + + + + + + + + MSBuild:Compile + Designer + + + CMessageBox.xaml + + + notification.xaml + + + test.xaml + + + rounded.xaml + + + size_fish.xaml + + + FishSizeBorder.xaml + + + RoundBorder.xaml + + + SquareBorder.xaml + + + + + + + + + + + + + + + + + draw.xaml + + + Window1.xaml + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + MainWindow.xaml + Code + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + + + add_device.xaml + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + Always + + + Always + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {F8937E53-D444-4E71-9275-35B64210CC3B} + 1 + 0 + 0 + tlbimp + False + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/Auto_Demo.csproj.user b/Auto_Demo/Auto_Demo.csproj.user new file mode 100644 index 0000000..a37778c --- /dev/null +++ b/Auto_Demo/Auto_Demo.csproj.user @@ -0,0 +1,6 @@ + + + + Project + + \ No newline at end of file diff --git a/Auto_Demo/MainWindow.xaml b/Auto_Demo/MainWindow.xaml new file mode 100644 index 0000000..57b36f7 --- /dev/null +++ b/Auto_Demo/MainWindow.xaml @@ -0,0 +1,1127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Auto_Demo/MainWindow.xaml.cs b/Auto_Demo/MainWindow.xaml.cs new file mode 100644 index 0000000..9168908 --- /dev/null +++ b/Auto_Demo/MainWindow.xaml.cs @@ -0,0 +1,1522 @@ +using Auto_Demo.popups; +using Auto_Demo.test; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Thread = System.Threading.Thread; +using KAutoHelper; +using System.Collections.ObjectModel; +using Auto_Demo.services; +using System.Data; +using System.ComponentModel; +using Auto_Demo.components; +using System.Windows.Forms; + + +using Label = System.Windows.Controls.Label; +using TextBox = System.Windows.Controls.TextBox; +using Cursors = System.Windows.Input.Cursors; +using MouseEventArgs = System.Windows.Input.MouseEventArgs; +using Auto_Demo.services.config; +using CheckBox = System.Windows.Controls.CheckBox; +using System.Text.RegularExpressions; +using Auto_Demo.services.ml; +using System.Runtime.InteropServices; + +namespace Auto_Demo +{ + /// + /// Interaction logic for MainWindow.xaml + /// + /// + + + + + + public partial class MainWindow : Window, INotifyPropertyChanged + { + database db = new database(); + + private bool isDashboard; + public bool IsDashboard + { + get { return isDashboard; } + set + { + isDashboard = value; + OnPropertyChanged("IsDashboard"); + } + } + + private bool isEditNameEmu; + public bool IsEditNameEmu + { + get { return isEditNameEmu; } + set + { + isEditNameEmu = value; + OnPropertyChanged("IsEditNameEmu"); + } + } + + private emulator config; + public emulator Config + { + get { return config; } + set + { + config = value; + OnPropertyChanged("Config"); + } + } + + private FishingRodConfig configFishingRod; + public FishingRodConfig ConfigFishingRod + { + get { return configFishingRod; } + set + { + configFishingRod = value; + OnPropertyChanged("ConfigFishingRod"); + } + } + + List listFastFishSize = new List(); + List listLanguage = new List(); + List listLevel = new List(); + List listSize = new List(); + + + private ConfigFishSize configFish; + public ConfigFishSize ConfigFish + { + get { return configFish; } + set + { + configFish = value; + OnPropertyChanged("ConfigFish"); + } + } + + private ConfigAuto configAutoValue; + public ConfigAuto ConfigAutoValue + { + get { return configAutoValue; } + set + { + configAutoValue = value; + OnPropertyChanged("ConfigAutoValue"); + } + } + + private Auto autoValue; + public Auto AutoValue + { + get { return autoValue; } + set + { + autoValue = value; + OnPropertyChanged("AutoValue"); + } + } + + public event PropertyChangedEventHandler PropertyChanged; + protected virtual void OnPropertyChanged(string newName) + { + if(PropertyChanged != null) + { + PropertyChanged(this, new PropertyChangedEventArgs(newName)); + } + } + + public int minuteGame { get; set; } + public int hourGame { get; set; } + public string sessionGame { get; set; } + public int totalMinuteGame { get; set; } + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + static extern bool GetCursorPos(ref Point lpPoint); + + public MainWindow() + { + InitializeComponent(); + this.DataContext = this; + + img_logo.Source = new BitmapImage(new Uri("pack://application:,,,/images/logo.png")); + + languageConfig.initLanguageList(); + itemSelectLevel.initLevelList(); + itemSelectSize.initSizeList(); + loadListAuto(); + loadConfigAuto(); + EnumAuto.initListFishingRod(); + Fish.initListFish(); + getTimeGame(); + clearCache(); + } + + public void clearCache() + { + Task clear = new Task(() => + { + while (true) + { + Thread.Sleep(5000); + GC.Collect(); + } + }); + clear.Start(); + } + + private void Window_MouseMove(object sender, MouseButtonEventArgs e) + { + if (e.ChangedButton == MouseButton.Left) + { + try + { + this.DragMove(); + } catch { }; + } + } + + private void hover_Close(object sender, MouseEventArgs e) + { + icon_ClosePrimary1.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_ClosePrimary2.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_CloseSecondary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + + icon_ClosePrimaryGroup.Opacity = 1; + icon_CloseSecondary.Opacity = 0.5; + } + + private void hover_CloseOut(object sender, MouseEventArgs e) + { + icon_ClosePrimary1.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_ClosePrimary2.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_CloseSecondary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#FFFFFF"); + + icon_ClosePrimaryGroup.Opacity = 0.7; + icon_CloseSecondary.Opacity = 1; + } + + private void close_App(object sender, RoutedEventArgs e) + { + Thread.Sleep(200); + System.Windows.Application.Current.Shutdown(); + Close(); + } + + private void hover_Minimize(object sender, MouseEventArgs e) + { + icon_MinimizePrimary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#FCD34D"); + icon_MinimizeSecondary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#FCD34D"); + + icon_MinimizePrimary.Opacity = 1; + icon_MinimizeSecondary.Opacity = 0.5; + } + + private void hover_MinimizeOut(object sender, MouseEventArgs e) + { + icon_MinimizePrimary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#FCD34D"); + icon_MinimizeSecondary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#FFFFFF"); + + icon_MinimizePrimary.Opacity = 0.7; + icon_MinimizeSecondary.Opacity = 1; + } + private void minimize_App(object sender, RoutedEventArgs e) + { + Thread.Sleep(200); + this.WindowState = WindowState.Minimized; + } + + // Valid + + private void NumberValidationTextBox(object sender, TextCompositionEventArgs e) + { + Regex regex = new Regex("[^0-9]+"); + e.Handled = regex.IsMatch(e.Text); + } + + // Add Device + + private void open_PopupAddDevice(object sender, RoutedEventArgs e) + { + IsEditNameEmu = false; + add_device info = new add_device(); + info.Show(); + } + + private void addNoti(object sender, RoutedEventArgs e) + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Không tìm thấy thiết bị", content = "vui lòng mở giả lập hoặc kết nối với điện thoai", type = "success", timeStrat = DateTime.Now }; + } + + public void updateNoti() + { + ic_Notification.ItemsSource = Notification._NotiList; + } + + private void loadListAuto() + { + new fastConfigFishSize("custom", "Tuỳ chỉnh"); + new fastConfigFishSize("default", "Mặc định"); + new fastConfigFishSize("auto", "Tự động"); + + FishingRod.CreateListFishingRod(); + cb_ListFishingRod.ItemsSource = FishingRod._ListFishingRod; + cb_ListFishingRod2.ItemsSource = FishingRod._ListFishingRod; + + ImageToText.initNameFishing(); + + // Load thông tin thiết bị + var data = db.getDataTable("Auto"); + foreach (DataRow row in data.Rows) + { + string _id = row["_id"].ToString(); + string name = row["name"].ToString(); + string emulator_id = row["emulator_id"].ToString(); + string emulator_name = row["emulator_name"].ToString(); + string emulator_type = row["emulator_type"].ToString(); + //string className = row["class"].ToString(); + //string text = row["text"].ToString(); + new emulator(_id, name, emulator_id, emulator_name, emulator_type); + new fastConfigFishSize(_id, name); + } + + // Load cài đặt bỏ bóng cá cho thiết bị + foreach (emulator emu in emulator._EmulatorList) + { + List listSize = new List(); + var dataFishSize = db.getDataFishSize(emu._id); + //string modeSetting = "custom"; + string modeSetting = dataFishSize.Rows[0]["setting"].ToString(); + + foreach (DataRow rowFishSize in dataFishSize.Rows) + { + modeSetting = rowFishSize["setting"].ToString(); + string _id_FishSize = rowFishSize["_id"].ToString(); + int size_FishSize = int.Parse(rowFishSize["size"].ToString()); + int min_FishSize = int.Parse(rowFishSize["min"].ToString()); + int max_FishSize = int.Parse(rowFishSize["max"].ToString()); + int status_FishSize = int.Parse(rowFishSize["status"].ToString()); + string auto_id_FishSize = rowFishSize["auto_id"].ToString(); + bool disable_FishSize = true; + if (modeSetting == "auto") + { + disable_FishSize = false; + } + FishSize fishSize = new FishSize(_id_FishSize, size_FishSize, min_FishSize, max_FishSize, status_FishSize, auto_id_FishSize, disable_FishSize); + listSize.Add(fishSize); + } + if (modeSetting == "auto") + { + new ConfigFishSize(listSize, emu._id, modeSetting, 0); + } else + { + new ConfigFishSize(listSize, emu._id, modeSetting, -1); + } + + if (modeSetting.Length > 10) + { + ConfigFishSize.changeModeFS(emu._id, modeSetting); + } + } + + // Load cài đặt cần câu cho thiết bị + foreach (emulator emu in emulator._EmulatorList) + { + var dataFishingRod = db.getDataFishingRodByIdAuto(emu._id); + foreach (DataRow rowFishingRod in dataFishingRod.Rows) + { + string _id_FishingRod = rowFishingRod["_id"].ToString(); + string auto_id_FishingRod = rowFishingRod["auto_id"].ToString(); + int fishing_rod_1_FishingRod = int.Parse(rowFishingRod["fishing_rod_1"].ToString()); + int fishing_rod_2_FishingRod = int.Parse(rowFishingRod["fishing_rod_2"].ToString()); + int change_fishing_rod_FishingRod = int.Parse(rowFishingRod["change_fishing_rod"].ToString()); + int step_change_FishingRod = int.Parse(rowFishingRod["step_change"].ToString()); + int get_info_rod_FishingRod = int.Parse(rowFishingRod["get_info_rod"].ToString()); + new FishingRodConfig(_id_FishingRod, auto_id_FishingRod, fishing_rod_1_FishingRod, fishing_rod_2_FishingRod, change_fishing_rod_FishingRod, step_change_FishingRod, get_info_rod_FishingRod); + } + } + + // Load cài đặt auto cho thiết bị + foreach (emulator emu in emulator._EmulatorList) + { + var dataConfigAuto = db.getDataConfigAutoByIdAuto(emu._id); + foreach (DataRow rowConfigAuto in dataConfigAuto.Rows) + { + string _id_ConfigAuto = rowConfigAuto["_id"].ToString(); + string auto_id_ConfigAuto = rowConfigAuto["auto_id"].ToString(); + int delay_fishing_test_ConfigAuto = int.Parse(rowConfigAuto["delay_fishing_test"].ToString()); + int speed_ConfigAuto = int.Parse(rowConfigAuto["speed"].ToString()); + int save_exclamation_ConfigAuto = int.Parse(rowConfigAuto["save_exclamation"].ToString()); + int delay_check_ConfigAuto = int.Parse(rowConfigAuto["delay_check"].ToString()); + new ConfigAuto(_id_ConfigAuto, auto_id_ConfigAuto, delay_fishing_test_ConfigAuto, -1, speed_ConfigAuto, save_exclamation_ConfigAuto, delay_check_ConfigAuto); + } + } + + // Load cài đặt task auto + foreach (emulator emu in emulator._EmulatorList) + { + new Auto(emu._id, emu.emulator_type, emu.emulator_name); + } + } + + // Cập nhật UI khi tạo mới + public void updateListEmulator(string idNewEmu = "") + { + ic_Auto.ItemsSource = emulator._EmulatorList; + ic_Auto.Items.Refresh(); + if (idNewEmu.Length > 0) + { + Config = emulator.getEmulatorById(idNewEmu); + } + } + + public void updateListFishSize(string idAuto) + { + if(Config._id == idAuto) + { + ConfigFish = ConfigFishSize.getFishSizeByIdAuto(idAuto); + ic_FishSize.ItemsSource = ConfigFish.listSize; + ic_FishSize.Items.Refresh(); + } + } + + public void updateListFastFishSize() + { + listFastFishSize = fastConfigFishSize._FastConfigFishSizeList; + cb_ListFastFS.ItemsSource = listFastFishSize; + cb_ListFastFS.Items.Refresh(); + cb_ListFastFS.SelectedIndex = 0; + } + + public void updateConfigFishingRod(string idAuto) + { + ConfigFishingRod = FishingRodConfig.getFishingRodByIdAuto(idAuto); + cb_ListFishingRod.SelectedIndex = ConfigFishingRod.fishing_rod_1 - 1; + cb_ListFishingRod2.SelectedIndex = ConfigFishingRod.fishing_rod_2 - 1; + cb_isCheckedChangeFishingRod.IsChecked = ConfigFishingRod.change_fishing_rod; + tb_stepChangeFishingRod.Text = ConfigFishingRod.step_change.ToString(); + cb_isReGetInfoRod.IsChecked = ConfigFishingRod.get_info_rod; + } + + public void updateConfigAuto(string idAuto) + { + ConfigAutoValue = ConfigAuto._ListConfigAuto.Single(r => r.auto_id == idAuto); + tb_DelayFishingTest.Text = ConfigAutoValue.delay_fishing_test.ToString(); + cb_isSaveExclamation.IsChecked = ConfigAutoValue.save_exclamation == 1 ? true : false; + tb_ValueSpeedName.Text = ConfigAutoValue.speed.ToString(); + slider_SpeedAuto.Value = ConfigAutoValue.speed; + tb_DelayCheck.Text = ConfigAutoValue.delay_check.ToString(); + } + + public void updateAuto(string idAuto) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == idAuto); + } + + // Init danh sách ngôn ngữ + public void updateListLanguage(int index) + { + listLanguage = languageConfig._LanguageList; + cb_ListLanguage.ItemsSource = listLanguage; + cb_ListLanguage.Items.Refresh(); + cb_ListLanguage.SelectedIndex = index; + } + + // Thay đổi ngôn ngữ (tự nhận diện) + public void updateLanguage(int index) + { + cb_ListLanguage.SelectedIndex = index; + } + + // Hover thiết bị trong danh sách thiết bị + private void hover_Emulator(object sender, MouseEventArgs e) + { + var dataHover = (sender as FrameworkElement).DataContext; + Border bor = sender as Border; + if (dataHover.ToString() != "{DisconnectedItem}") + { + var property_IsActive = dataHover.GetType().GetProperty("isActive"); + bool isActive = (bool)property_IsActive.GetValue(dataHover, null); + if (!isActive) + { + bor.Cursor = Cursors.Hand; + } + } + + bor.Background = (SolidColorBrush)new BrushConverter().ConvertFromString("#FF1F1E25"); + + Grid grid = bor.Child as Grid; + grid.Children[0].Visibility = Visibility.Visible; + grid.Children[1].Visibility = Visibility.Visible; + grid.Children[4].Visibility = Visibility.Visible; + grid.Children[5].Visibility = Visibility.Visible; + + TextBlock name = grid.Children[3] as TextBlock; + name.Foreground = (SolidColorBrush)new BrushConverter().ConvertFromString("#FFFFFF"); + } + + private void hover_EmulatorOut(object sender, MouseEventArgs e) + { + var dataHover = (sender as FrameworkElement).DataContext; + + if (dataHover.ToString() != "{DisconnectedItem}") + { + var property_IsActive = dataHover.GetType().GetProperty("isActive"); + bool isActive = (bool)property_IsActive.GetValue(dataHover, null); + if (!isActive) + { + var property_Id = dataHover.GetType().GetProperty("_id"); + var value = property_Id.GetValue(dataHover, null); + + Border bor = sender as Border; + bor.Background = (SolidColorBrush)new BrushConverter().ConvertFromString("#FF0A060E"); + bor.Cursor = Cursors.Arrow; + + Grid grid = bor.Child as Grid; + grid.Children[0].Visibility = Visibility.Hidden; + grid.Children[1].Visibility = Visibility.Hidden; + grid.Children[4].Visibility = Visibility.Hidden; + grid.Children[5].Visibility = Visibility.Hidden; + + TextBlock name = grid.Children[3] as TextBlock; + name.Foreground = (SolidColorBrush)new BrushConverter().ConvertFromString("#FF7D7D85"); + } + } + } + + // Chọn một thiết bị + private void selectAuto(object sender, MouseButtonEventArgs e) + { + var dataHover = (sender as FrameworkElement).DataContext; + var property_IsActive = dataHover.GetType().GetProperty("isActive"); + bool isActive = (bool)property_IsActive.GetValue(dataHover, null); + if (!isActive && !TextboxIsBeingChanged) + { + // Active UI cho thiết bị được chọn + var property_Id = dataHover.GetType().GetProperty("_id"); + string _id = property_Id.GetValue(dataHover, null).ToString(); + emulator.changeActive(_id); + Config = emulator.getEmulatorById(_id); + + // Load UI cài đặt bỏ bóng cá + ConfigFish = ConfigFishSize.getFishSizeByIdAuto(_id); + cb_ListFastFS.SelectedIndex = fastConfigFishSize.getConfigMode(ConfigFish.mode_setting); + ic_FishSize.ItemsSource = ConfigFish.listSize; + ic_FishSize.Items.Refresh(); + + // Load UI cài đặt cần câu + ConfigFishingRod = FishingRodConfig.getFishingRodByIdAuto(_id); + cb_ListFishingRod.SelectedIndex = ConfigFishingRod.fishing_rod_1 - 1; + cb_ListFishingRod2.SelectedIndex = ConfigFishingRod.fishing_rod_2 - 1; + cb_isCheckedChangeFishingRod.IsChecked = ConfigFishingRod.change_fishing_rod; + tb_stepChangeFishingRod.Text = ConfigFishingRod.step_change.ToString(); + cb_isReGetInfoRod.IsChecked = ConfigFishingRod.get_info_rod; + + // Load UI cài đặt Auto + ConfigAutoValue = ConfigAuto._ListConfigAuto.Single(r => r.auto_id == _id); + tb_DelayFishingTest.Text = ConfigAutoValue.delay_fishing_test.ToString(); + cb_isSaveExclamation.IsChecked = ConfigAutoValue.save_exclamation == 1 ? true : false; + tb_ValueSpeedName.Text = ConfigAutoValue.speed.ToString(); + slider_SpeedAuto.Value = ConfigAutoValue.speed; + tb_DelayCheck.Text = ConfigAutoValue.delay_check.ToString(); + + // Load UI Auto + AutoValue = Auto._ListAuto.Single(r => r.auto_id == _id); + ic_Play.Visibility = AutoValue.isAuto ? Visibility.Hidden : Visibility.Visible; + ic_Pause.Visibility = AutoValue.isAuto ? Visibility.Visible : Visibility.Hidden; + setMassageNotiStep(Config._id, 0, AutoValue.messageNotiStep); + setSummaryTotalCurent(Config._id); + setTime(Config._id); + ic_SummaryFish.ItemsSource = AutoValue.summaryFish; + ic_SummaryFish.Items.Refresh(); + sortChange(Config._id, AutoValue.summaryFishSort.typeSort, AutoValue.summaryFishSort.typeSelect); + + // Load UI ngôn ngữ trong game + cb_ListLanguage.SelectedIndex = ConfigAutoValue.language; + + IsEditNameEmu = false; + IsDashboard = false; + + Debug.WriteLine("statusGetPosition :" + AutoValue.statusGetPosition); + updateStatusGetPosition(AutoValue.statusGetPosition); + + // load tổng số cá theo lever + initTotalSummaryFish(); + } + } + + private void loadConfigAuto() + { + IsDashboard = true; + IsEditNameEmu = false; + } + + private void startAuto(object sender, MouseButtonEventArgs e) + { + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.isAuto = true); + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + emulator._EmulatorList.Where(emu => emu._id == Config._id).ToList().ForEach(s => s.isAuto = true); + Config = emulator.getEmulatorById(Config._id); + ic_Auto.ItemsSource = emulator._EmulatorList; + ic_Auto.Items.Refresh(); + ic_Play.Visibility = Visibility.Hidden; + ic_Pause.Visibility = Visibility.Visible; + AutoValue.newTaskAuto().Start(); + //AutoValue.getColor(); + //AutoValue.getSiteMapFishingRod(); + } + + private void stopAuto(object sender, MouseButtonEventArgs e) + { + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.isAuto = false); + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + emulator._EmulatorList.Where(emu => emu._id == Config._id).ToList().ForEach(s => s.isAuto = false); + Config = emulator.getEmulatorById(Config._id); + ic_Auto.ItemsSource = emulator._EmulatorList; + ic_Auto.Items.Refresh(); + ic_Play.Visibility = Visibility.Visible; + ic_Pause.Visibility = Visibility.Hidden; + + AutoValue.stopAuto(); + AutoValue.removeDraw(); + } + + private void showTabSetting(object sender, MouseButtonEventArgs e) + { + emulator._EmulatorList.Where(emu => emu._id == Config._id).ToList().ForEach(s => s.tabSelect = 0); + Config = emulator.getEmulatorById(Config._id); + } + + private void showTabSummary(object sender, MouseButtonEventArgs e) + { + emulator._EmulatorList.Where(emu => emu._id == Config._id).ToList().ForEach(s => s.tabSelect = 1); + Config = emulator.getEmulatorById(Config._id); + } + + private void showDashboard(object sender, MouseButtonEventArgs e) + { + IsDashboard = true; + emulator.removeAllActive(); + } + + private void change_NameEmu(object sender, MouseButtonEventArgs e) + { + IsEditNameEmu = true; + } + + private void saveChangeNameEmu(object sender, MouseButtonEventArgs e) + { + Label inputName = sender as Label; + string newName = ((inputName.Parent as Grid).Children[9] as TextBox).Text; + if(Config.name != newName) + { + string txtQuery = $"UPDATE Auto SET name='{newName}' WHERE _id='{Config._id}'"; + try + { + db.ExecuteQuery(txtQuery); + IsEditNameEmu = false; + new Notification() { id = Guid.NewGuid().ToString(), title = "Chỉnh sửa tên thành công", content = "Tên phân biệt của thiết bị đã được thay đổi", type = "success", timeStrat = DateTime.Now }; + } + catch + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Chỉnh sửa tên thất bại", content = "Đã có một lỗi dữ liệu xảy ra khi thay đổi tên phân biệt của thiết bị!", type = "error", timeStrat = DateTime.Now }; + } + } else + { + IsEditNameEmu = false; + } + } + + // Xoá thiết bị + + private void click_RemoveEmu(object sender, MouseButtonEventArgs e) + { + DialogResult result = CMessageBox.Show("Xác nhận xoá thiết bị", "Bạn có muốn xoá thiết bị này không, việc này sẽ xoá toàn bộ cấu hình auto của thiết bị", "Xoá", "Đóng"); + if (result == System.Windows.Forms.DialogResult.Yes) + { + ConfigFishSize.removeConfigOneEmu(Config._id); + FishingRodConfig.removeConfigFishingRod(Config._id); + ConfigAuto.removeConfigAutoOneEmu(Config._id); + string txtQuery = $"DELETE FROM Auto WHERE _id='{Config._id}'"; + try + { + db.ExecuteQuery(txtQuery); + IsDashboard = true; + emulator.removeEmulatorById(Config._id); + new Notification() { id = Guid.NewGuid().ToString(), title = "Xoá thiết bị thành công", content = "Thiết bị cùng với các cấu hình auto của thiết bị đã được xoá bỏ", type = "success", timeStrat = DateTime.Now }; + } + catch + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Xoá thiết bị thất bại", content = "Đã có một lỗi dữ liệu xảy ra khi xoá thiết bị!", type = "error", timeStrat = DateTime.Now }; + } + } + } + + private void toggle_ListSelectDevice(object sender, MouseButtonEventArgs e) + { + + } + + private void CheckBoxFSChanged(object sender, RoutedEventArgs e) + { + CheckBox checkbox = (sender as CheckBox); + bool isChecked = checkbox.IsChecked.Value; + var property_size = checkbox.DataContext.GetType().GetProperty("size"); + int size = (int)property_size.GetValue(checkbox.DataContext, null); + ConfigFishSize.changeCheckboxActive(emulator.getEmulatorIdActive(), size, isChecked); + } + + private void changeMaxSF(object sender, RoutedEventArgs e) + { + TextBox textbox = (sender as TextBox); + var property_max = textbox.DataContext.GetType().GetProperty("max"); + int max = (int)property_max.GetValue(textbox.DataContext, null); + var property_size = textbox.DataContext.GetType().GetProperty("size"); + int size = (int)property_size.GetValue(textbox.DataContext, null); + string id = ConfigFish.listSize[size - 1]._id; + //var select = cb_ListFastFS.SelectedItem.GetType().GetProperty("label"); + //string selectValue = (string)select.GetValue(cb_ListFastFS.SelectedItem, null); + //Debug.WriteLine(selectValue); + + + if (checkNewMaxFS(size, max) && textbox.Text != "") + { + if (size == 6) + { + ConfigFishSize.changeMinMax(id, max); + } else + { + string nextId = ConfigFish.listSize[size]._id; + ConfigFishSize.changeMinMax(id, max); + ConfigFishSize.changeMinMax(nextId, max + 1, "min"); + } + } else + { + int currentMax = currentFocusTextboxFS; + textbox.Text = currentMax.ToString(); + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi cài đặt bỏ bóng cá", content = "Giá trị cài đặt không hợp lệ, vui lòng kiểm tra lại", type = "error", timeStrat = DateTime.Now }; + } + TextboxIsBeingChanged = false; + } + + private int currentFocusTextboxFS = 0; + private bool TextboxIsBeingChanged = false; + + private bool checkNewMaxFS(int size, int newMax) + { + int start = 1; + int end = 99999999; + if (size == 1) + { + int nextMax = ConfigFish.listSize[size].max; + end = nextMax - 1; + } + else if (size == 6) + { + int prevMax = ConfigFish.listSize[size - 2].max; + start = prevMax + 1; + } + else + { + int prevMax = ConfigFish.listSize[size - 2].max; + int nextMax = ConfigFish.listSize[size].max; + start = prevMax + 1; + end = nextMax - 1; + } + + if (newMax > start && newMax < end) + { + return true; + } else + { + return false; + } + } + + private void startChangeMaxSF(object sender, RoutedEventArgs e) + { + TextboxIsBeingChanged = true; + TextBox textbox = (sender as TextBox); + var property_max = textbox.DataContext.GetType().GetProperty("max"); + int max = (int)property_max.GetValue(textbox.DataContext, null); + currentFocusTextboxFS = max; + } + + private void changeModeFS(object sender, SelectionChangedEventArgs e) + { + fastConfigFishSize mode = cb_ListFastFS.SelectedItem as fastConfigFishSize; + if(ConfigFish != null) + { + if (ConfigFish.mode_setting != mode.value) + { + ConfigFishSize.changeModeFS(ConfigFish.auto_id, mode.value); + //if(mode.value == "auto") + //{ + // zz + //} + } + } + } + + private void changeLanguage(object sender, SelectionChangedEventArgs e) + { + languageConfig language = cb_ListLanguage.SelectedItem as languageConfig; + if (ConfigAutoValue != null && language != null) + { + if (ConfigAutoValue.language != language.value) + { + ConfigAuto.changeLanguage(language.value, ConfigAutoValue.auto_id); + } + } + } + + // Cài đặt cần câu + + private void changeFishingRod1(object sender, SelectionChangedEventArgs e) + { + FishingRod fishingRod = cb_ListFishingRod.SelectedItem as FishingRod; + if (ConfigFishingRod != null) + { + if(fishingRod.value != ConfigFishingRod.fishing_rod_2 && fishingRod.value != ConfigFishingRod.fishing_rod_1) + { + FishingRodConfig.changeDataFishingRod(ConfigFishingRod._id, fishingRod.value, "fishing_rod_1"); + } else + { + cb_ListFishingRod.SelectedIndex = ConfigFishingRod.fishing_rod_1 - 1; + if (fishingRod.value == ConfigFishingRod.fishing_rod_2) + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi cài đặt cần câu", content = "Cần câu chính phải khác loại cần câu phụ, vui lòng chọn lại!", type = "error", timeStrat = DateTime.Now }; + } + } + + } + } + + private void changeFishingRod2(object sender, SelectionChangedEventArgs e) + { + FishingRod fishingRod = cb_ListFishingRod2.SelectedItem as FishingRod; + if (ConfigFishingRod != null) + { + if (fishingRod.value != ConfigFishingRod.fishing_rod_1 && fishingRod.value != ConfigFishingRod.fishing_rod_2) + { + FishingRodConfig.changeDataFishingRod(ConfigFishingRod._id, fishingRod.value, "fishing_rod_2"); + } + else + { + cb_ListFishingRod2.SelectedIndex = ConfigFishingRod.fishing_rod_2 - 1; + if (fishingRod.value == ConfigFishingRod.fishing_rod_1) + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi cài đặt cần câu", content = "Cần câu phụ phải khác loại cần câu chính, vui lòng chọn lại!", type = "error", timeStrat = DateTime.Now }; + } + } + + } + } + + private void isChangeFishingRodChanged(object sender, RoutedEventArgs e) + { + if (ConfigFishingRod != null) + { + CheckBox checkbox = (sender as CheckBox); + bool isChecked = checkbox.IsChecked.Value; + FishingRodConfig.changeDataFishingRod(ConfigFishingRod._id, isChecked ? 1 : 0, "change_fishing_rod"); + } + } + + private void startChangeStepChange(object sender, RoutedEventArgs e) + { + TextboxIsBeingChanged = true; + } + + private void changeStepChange(object sender, RoutedEventArgs e) + { + TextboxIsBeingChanged = false; + TextBox textbox = (sender as TextBox); + if (textbox.Text == "" || textbox.Text == "0") + { + textbox.Text = ConfigFishingRod.step_change.ToString(); + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi cài đặt cần câu", content = "Giá trị cài đặt không hợp lệ, vui lòng nhập một số lớn hơn 0", type = "error", timeStrat = DateTime.Now }; + } else + { + int value = Int32.Parse(textbox.Text); + FishingRodConfig.changeDataFishingRod(ConfigFishingRod._id, value, "step_change"); + } + } + + private void isChangeReGetInfoRod(object sender, RoutedEventArgs e) + { + if (ConfigFishingRod != null) + { + CheckBox checkbox = (sender as CheckBox); + bool isChecked = checkbox.IsChecked.Value; + FishingRodConfig.changeDataFishingRod(ConfigFishingRod._id, isChecked ? 1 : 0, "get_info_rod"); + } + } + + private void startChangeDelayFishingTest(object sender, RoutedEventArgs e) + { + TextboxIsBeingChanged = true; + } + + private void changeDelayFishingTest(object sender, RoutedEventArgs e) + { + TextboxIsBeingChanged = false; + TextBox textbox = (sender as TextBox); + if (textbox.Text == "" || textbox.Text == "0") + { + textbox.Text = ConfigAutoValue.delay_fishing_test.ToString(); + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi cài đặt kiểm tra cắn câu", content = "Giá trị cài đặt không hợp lệ, vui lòng nhập một số lớn hơn 0", type = "error", timeStrat = DateTime.Now }; + } + else + { + int value = Int32.Parse(textbox.Text); + ConfigAuto.changeDataConfigAuto(ConfigAutoValue._id, value, "delay_fishing_test"); + } + } + + private void isChangeSaveExclamation(object sender, RoutedEventArgs e) + { + if (ConfigAutoValue != null) + { + CheckBox checkbox = (sender as CheckBox); + bool isChecked = checkbox.IsChecked.Value; + ConfigAuto.changeDataConfigAuto(ConfigAutoValue._id, isChecked ? 1 : 0, "save_exclamation"); + } + } + + private void speedAutoChange(object sender, RoutedPropertyChangedEventArgs e) + { + if (tb_ValueSpeedName != null && ConfigAutoValue != null) + { + int valueChange = Convert.ToInt32(slider_SpeedAuto.Value); + tb_ValueSpeedName.Text = valueChange.ToString(); + ConfigAuto.changeDataConfigAuto(ConfigAutoValue._id, valueChange, "speed"); + } + } + + private void startChangeDelayCheck(object sender, RoutedEventArgs e) + { + TextboxIsBeingChanged = true; + } + + private void changeDelayCheck(object sender, RoutedEventArgs e) + { + TextboxIsBeingChanged = false; + TextBox textbox = (sender as TextBox); + if (textbox.Text == "") + { + textbox.Text = ConfigAutoValue.delay_check.ToString(); + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi cài đặt độ trể kiểm tra cắn câu", content = "Giá trị cài đặt không hợp lệ, vui lòng vào một số", type = "error", timeStrat = DateTime.Now }; + } + else + { + int value = Int32.Parse(textbox.Text); + ConfigAuto.changeDataConfigAuto(ConfigAutoValue._id, value, "delay_check"); + } + } + + public void setMassageNotiStep(string auto_id, int type, string message = "") + { + if(Config._id == auto_id) + { + App.Current.Dispatcher.Invoke(() => + { + if (type == 0) + { + fishingDone.Visibility = Visibility.Hidden; + notiStep.Visibility = Visibility.Visible; + notiStep.Text = message; + } + else if (type == 1) + { + notiStep.Visibility = Visibility.Hidden; + fishingDone.Visibility = Visibility.Visible; + fishingDoneName.Text = AutoValue.nameFishNotiStep; + fishingDoneName.Foreground = (SolidColorBrush)new BrushConverter().ConvertFromString(AutoValue.colorLevelFishNotiStep); + fishingDoneVM.Visibility = AutoValue.isVMFishNotiStep ? Visibility.Visible : Visibility.Hidden; + fishingDoneVM.Width = AutoValue.isVMFishNotiStep ? 20 : 0; + fishingDonePrice.Text = AutoValue.priceFishNotiStep.ToString(); + fishingDoneMoney.Source = AutoValue.sizeFishNotiStep > 0 ? new BitmapImage(new Uri("pack://application:,,,/images/icon/icon_money_1.png")) : new BitmapImage(new Uri("pack://application:,,,/images/icon/icon_recycle_1.png")); + } + }); + } + } + + + // ------------- Setter giá trị thóng kê --------------- // + public void setSummaryTotal(string auto_id, int value, int type) + { + if (Config._id == auto_id) + { + switch (type) + { + case 1: + total_quangCan.Text = value.ToString(); + break; + case 2: + total_boQuaCa.Text = value.ToString(); + break; + case 3: + total_dutDay.Text = value.ToString(); + break; + case 4: + total_cauLoi.Text = value.ToString(); + break; + case 5: + total_soCa.Text = value.ToString(); + break; + case 6: + total_doTaiChe.Text = value.ToString(); + break; + case 7: + total_tienBanCa.Text = value.ToString(); + break; + case 8: + total_tienSuaCan.Text = value.ToString(); + break; + default: + break; + } + } + } + + public void setNullSummaryTotal(string auto_id) + { + if (Config._id == auto_id) + { + total_quangCan.Text = "0"; + total_boQuaCa.Text = "0"; + total_dutDay.Text = "0"; + total_cauLoi.Text = "0"; + total_soCa.Text = "0"; + total_doTaiChe.Text = "0"; + total_tienBanCa.Text = "0"; + total_tienSuaCan.Text = "0"; + } + } + + public void setSummaryTotalCurent(string _id) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == _id); + total_quangCan.Text = AutoValue.summaryTotal.quangCan.ToString(); + total_boQuaCa.Text = AutoValue.summaryTotal.boQuaCa.ToString(); + total_dutDay.Text = AutoValue.summaryTotal.dutDay.ToString(); + total_cauLoi.Text = AutoValue.summaryTotal.cauLoi.ToString(); + total_soCa.Text = AutoValue.summaryTotal.soCa.ToString(); + total_doTaiChe.Text = AutoValue.summaryTotal.doTaiChe.ToString(); + total_tienBanCa.Text = AutoValue.summaryTotal.tienBanCa.ToString(); + total_tienSuaCan.Text = AutoValue.summaryTotal.tienSuaCan.ToString(); + } + + public void setTime(string auto_id) + { + if (Config._id == auto_id) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == auto_id); + total_Hour.Text = String.Format("{0:00}", AutoValue.totalTime.hour); + total_Minute.Text = String.Format("{0:00}", AutoValue.totalTime.minute); + total_Second.Text = String.Format("{0:00}", AutoValue.totalTime.second); + } + } + + public void initTotalSummaryFish() + { + int count1 = AutoValue.summaryFish.Where(x => x.level == 1).ToList().Count; + int count2 = AutoValue.summaryFish.Where(x => x.level == 2).ToList().Count; + int count3 = AutoValue.summaryFish.Where(x => x.level == 3).ToList().Count; + int count4 = AutoValue.summaryFish.Where(x => x.level == 4).ToList().Count; + tb_TotalFish1.Text = count1.ToString(); + tb_TotalFish2.Text = count2.ToString(); + tb_TotalFish3.Text = count3.ToString(); + tb_TotalFish4.Text = count4.ToString(); + } + + public void updateTotalSummaryFish(int level, string auto_id) + { + if (Config._id == auto_id) + { + int count = AutoValue.summaryFish.Where(x => x.level == level).ToList().Count; + switch (level) + { + case 1: + tb_TotalFish1.Text = count.ToString(); + break; + case 2: + tb_TotalFish2.Text = count.ToString(); + break; + case 3: + tb_TotalFish3.Text = count.ToString(); + break; + case 4: + tb_TotalFish4.Text = count.ToString(); + break; + } + } + } + + public void refreshTotalSummaryFish() + { + tb_TotalFish1.Text = "0"; + tb_TotalFish2.Text = "0"; + tb_TotalFish3.Text = "0"; + tb_TotalFish4.Text = "0"; + } + + public void sortChange(string auto_id, int typeSort, int typeSelect) + { + if (Config._id == auto_id) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == auto_id); + sortDown_STT.Opacity = AutoValue.summaryFishSort.sortSTT == 1 ? 1 : 0.5; + sortUp_STT.Opacity = AutoValue.summaryFishSort.sortSTT == 2 ? 1 : 0.5; + sortDown_Money.Opacity = AutoValue.summaryFishSort.sortMoney == 1 ? 1 : 0.5; + sortUp_Money.Opacity = AutoValue.summaryFishSort.sortMoney == 2 ? 1 : 0.5; + sortDown_Shadow.Opacity = AutoValue.summaryFishSort.sortShadow == 1 ? 1 : 0.5; + sortUp_Shadow.Opacity = AutoValue.summaryFishSort.sortShadow == 2 ? 1 : 0.5; + + int valueSort = 9; + int valueSelect = 9; + + + + if (typeSelect == 2) + { + valueSelect = AutoValue.summaryFishSort.sortLevel; + if(valueSelect != -1) + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFish.Where(x => x.level == valueSelect).ToList(); + } else + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFish; + } + } + else if (typeSelect == 4) + { + valueSelect = AutoValue.summaryFishSort.sortSize; + if(valueSelect != 0) + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFish.Where(x => x.size == valueSelect).ToList(); + } else + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFish; + } + } + + if (typeSort == 1) + { + valueSort = AutoValue.summaryFishSort.sortSTT; + if(valueSort == 0 || valueSort == 1) + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFishSort.listSort.OrderByDescending(item => item.stt).ToList(); + } else if (valueSort == 2) + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFishSort.listSort.OrderBy(item => item.stt).ToList(); + } + } else if (typeSort == 3) + { + valueSort = AutoValue.summaryFishSort.sortMoney; + if (valueSort == 1) + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFishSort.listSort.OrderByDescending(item => item.money).ToList(); + } + else if (valueSort == 2) + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFishSort.listSort.OrderBy(item => item.money).ToList(); + } + } else if (typeSort == 5) + { + valueSort = AutoValue.summaryFishSort.sortShadow; + if (valueSort == 1) + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFishSort.listSort.OrderByDescending(item => item.shadow).ToList(); + } + else if (valueSort == 2) + { + AutoValue.summaryFishSort.listSort = AutoValue.summaryFishSort.listSort.OrderBy(item => item.shadow).ToList(); + } + } + int totalPage = AutoValue.summaryFishSort.listSort.Count % 10 > 0 ? AutoValue.summaryFishSort.listSort.Count / 10 + 1 : AutoValue.summaryFishSort.listSort.Count / 10; + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.Totalpage = totalPage); + tb_pageSummaryFish.Text = AutoValue.summaryFishSort.page.ToString(); + AutoValue.summaryFishSort.listSort = AutoValue.summaryFishSort.listSort.Skip((AutoValue.summaryFishSort.page - 1) * 10).Take(10).ToList(); + if(AutoValue.summaryFishSort.listSort.Count > 0) + { + ic_SummaryFish.ItemsSource = AutoValue.summaryFishSort.listSort; + ic_SummaryFish.Items.Refresh(); + ic_SummaryFish.Visibility = Visibility.Visible; + action_Sort.Visibility = Visibility.Visible; + action_Sort.Height = Double.NaN; + action_Sort.Margin = new Thickness(0, 10, 0, 2); + paging_ListFish.Visibility = Visibility.Visible; + notFoundSortData.Visibility = Visibility.Hidden; + } else + { + ic_SummaryFish.ItemsSource = AutoValue.summaryFishSort.listSort; + ic_SummaryFish.Items.Refresh(); + ic_SummaryFish.Visibility = Visibility.Hidden; + if(AutoValue.summaryFish.Count > 0) + { + action_Sort.Visibility = Visibility.Visible; + action_Sort.Height = Double.NaN; + action_Sort.Margin = new Thickness(0, 10, 0, 2); + } else + { + action_Sort.Visibility = Visibility.Hidden; + action_Sort.Height = 0; + action_Sort.Margin = new Thickness(0, 0, 0, 2); + } + paging_ListFish.Visibility = Visibility.Hidden; + notFoundSortData.Visibility = Visibility.Visible; + } + } + } + + private void changeSortSTT(object sender, MouseButtonEventArgs e) + { + int sortNextValue = 0; + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + if (AutoValue.summaryFishSort.sortSTT == 1) + { + sortNextValue = 2; + } else if (AutoValue.summaryFishSort.sortSTT == 2) + { + sortNextValue = 1; + } else if (AutoValue.summaryFishSort.sortSTT == 0) + { + sortNextValue = 2; + } + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortSTT = sortNextValue); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.typeSort = 1); + + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortMoney = 0); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortShadow = 0); + sortChange(Config._id, 1, AutoValue.summaryFishSort.typeSelect); + } + + // Init danh sách level + public void updateListLevel(int index) + { + listLevel = itemSelectLevel._LevelList; + cb_SelectLevel.ItemsSource = listLevel; + cb_SelectLevel.Items.Refresh(); + cb_SelectLevel.SelectedIndex = index; + } + + private void changeLevelSelect(object sender, SelectionChangedEventArgs e) + { + itemSelectLevel level = cb_SelectLevel.SelectedItem as itemSelectLevel; + if (Auto._ListAuto.Count > 0 && level != null) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + if (AutoValue.summaryFishSort.sortLevel != level.value) + { + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortLevel = level.value); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.typeSelect = 2); + + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortSize = 0); + cb_SelectSize.SelectedIndex = 0; + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.page = 1); + sortChange(Config._id, AutoValue.summaryFishSort.typeSort, 2); + Debug.WriteLine(level.label); + } + } + } + + private void changeSortMoney(object sender, MouseButtonEventArgs e) + { + int sortNextValue = 0; + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + if(AutoValue.summaryFishSort.sortMoney == 0) + { + sortNextValue = 1; + } else if (AutoValue.summaryFishSort.sortMoney == 1) + { + sortNextValue = 2; + } else if (AutoValue.summaryFishSort.sortMoney == 2) + { + sortNextValue = 0; + } + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortMoney = sortNextValue); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.typeSort = 3); + + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortSTT = 0); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortShadow = 0); + sortChange(Config._id, 3, AutoValue.summaryFishSort.typeSelect); + } + + + + // Init danh sách size + public void updateListSize(int index) + { + listSize = itemSelectSize._SizeList; + cb_SelectSize.ItemsSource = listSize; + cb_SelectSize.Items.Refresh(); + cb_SelectSize.SelectedIndex = index; + } + + private void changeSizeSelect(object sender, SelectionChangedEventArgs e) + { + itemSelectSize size = cb_SelectSize.SelectedItem as itemSelectSize; + if (Auto._ListAuto.Count > 0 && size != null) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + if (AutoValue.summaryFishSort.sortSize != size.value) + { + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortSize = size.value); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.typeSelect = 4); + + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortLevel = -1); + cb_SelectLevel.SelectedIndex = 0; + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.page = 1); + sortChange(Config._id, AutoValue.summaryFishSort.typeSort, 4); + Debug.WriteLine(size.label); + } + } + } + + private void changeSortShadow(object sender, MouseButtonEventArgs e) + { + int sortNextValue = 0; + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + if (AutoValue.summaryFishSort.sortShadow == 0) + { + sortNextValue = 1; + } + else if (AutoValue.summaryFishSort.sortShadow == 1) + { + sortNextValue = 2; + } + else if (AutoValue.summaryFishSort.sortShadow == 2) + { + sortNextValue = 0; + } + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortShadow = sortNextValue); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.typeSort = 5); + + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortSTT = 0); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortMoney = 0); + sortChange(Config._id, 5, AutoValue.summaryFishSort.typeSelect); + } + + private void sort_PrevPage(object sender, MouseButtonEventArgs e) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + int currentPage = AutoValue.summaryFishSort.page; + if (currentPage > 1) + { + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.page = currentPage - 1); + sortChange(Config._id, AutoValue.summaryFishSort.typeSort, AutoValue.summaryFishSort.typeSelect); + tb_pageSummaryFish.Text = (currentPage - 1).ToString(); + } + } + + private void sort_NextPage(object sender, MouseButtonEventArgs e) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + int currentPage = AutoValue.summaryFishSort.page; + if (currentPage < AutoValue.summaryFishSort.Totalpage) + { + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.page = currentPage + 1); + sortChange(Config._id, AutoValue.summaryFishSort.typeSort, AutoValue.summaryFishSort.typeSelect); + tb_pageSummaryFish.Text = (currentPage + 1).ToString(); + } + } + + private void startChangeSortPage(object sender, RoutedEventArgs e) + { + TextboxIsBeingChanged = true; + } + + private void changeSortPage(object sender, RoutedEventArgs e) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + TextboxIsBeingChanged = false; + TextBox textbox = (sender as TextBox); + if (textbox.Text == "" || Int32.Parse(textbox.Text) > AutoValue.summaryFishSort.Totalpage || Int32.Parse(textbox.Text) < 1) + { + textbox.Text = AutoValue.summaryFishSort.page.ToString(); + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi chuyển trang thống kê", content = "Số trang không hợp lệ", type = "error", timeStrat = DateTime.Now }; + } + else + { + int page = Int32.Parse(textbox.Text); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.page = page); + sortChange(Config._id, AutoValue.summaryFishSort.typeSort, AutoValue.summaryFishSort.typeSelect); + } + } + + // Xoá dữ liệu thống kê + + private void click_RemoveSummary(object sender, MouseButtonEventArgs e) + { + DialogResult result = CMessageBox.Show("Xác nhận làm mới dữ liệu thống kê", "Bạn có muốn làm mới dữ liệu thống kê không? việc này sẽ xoá toàn bộ dữ liệu thống kê hiện tại", "Làm mới", "Đóng"); + if (result == System.Windows.Forms.DialogResult.Yes) + { + Debug.WriteLine("Làm mới"); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort = new SummaryFishSort()); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.page = 1); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortSTT = 0); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortMoney = 0); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortShadow = 0); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortLevel = -1); + cb_SelectLevel.SelectedIndex = 0; + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFishSort.sortSize = 0); + cb_SelectSize.SelectedIndex = 0; + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryTotal = new SummaryTotal(0, 0, 0, 0, 0, 0, 0, 0)); + setNullSummaryTotal(Config._id); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.summaryFish = new List()); + sortChange(Config._id, 1, 2); + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.totalTime = new SummaryTotalTime()); + refreshTotalSummaryFish(); + + new Notification() { id = Guid.NewGuid().ToString(), title = "Làm mới thống kê thành công", content = "Dữ liệu thống kê đã được làm mới, các dữ liệu trước đó đã bị xoá bỏ", type = "success", timeStrat = DateTime.Now }; + + } + } + + public void getTimeGame() + { + var moment = DateTime.Now; + Debug.WriteLine(moment.Minute); + Debug.WriteLine(moment.Second); + int minute = moment.Minute >= 30 ? moment.Minute - 30 : moment.Minute; + int totalSecond = minute * 60 + moment.Second; + + Debug.WriteLine(totalSecond); + hourGame = totalSecond / 75; + hourGame = hourGame > 12 ? hourGame - 12 : hourGame; + sessionGame = hourGame > 12 ? "PM" : "AM"; + minuteGame = (int)((totalSecond % 75) / 1.25); + + int totalMinuteGame = (int)(totalSecond / 1.25); + setTimeGame(totalMinuteGame); + + Debug.WriteLine(hourGame); + Debug.WriteLine(minuteGame); + } + + public void setTimeGame(int totalMinute) + { + Task setTime = new Task(() => + { + while (true) + { + totalMinute++; + if (totalMinute == 1440) + { + totalMinute = 1; + } + totalMinuteGame = totalMinute; + hourGame = totalMinute / 60; + hourGame = hourGame > 12 ? hourGame - 12 : hourGame; + if (totalMinute >= 720) + { + sessionGame = "PM"; + } else + { + sessionGame = "AM"; + } + + minuteGame = totalMinute % 60; + //Debug.WriteLine(totalMinute); + App.Current.Dispatcher.Invoke(() => + { + try + { + if(game_Hour.Text != null) + { + game_Hour.Text = hourGame.ToString(); + game_Minute.Text = String.Format("{0:00}", minuteGame); + game_Session.Text = sessionGame; + } + } catch { } + }); + + //Debug.WriteLine(hourGame + ":" + minuteGame + " " + sessionGame); + Thread.Sleep(1250); + } + }); + setTime.Start(); + } + + private void getLocation(object sender, MouseButtonEventArgs e) + { + Task getPosition = new Task(() => + { + ConfigAuto.changeDataConfigAuto(ConfigAutoValue._id, true ? 1 : 0, "save_exclamation"); + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + App.Current.Dispatcher.Invoke(() => + { + tb_StatusGetPosition.Visibility = Visibility.Visible; + button_StopGetPosition.Visibility = Visibility.Visible; + cb_isSaveExclamation.IsChecked = true; + if (AutoValue.detect_ExclamationArea != null) + { + get_Position.Source = new BitmapImage(new Uri("pack://application:,,,/images/icon/get-location.png")); + } + }); + + Thread.Sleep(100); + Debug.WriteLine("AutoValue: " + AutoValue.isAuto); + AutoValue.controlGetPosition(); + }); + getPosition.Start(); + } + + public void updateStatusGetPosition(int statusGetPosition) + { + AutoValue = Auto._ListAuto.Single(r => r.auto_id == Config._id); + Thread.Sleep(100); + if (AutoValue.isGetPosition) + { + tb_StatusGetPosition.Visibility = Visibility.Visible; + button_StopGetPosition.Visibility = Visibility.Visible; + } else + { + tb_StatusGetPosition.Visibility = Visibility.Hidden; + button_StopGetPosition.Visibility = Visibility.Hidden; + } + if (statusGetPosition == 2) + { + get_Position.Source = new BitmapImage(new Uri("pack://application:,,,/images/icon/get-location-error.png")); + } else if (statusGetPosition == 0) + { + get_Position.Source = new BitmapImage(new Uri("pack://application:,,,/images/icon/get-location.png")); + } + else + { + get_Position.Source = AutoValue.detect_ExclamationArea.Count > 0 && AutoValue.detect_CheckSizeArea.Count > 0 ? new BitmapImage(new Uri("pack://application:,,,/images/icon/get-location-success.png")) : new BitmapImage(new Uri("pack://application:,,,/images/icon/get-location.png")); + } + } + + private void stopGetPosition(object sender, MouseButtonEventArgs e) + { + Auto._ListAuto.Where(emu => emu.auto_id == Config._id).ToList().ForEach(s => s.isGetPosition = false); + tb_StatusGetPosition.Visibility = Visibility.Hidden; + button_StopGetPosition.Visibility = Visibility.Hidden; + get_Position.Source = new BitmapImage(new Uri("pack://application:,,,/images/icon/get-location.png")); + App.Current.Dispatcher.Invoke(() => + { + setMassageNotiStep(Config._id, 0, "Đã dừng lấy toạ độ thủ công"); + }); + } + } +} diff --git a/Auto_Demo/Properties/AssemblyInfo.cs b/Auto_Demo/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f79e6a1 --- /dev/null +++ b/Auto_Demo/Properties/AssemblyInfo.cs @@ -0,0 +1,55 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// 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("Auto_Demo")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Auto_Demo")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[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)] + +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] + + +// 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/Auto_Demo/Properties/Resources.Designer.cs b/Auto_Demo/Properties/Resources.Designer.cs new file mode 100644 index 0000000..b494673 --- /dev/null +++ b/Auto_Demo/Properties/Resources.Designer.cs @@ -0,0 +1,70 @@ +//------------------------------------------------------------------------------ +// +// 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 Auto_Demo.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("Auto_Demo.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/Auto_Demo/Properties/Resources.resx b/Auto_Demo/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Auto_Demo/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/Auto_Demo/Properties/Settings.Designer.cs b/Auto_Demo/Properties/Settings.Designer.cs new file mode 100644 index 0000000..41c85b9 --- /dev/null +++ b/Auto_Demo/Properties/Settings.Designer.cs @@ -0,0 +1,29 @@ +//------------------------------------------------------------------------------ +// +// 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 Auto_Demo.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/Auto_Demo/Properties/Settings.settings b/Auto_Demo/Properties/Settings.settings new file mode 100644 index 0000000..033d7a5 --- /dev/null +++ b/Auto_Demo/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/animations/toggle_select_device.xaml b/Auto_Demo/animations/toggle_select_device.xaml new file mode 100644 index 0000000..51620ad --- /dev/null +++ b/Auto_Demo/animations/toggle_select_device.xaml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Visible + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/bin/Debug/AdbWinApi.dll b/Auto_Demo/bin/Debug/AdbWinApi.dll new file mode 100644 index 0000000..7f24e3a Binary files /dev/null and b/Auto_Demo/bin/Debug/AdbWinApi.dll differ diff --git a/Auto_Demo/bin/Debug/AdbWinUsbApi.dll b/Auto_Demo/bin/Debug/AdbWinUsbApi.dll new file mode 100644 index 0000000..e2e3811 Binary files /dev/null and b/Auto_Demo/bin/Debug/AdbWinUsbApi.dll differ diff --git a/Auto_Demo/bin/Debug/AutoItX3.dll b/Auto_Demo/bin/Debug/AutoItX3.dll new file mode 100644 index 0000000..f7b8257 Binary files /dev/null and b/Auto_Demo/bin/Debug/AutoItX3.dll differ diff --git a/Auto_Demo/bin/Debug/Auto_Demo.exe b/Auto_Demo/bin/Debug/Auto_Demo.exe new file mode 100644 index 0000000..f039b8c Binary files /dev/null and b/Auto_Demo/bin/Debug/Auto_Demo.exe differ diff --git a/Auto_Demo/bin/Debug/Auto_Demo.exe.config b/Auto_Demo/bin/Debug/Auto_Demo.exe.config new file mode 100644 index 0000000..9bacd89 --- /dev/null +++ b/Auto_Demo/bin/Debug/Auto_Demo.exe.config @@ -0,0 +1,22 @@ + + + + +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/bin/Debug/Auto_Demo.pdb b/Auto_Demo/bin/Debug/Auto_Demo.pdb new file mode 100644 index 0000000..4a8e78a Binary files /dev/null and b/Auto_Demo/bin/Debug/Auto_Demo.pdb differ diff --git a/Auto_Demo/bin/Debug/Emgu.CV.UI.dll b/Auto_Demo/bin/Debug/Emgu.CV.UI.dll new file mode 100644 index 0000000..37bf4ea Binary files /dev/null and b/Auto_Demo/bin/Debug/Emgu.CV.UI.dll differ diff --git a/Auto_Demo/bin/Debug/Emgu.CV.UI.xml b/Auto_Demo/bin/Debug/Emgu.CV.UI.xml new file mode 100644 index 0000000..ec87ce4 --- /dev/null +++ b/Auto_Demo/bin/Debug/Emgu.CV.UI.xml @@ -0,0 +1,810 @@ + + + + Emgu.CV.UI + + + + + The control that is used to display histogram + + + + + Construct a histogram control + + + + + Get the zedgraph control from this histogram control + + + + + Add a plot of the 1D histogram. You should call the Refresh() function to update the control after all modification is complete. + + The name of the histogram + The drawing color + The 1D histogram to be drawn + The size of the bin + The ranges + + + + Generate histograms for the image. One histogram is generated for each color channel. + You will need to call the Refresh function to do the painting afterward. + + The image to generate histogram from + The number of bins for each histogram + + + + Remove all the histogram from the control. You should call the Refresh() function to update the control after all modification is complete. + + + + + Paint the histogram + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + A view for histogram + + + + + A histogram viewer + + + + + Display the histograms of the specific image + + The image to retrieve histogram from + + + + Display the histograms of the specific image + + The image to retrieve histogram from + The number of bins in the histogram + + + + Get the histogram control of this viewer + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + An image box is a user control that is similar to picture box, but display Emgu CV IImage and provides enhenced functionalities. + + + + + The image that is setted throught the Image property + + + + + The image that is displayed + + + + + A cache to store the ToolStripMenuItems for different types of images + + + + + The list of operations binded to this ImageBox + + + + + Timer used for caculating the frame rate + + + + + One of the parameters used for caculating the frame rate + + + + + Create a ImageBox + + + + + Get or set the functional mode for the ImageBox + + + + + The event which will be trigerred when functional mode is changed + + + + + Set the image for this image box + + + + + The image that is being displayed. It's the Image following by some user defined image operation + + + + + Push the specific operation to the operation collection + + The operation to be pushed onto the operation collection + + + + Remove all the operations from the collection + + + + + Remove the last added operation + + + + + The functional mode for ImageBox + + + + + The ImageBox is only used for displaying image. + No right-click menu nor Pan/Zoom available + + + + + Enable the right click menu + + + + + Enable Pan and Zoom + + + + + Support for the right click menu, Pan and Zoom + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required designer variable. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The control to display image properties + + + + + Create a ImageProperty control + + + + + The parent imagebox for this property panel + + + + + Set the mouse position over the image. + It also set the color intensity of the pixel on the image where is mouse is at + + The location of the mouse on the image + + + + Set the description of the operation view + + + + + Set the frame rate + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required designer variable. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + The Image viewer that display IImage + + + + + Create an ImageViewer + + + + + Create an ImageViewer from the specific + + The image to be displayed in this viewer + + + + Create an ImageViewer from the specific , using as window name + + The image to be displayed + The name of the image + + + + Get or Set the image in this ImageViewer + + + + + Get the image box hosted in this viewer + + + + + Create a ImageViewer with the specific image and show it. + + The image to be displayed in ImageViewer + + + + Create a ImageViewer with the specific image and show it. + + The image to be displayed in ImageViewer + The name of the window + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + A control that is used to visualize a matrix + + + + + Create a MatrixBox + + + + + Get or Set the Matrix<TDepth> object; of this MatrixBox + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + A MatrixViewer that is used to visualize a matrix + + + + + Create a MatrixViewer + + + + + Get or Set the Matrix<> object; for this MatrixViewer + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + An operation contains the MethodInfo and the methods parameters. It provides a way to invoke a specific method with the specific parameters. + + + + + The MethodInfo + + + + + The parameters for this method + + + + + Create an operation using the specific method and parameters + + The method info + The parameters for this method + + + + Call the specific method with the specific parameters on the provided + + The instance to call the method + + + + + Represent this operation as a string + + + + + + Represent this operation as code + + The source code + + + + A user control to display the operations + + + + + Constructor + + + + + Set the programming language for this Operation View + + + + + Display the operations + + The operations to be displayed + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + A picture box with pan and zoom functionality + + + + + The zoom scale of the image to be displayed + + + + + The available zoom levels for the displayed image + + + + + Create a picture box with pan and zoom functionality + + + + + Get or Set the property to enable(disable) Pan and Zoom + + + + + The event to fire when the zoom scale is changed + + + + + Get or Set the interpolation mode for zooming operation + + + + + Paint the image + + The paint event + + + + Get the horizontal scroll bar from this control + + + + + Get the vertical scroll bar of this control + + + + + Used for tracking the mouse position on the image + + + + + + + Get the size of the view area + + The size of the view area + + + + Get the size of the image + + The size of the image + + + + Get the minimum of the two sizes + + The first size + The second size + The minimum of the two sizes + + + + Draw a reversible rectangle on the control. + + The rectangle using the control's coordinate system + + + + Get the rectangle defined by the two points on the control + + The first point on the control + The second point on the control + the rectangle defined by the two points + + + + Get or Set the zoom scale + + + + + Set the new zoom scale for the displayed image + + The new zoom scale + The point to be fixed, in display coordinate + + + + The dialog to ask user for parameters to the specific method + + + + + The List of parameter values + + + + + The array of parameter info + + + + + Get the parameters obtained by this parameter input dialog + + + + + Return the value of the parameter input panel, if unable to retrieve value, return null + + The value of the parameter input panel, if unable to retrieve value, return null + + + + The function used to obtain the parameter from this input panel + + + + + Get the name of the parameter + + the parameter + the name of the parameter + + + + Create a panel for the specific parameter + + the parameter to create panel for + The default value for the parameter + the panel + + + + Obtain the parameters for and put them in + + The method to Obtain parameters from + The list that will be used as the storage for the retrieved parameters, if it contains elements, those elements will be used as default value + True if successed, false otherwise + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Cancel. + + + + + Looks up a localized string similar to Count. + + + + + Looks up a localized string similar to Histogram. + + + + + Looks up a localized string similar to File. + + + + + Looks up a localized string similar to Filters. + + + + + Looks up a localized string similar to Load Image.... + + + + + Looks up a localized string similar to OK. + + + + + Looks up a localized string similar to Only 1D histogram is supported. + + + + + Looks up a localized string similar to Parameter {0} is invalid.. + + + + + Looks up a localized string similar to Parameter type '{0}' is not supported. + + + + + Looks up a localized string similar to Please load an image first. + + + + + Looks up a localized string similar to Property. + + + + + Looks up a localized string similar to Save As.... + + + + + Looks up a localized string similar to File Saving. + + + + + Looks up a localized string similar to Unknown. + + + + + Looks up a localized string similar to Un-Zoom. + + + + + Looks up a localized string similar to Value. + + + + + Looks up a localized string similar to Zoom. + + + + + Looks up a localized string similar to Zoom In. + + + + + Looks up a localized string similar to Zoom Out. + + + + + A dialog to display the property of an image + + + + + Constructor + + + + + Get the image property panel + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + diff --git a/Auto_Demo/bin/Debug/Emgu.CV.World.dll b/Auto_Demo/bin/Debug/Emgu.CV.World.dll new file mode 100644 index 0000000..9c75eb3 Binary files /dev/null and b/Auto_Demo/bin/Debug/Emgu.CV.World.dll differ diff --git a/Auto_Demo/bin/Debug/Emgu.CV.World.xml b/Auto_Demo/bin/Debug/Emgu.CV.World.xml new file mode 100644 index 0000000..3f6f817 --- /dev/null +++ b/Auto_Demo/bin/Debug/Emgu.CV.World.xml @@ -0,0 +1,36189 @@ + + + + Emgu.CV.World + + + + + Wrapped CvArr + + The type of elements in this CvArray + + + + The size of the elements in the CvArray, it is the cached value of Marshal.SizeOf(typeof(TDepth)). + + + + + The pinned GCHandle to _array; + + + + + Get or set the Compression Ratio for serialization. A number between 0 - 9. + 0 means no compression at all, while 9 means best compression + + + + + Get the size of element in bytes + + + + The pointer to the internal structure + + + + Get the size of the array + + + + + Get the width (Cols) of the cvArray. + If ROI is set, the width of the ROI + + + + + Get the height (Rows) of the cvArray. + If ROI is set, the height of the ROI + + + + + Get the number of channels of the array + + + + + The number of rows for this array + + + + + The number of cols for this array + + + + + Get or Set an Array of bytes that represent the data in this array + + Should only be used for serialization & deserialization + + + + Get the underneath managed array + + + + + Allocate data for the array + + The number of rows + The number of columns + The number of channels of this cvArray + + + + Sum of diagonal elements of the matrix + + + + + The norm of this Array + + + + + Calculates and returns the Euclidean dot product of two arrays. + src1 dot src2 = sumI(src1(I)*src2(I)) + + In case of multiple channel arrays the results for all channels are accumulated. In particular, cvDotProduct(a,a), where a is a complex vector, will return ||a||^2. The function can process multi-dimensional arrays, row by row, layer by layer and so on. + The other Array to apply dot product with + src1 dot src2 + + + + Check that every array element is neither NaN nor +- inf. The functions also check that each value + is between and . in the case of multi-channel arrays each channel is processed + independently. If some values are out of range, position of the first outlier is stored in pos, + and then the functions return false. + + The inclusive lower boundary of valid values range + The exclusive upper boundary of valid values range + This will be filled with the position of the first outlier + True if all values are in range + + + + Reduces matrix to a vector by treating the matrix rows/columns as a set of 1D vectors and performing the specified operation on the vectors until a single row/column is obtained. + + + The function can be used to compute horizontal and vertical projections of an raster image. + In case of CV_REDUCE_SUM and CV_REDUCE_AVG the output may have a larger element bit-depth to preserve accuracy. + And multi-channel arrays are also supported in these two reduction modes + + The destination single-row/single-column vector that accumulates somehow all the matrix rows/columns + The dimension index along which the matrix is reduce. + The reduction operation type + The type of depth of the reduced array + + + + Copy the current array to + + The destination Array + + + + Set the element of the Array to , using the specific + + The value to be set + The mask for the operation + + + + Set the element of the Array to , using the specific + + The value to be set + The mask for the operation + + + + Inplace fills Array with uniformly distributed random numbers + + the inclusive lower boundary of random numbers range + the exclusive upper boundary of random numbers range + + + + Inplace fills Array with normally distributed random numbers + + The mean value of random numbers + The standard deviation of random numbers + + + + Initializes scaled identity matrix + + The value on the diagonal + + + + Set the values to zero + + + + + Initialize the identity matrix + + + + + Inplace multiply elements of the Array by + + The scale to be multiplyed + + + + Inplace elementwise multiply the current Array with + + The other array to be elementwise multiplied with + + + + Free the _dataHandle if it is set + + + + + Inplace compute the elementwise minimum value + + The value to compare with + + + + Inplace elementwise minimize the current Array with + + The other array to be elementwise minimized with this array + + + + Inplace compute the elementwise maximum value with + + The value to be compare with + + + + Inplace elementwise maximize the current Array with + + The other array to be elementwise maximized with this array + + + + Inplace And operation with + + The other array to perform AND operation + + + + Inplace Or operation with + + The other array to perform OR operation + + + + Inplace compute the complement for all array elements + + + + + Save the CvArray as image + + The name of the image to save + + + + Get the xml schema + + The xml schema + + + + Function to call when deserializing this object from XML + + The xml reader + + + + Function to call when serializing this object to XML + + The xml writer + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + A function used for runtime deserailization of the object + + Serialization info + Streaming context + + + + The Mat header that represent this CvArr + + + + + Get the Mat header that represent this CvArr + + + + + The unmanaged pointer to the input array. + + The input array + + + + The unmanaged pointer to the output array. + + The output array + + + + The unmanaged pointer to the input output array. + + The input output array + + + + Get the umat representation of this mat + + The UMat + + + + Wrapper for cv::String. This class support UTF-8 chars. + + + + + Create a CvString from System.String + + The System.String object to be converted to CvString + + + + Create an empty CvString + + + + + Get the string representation of the CvString + + The string representation of the CvString + + + + Gets the length of the string + + + The length of the string + + + + + Release all the unmanaged resource associated with this object. + + + + + Class that provide access to native OpenCV functions + + + + + Release the InputArray + + Pointer to the input array + + + + Release the input / output array + + Pointer to the input output array + + + + Release the input / output array + + Pointer to the input / output array + + + + Returns list of all builtin backends + + + + + Returns list of available backends which works via cv::VideoCapture(int index) + + + + + Returns list of available backends which works via cv::VideoCapture(filename) + + + + + Returns list of available backends which works via cv::VideoWriter() + + + + + Creates video writer structure. + + Name of the output video file. + 4-character code of codec used to compress the frames. For example, CV_FOURCC('P','I','M','1') is MPEG-1 codec, CV_FOURCC('M','J','P','G') is motion-jpeg codec etc. + Framerate of the created video stream. + Size of video frames. + If != 0, the encoder will expect and encode color frames, otherwise it will work with grayscale frames + The video writer + + + + Finishes writing to video file and releases the structure. + + pointer to video file writer structure + + + + Writes/appends one frame to video file. + + video writer structure. + the written frame + True on success, false otherwise + + + + Check to make sure all the unmanaged libraries are loaded + + True if library loaded + + + + string marshaling type + + + + + Represent a bool value in C++ + + + + + Represent a int value in C++ + + + + + Opencv's calling convention + + + + + Attempts to load opencv modules from the specific location + + The directory where the unmanaged modules will be loaded. If it is null, the default location will be used. + The names of opencv modules. e.g. "opencv_cxcore.dll" on windows. + True if all the modules has been loaded successfully + If is null, the default location on windows is the dll's path appended by either "x64" or "x86", depends on the applications current mode. + + + + Get the module format string. + + On Windows, "{0}".dll will be returned; On Linux, "lib{0}.so" will be returned; Otherwise {0} is returned. + + + + Attempts to load opencv modules from the specific location + + The names of opencv modules. e.g. "opencv_cxcore.dll" on windows. + True if all the modules has been loaded successfully + + + + Static Constructor to setup opencv environment + + + + + Get the corresponding depth type + + The opencv depth type + The equivalent depth type + + + + Get the corresponding opencv depth type + + The element type + The equivalent opencv depth type + + + + This function performs the same as MakeType macro + + The type of depth + The number of channels + An interger tha represent a mat type + + + + Check if the size of the C structures match those of C# + + True if the size matches + + + + Finds perspective transformation H=||h_ij|| between the source and the destination planes + + Point coordinates in the original plane + Point coordinates in the destination plane + FindHomography method + + The maximum allowed reprojection error to treat a point pair as an inlier. + The parameter is only used in RANSAC-based homography estimation. + E.g. if dst_points coordinates are measured in pixels with pixel-accurate precision, it makes sense to set this parameter somewhere in the range ~1..3 + + Optional output mask set by a robust method ( CV_RANSAC or CV_LMEDS ). Note that the input mask values are ignored. + The 3x3 homography matrix if found. Null if not found. + + + + Finds perspective transformation H=||hij|| between the source and the destination planes + + Point coordinates in the original plane, 2xN, Nx2, 3xN or Nx3 array (the latter two are for representation in homogeneous coordinates), where N is the number of points. + Point coordinates in the destination plane, 2xN, Nx2, 3xN or Nx3 array (the latter two are for representation in homogeneous coordinates) + The type of the method + The maximum allowed re-projection error to treat a point pair as an inlier. The parameter is only used in RANSAC-based homography estimation. E.g. if dst_points coordinates are measured in pixels with pixel-accurate precision, it makes sense to set this parameter somewhere in the range ~1..3 + The optional output mask set by a robust method (RANSAC or LMEDS). + Output 3x3 homography matrix. Homography matrix is determined up to a scale, thus it is normalized to make h33=1 + + + + Converts a rotation vector to rotation matrix or vice versa. Rotation vector is a compact representation of rotation matrix. Direction of the rotation vector is the rotation axis and the length of the vector is the rotation angle around the axis. + + The input rotation vector (3x1 or 1x3) or rotation matrix (3x3). + The output rotation matrix (3x3) or rotation vector (3x1 or 1x3), respectively + Optional output Jacobian matrix, 3x9 or 9x3 - partial derivatives of the output array components w.r.t the input array components + + + + Calculates an essential matrix from the corresponding points in two images. + + Array of N (N >= 5) 2D points from the first image. The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1 + Camera matrix K=[[fx 0 cx][0 fy cy][0 0 1]]. Note that this function assumes that points1 and points2 are feature points from cameras with the same camera matrix. + Method for computing a fundamental matrix. RANSAC for the RANSAC algorithm. LMEDS for the LMedS algorithm + Parameter used for the RANSAC or LMedS methods only. It specifies a desirable level of confidence (probability) that the estimated matrix is correct. + Parameter used for RANSAC. It is the maximum distance from a point to an epipolar line in pixels, beyond which the point is considered an outlier and is not used for computing the final fundamental matrix. It can be set to something like 1-3, depending on the accuracy of the point localization, image resolution, and the image noise. + Output array of N elements, every element of which is set to 0 for outliers and to 1 for the other points. The array is computed only in the RANSAC and LMedS methods. + The essential mat + + + + Calculates fundamental matrix using one of four methods listed above and returns the number of fundamental matrices found (1 or 3) and 0, if no matrix is found. + + Array of N points from the first image. The point coordinates should be floating-point (single or double precision). + Array of the second image points of the same size and format as points1 + Method for computing the fundamental matrix + Parameter used for RANSAC. It is the maximum distance from a point to an epipolar line in pixels, beyond which the point is considered an outlier and is not used for computing the final fundamental matrix. It can be set to something like 1-3, depending on the accuracy of the point localization, image resolution, and the image noise. + Parameter used for the RANSAC or LMedS methods only. It specifies a desirable level of confidence (probability) that the estimated matrix is correct. + The optional pointer to output array of N elements, every element of which is set to 0 for outliers and to 1 for the "inliers", i.e. points that comply well with the estimated epipolar geometry. The array is computed only in RANSAC and LMedS methods. For other methods it is set to all 1. + The calculated fundamental matrix + + + + For every point in one of the two images of stereo-pair the function cvComputeCorrespondEpilines finds equation of a line that contains the corresponding point (i.e. projection of the same 3D point) in the other image. Each line is encoded by a vector of 3 elements l=[a,b,c]^T, so that: + l^T*[x, y, 1]^T=0, or + a*x + b*y + c = 0 + From the fundamental matrix definition (see cvFindFundamentalMatrix discussion), line l2 for a point p1 in the first image (which_image=1) can be computed as: + l2=F*p1 and the line l1 for a point p2 in the second image (which_image=1) can be computed as: + l1=F^T*p2Line coefficients are defined up to a scale. They are normalized (a2+b2=1) are stored into correspondent_lines + + The input points. 2xN, Nx2, 3xN or Nx3 array (where N number of points). Multi-channel 1xN or Nx1 array is also acceptable. + Index of the image (1 or 2) that contains the points + Fundamental matrix + Computed epilines, 3xN or Nx3 array + + + + Converts points from Euclidean to homogeneous space. + + Input vector of N-dimensional points. + Output vector of N+1-dimensional points. + + + + Converts points from homogeneous to Euclidean space. + + Input vector of N-dimensional points. + Output vector of N-1-dimensional points. + + + + Transforms 1-channel disparity map to 3-channel image, a 3D surface. + + Disparity map + 3-channel, 16-bit integer or 32-bit floating-point image - the output map of 3D points + The reprojection 4x4 matrix, can be arbitrary, e.g. the one, computed by cvStereoRectify + Indicates, whether the function should handle missing values (i.e. points where the disparity was not computed). + If handleMissingValues=true, then pixels with the minimal disparity that corresponds to the outliers (see StereoMatcher::compute ) + are transformed to 3D points with a very large Z value (currently set to 10000). + The optional output array depth. If it is -1, the output image will have CV_32F depth. ddepth can also be set to CV_16S, CV_32S or CV_32F. + + + + Returns the new camera matrix based on the free scaling parameter. + + Input camera matrix. + Input vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6[,s1,s2,s3,s4[,?x,?y]]]]) of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. + Original image size. + Free scaling parameter between 0 (when all the pixels in the undistorted image are valid) and 1 (when all the source image pixels are retained in the undistorted image). + Image size after rectification. By default,it is set to imageSize . + output rectangle that outlines all-good-pixels region in the undistorted image. + indicates whether in the new camera matrix the principal point should be at the image center or not. By default, the principal point is chosen to best fit a subset of the source image (determined by alpha) to the corrected image. + The new camera matrix based on the free scaling parameter. + + + + Finds an initial camera matrix from 3D-2D point correspondences. + + Vector of vectors of the calibration pattern points in the calibration pattern coordinate space. + Vector of vectors of the projections of the calibration pattern points. + Image size in pixels used to initialize the principal point. + If it is zero or negative, both fx and fy are estimated independently. Otherwise, fx=fy*aspectRatio. + An initial camera matrix for the camera calibration process. + Currently, the function only supports planar calibration patterns, which are patterns where each object point has z-coordinate =0. + + + + Computes projections of 3D points to the image plane given intrinsic and extrinsic camera parameters. + Optionally, the function computes jacobians - matrices of partial derivatives of image points as functions of all the input parameters w.r.t. the particular parameters, intrinsic and/or extrinsic. + The jacobians are used during the global optimization in cvCalibrateCamera2 and cvFindExtrinsicCameraParams2. + The function itself is also used to compute back-projection error for with current intrinsic and extrinsic parameters. + + Note, that with intrinsic and/or extrinsic parameters set to special values, the function can be used to compute just extrinsic transformation or just intrinsic transformation (i.e. distortion of a sparse set of points) + The array of object points. + The rotation vector, 1x3 or 3x1 + The translation vector, 1x3 or 3x1 + The camera matrix (A) [fx 0 cx; 0 fy cy; 0 0 1]. + The vector of distortion coefficients, 4x1 or 1x4 [k1, k2, p1, p2]. If it is IntPtr.Zero, all distortion coefficients are considered 0's + The output array of image points, 2xN or Nx2, where N is the total number of points in the view + Aspect ratio + Optional output 2Nx(10+<numDistCoeffs>) jacobian matrix of derivatives of image points with respect to components of the rotation vector, translation vector, focal lengths, coordinates of the principal point and the distortion coefficients. In the old interface different components of the jacobian are returned via different output parameters. + The array of image points which is the projection of + + + + Computes projections of 3D points to the image plane given intrinsic and extrinsic camera parameters. Optionally, the function computes jacobians - matrices of partial derivatives of image points as functions of all the input parameters w.r.t. the particular parameters, intrinsic and/or extrinsic. The jacobians are used during the global optimization in cvCalibrateCamera2 and cvFindExtrinsicCameraParams2. The function itself is also used to compute back-projection error for with current intrinsic and extrinsic parameters. + Note, that with intrinsic and/or extrinsic parameters set to special values, the function can be used to compute just extrinsic transformation or just intrinsic transformation (i.e. distortion of a sparse set of points). + + The array of object points, 3xN or Nx3, where N is the number of points in the view + The rotation vector, 1x3 or 3x1 + The translation vector, 1x3 or 3x1 + The camera matrix (A) [fx 0 cx; 0 fy cy; 0 0 1]. + The vector of distortion coefficients, 4x1 or 1x4 [k1, k2, p1, p2]. If it is IntPtr.Zero, all distortion coefficients are considered 0's + The output array of image points, 2xN or Nx2, where N is the total number of points in the view + Aspect ratio + Optional output 2Nx(10+<numDistCoeffs>) jacobian matrix of derivatives of image points with respect to components of the rotation vector, translation vector, focal lengths, coordinates of the principal point and the distortion coefficients. In the old interface different components of the jacobian are returned via different output parameters. + + + + Estimates intrinsic camera parameters and extrinsic parameters for each of the views + + The 3D location of the object points. The first index is the index of image, second index is the index of the point + The 2D image location of the points. The first index is the index of the image, second index is the index of the point + The size of the image, used only to initialize intrinsic camera matrix + The output 3xM or Mx3 array of rotation vectors (compact representation of rotation matrices, see cvRodrigues2). + The output 3xM or Mx3 array of translation vectors/// cCalibration type + The termination criteria + The output camera matrix (A) [fx 0 cx; 0 fy cy; 0 0 1]. If CV_CALIB_USE_INTRINSIC_GUESS and/or CV_CALIB_FIX_ASPECT_RATION are specified, some or all of fx, fy, cx, cy must be initialized + The output 4x1 or 1x4 vector of distortion coefficients [k1, k2, p1, p2] + The final reprojection error + + + + Estimates intrinsic camera parameters and extrinsic parameters for each of the views + + The joint matrix of object points, 3xN or Nx3, where N is the total number of points in all views + The joint matrix of corresponding image points, 2xN or Nx2, where N is the total number of points in all views + Size of the image, used only to initialize intrinsic camera matrix + The output camera matrix (A) [fx 0 cx; 0 fy cy; 0 0 1]. If CV_CALIB_USE_INTRINSIC_GUESS and/or CV_CALIB_FIX_ASPECT_RATION are specified, some or all of fx, fy, cx, cy must be initialized + The output 4x1 or 1x4 vector of distortion coefficients [k1, k2, p1, p2] + The output 3xM or Mx3 array of rotation vectors (compact representation of rotation matrices, see cvRodrigues2). + The output 3xM or Mx3 array of translation vectors + Different flags + The termination criteria + The final reprojection error + + + + Computes various useful camera (sensor/lens) characteristics using the computed camera calibration matrix, image frame resolution in pixels and the physical aperture size + + The matrix of intrinsic parameters + Image size in pixels + Aperture width in real-world units (optional input parameter). Set it to 0 if not used + Aperture width in real-world units (optional input parameter). Set it to 0 if not used + Field of view angle in x direction in degrees + Field of view angle in y direction in degrees + Focal length in real-world units + The principal point in real-world units + The pixel aspect ratio ~ fy/f + + + + Estimates extrinsic camera parameters using known intrinsic parameters and extrinsic parameters for each view. The coordinates of 3D object points and their correspondent 2D projections must be specified. This function also minimizes back-projection error. + + The array of object points + The array of corresponding image points + The camera matrix (A) [fx 0 cx; 0 fy cy; 0 0 1]. + The vector of distortion coefficients, 4x1 or 1x4 [k1, k2, p1, p2]. If it is IntPtr.Zero, all distortion coefficients are considered 0's. + The output 3x1 or 1x3 rotation vector (compact representation of a rotation matrix, see cvRodrigues2). + The output 3x1 or 1x3 translation vector + Use the input rotation and translation parameters as a guess + Method for solving a PnP problem + True if successful + + + + Estimates extrinsic camera parameters using known intrinsic parameters and extrinsic parameters for each view. The coordinates of 3D object points and their correspondent 2D projections must be specified. This function also minimizes back-projection error + + The array of object points, 3xN or Nx3, where N is the number of points in the view + The array of corresponding image points, 2xN or Nx2, where N is the number of points in the view + The camera matrix (A) [fx 0 cx; 0 fy cy; 0 0 1]. + The vector of distortion coefficients, 4x1 or 1x4 [k1, k2, p1, p2]. If it is IntPtr.Zero, all distortion coefficients are considered 0's. + The output 3x1 or 1x3 rotation vector (compact representation of a rotation matrix, see cvRodrigues2). + The output 3x1 or 1x3 translation vector + Use the input rotation and translation parameters as a guess + Method for solving a PnP problem + True if successful + + + + Finds an object pose from 3D-2D point correspondences using the RANSAC scheme. + + Array of object points in the object coordinate space, 3xN/Nx3 1-channel or 1xN/Nx1 3-channel, where N is the number of points. VectorOfPoint3D32f can be also passed here. + Array of corresponding image points, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel, where N is the number of points. VectorOfPointF can be also passed here. + Input camera matrix + Input vector of distortion coefficients of 4, 5, 8 or 12 elements. If the vector is null/empty, the zero distortion coefficients are assumed. + Output rotation vector + Output translation vector. + If true, the function uses the provided rvec and tvec values as initial approximations of the rotation and translation vectors, respectively, and further optimizes them. + Number of iterations. + Inlier threshold value used by the RANSAC procedure. The parameter value is the maximum allowed distance between the observed and computed point projections to consider it an inlier. + The probability that the algorithm produces a useful result. + Output vector that contains indices of inliers in objectPoints and imagePoints . + Method for solving a PnP problem + True if successful + + + + Finds an object pose from 3 3D-2D point correspondences. + + Array of object points in the object coordinate space, 3x3 1-channel or 1x3/3x1 3-channel. VectorOfPoint3f can be also passed here. + Array of corresponding image points, 3x2 1-channel or 1x3/3x1 2-channel. VectorOfPoint2f can be also passed here. + Input camera matrix A=[[fx 0 0] [0 fy 0] [cx cy 1]] . + Input vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6[,s1,s2,s3,s4[,τx,τy]]]]) of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. + Output rotation vectors (see Rodrigues ) that, together with tvecs , brings points from the model coordinate system to the camera coordinate system. A P3P problem has up to 4 solutions. + Output translation vectors. + Method for solving a P3P problem: either P3P or AP3P + Number of solutions + + + + Refine a pose (the translation and the rotation that transform a 3D point expressed in the object coordinate frame to the camera coordinate frame) from a 3D-2D point correspondences and starting from an initial solution + + Array of object points in the object coordinate space, Nx3 1-channel or 1xN/Nx1 3-channel, where N is the number of points. VectorOfPoint3f can also be passed here. + Array of corresponding image points, Nx2 1-channel or 1xN/Nx1 2-channel, where N is the number of points. VectorOfPoint2f can also be passed here. + Input camera matrix A=[[fx,0,0],[0,fy,0][cx,cy,1]]. + Input vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6[,s1,s2,s3,s4[,τx,τy]]]]) of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. + Input/Output rotation vector (see Rodrigues ) that, together with tvec, brings points from the model coordinate system to the camera coordinate system. Input values are used as an initial solution. + Input/Output translation vector. Input values are used as an initial solution. + Criteria when to stop the Levenberg-Marquard iterative algorithm. + + + + Refine a pose (the translation and the rotation that transform a 3D point expressed in the object coordinate frame to the camera coordinate frame) from a 3D-2D point correspondences and starting from an initial solution. + + Array of object points in the object coordinate space, Nx3 1-channel or 1xN/Nx1 3-channel, where N is the number of points. VectorOfPoint3f can also be passed here. + Array of corresponding image points, Nx2 1-channel or 1xN/Nx1 2-channel, where N is the number of points. VectorOfPoint2f can also be passed here. + Input camera matrix A=[[fx,0,0],[0,fy,0][cx,cy,1]]. + Input vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6[,s1,s2,s3,s4[,τx,τy]]]]) of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. + Input/Output rotation vector (see Rodrigues ) that, together with tvec, brings points from the model coordinate system to the camera coordinate system. Input values are used as an initial solution. + Input/Output translation vector. Input values are used as an initial solution. + Criteria when to stop the Levenberg-Marquard iterative algorithm. + Gain for the virtual visual servoing control law, equivalent to the α gain in the Damped Gauss-Newton formulation. + + + + Finds an object pose from 3D-2D point correspondences. + + Array of object points in the object coordinate space, Nx3 1-channel or 1xN/Nx1 3-channel, where N is the number of points. VectorOfPoint3f can also be passed here. + Array of corresponding image points, Nx2 1-channel or 1xN/Nx1 2-channel, where N is the number of points. VectorOfPoint2f can also be passed here. + Input camera matrix A=[[fx,0,0],[0,fy,0][cx,cy,1]]. + Input vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6[,s1,s2,s3,s4[,τx,τy]]]]) of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. + Vector of output rotation vectors (see Rodrigues ) that, together with tvecs, brings points from the model coordinate system to the camera coordinate system. + Vector of output translation vectors. + Parameter used for SOLVEPNP_ITERATIVE. If true, the function uses the provided rvec and tvec values as initial approximations of the rotation and translation vectors, respectively, and further optimizes them. + Method for solving a PnP problem + Rotation vector used to initialize an iterative PnP refinement algorithm, when flag is SOLVEPNP_ITERATIVE and useExtrinsicGuess is set to true. + Translation vector used to initialize an iterative PnP refinement algorithm, when flag is SOLVEPNP_ITERATIVE and useExtrinsicGuess is set to true. + Optional vector of reprojection error, that is the RMS error between the input image points and the 3D object points projected with the estimated pose. + + + + + Estimates transformation between the 2 cameras making a stereo pair. If we have a stereo camera, where the relative position and orientatation of the 2 cameras is fixed, and if we computed poses of an object relative to the first camera and to the second camera, (R1, T1) and (R2, T2), respectively (that can be done with cvFindExtrinsicCameraParams2), obviously, those poses will relate to each other, i.e. given (R1, T1) it should be possible to compute (R2, T2) - we only need to know the position and orientation of the 2nd camera relative to the 1st camera. That's what the described function does. It computes (R, T) such that: + R2=R*R1, + T2=R*T1 + T + + The 3D location of the object points. The first index is the index of image, second index is the index of the point + The 2D image location of the points for camera 1. The first index is the index of the image, second index is the index of the point + The 2D image location of the points for camera 2. The first index is the index of the image, second index is the index of the point + The input/output camera matrices [fxk 0 cxk; 0 fyk cyk; 0 0 1]. If CV_CALIB_USE_INTRINSIC_GUESS or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of the elements of the matrices must be initialized + The input/output vectors of distortion coefficients for each camera, 4x1, 1x4, 5x1 or 1x5 + The input/output camera matrices [fxk 0 cxk; 0 fyk cyk; 0 0 1]. If CV_CALIB_USE_INTRINSIC_GUESS or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of the elements of the matrices must be initialized + The input/output vectors of distortion coefficients for each camera, 4x1, 1x4, 5x1 or 1x5 + Size of the image, used only to initialize intrinsic camera matrix + The rotation matrix between the 1st and the 2nd cameras' coordinate systems + The translation vector between the cameras' coordinate systems + The optional output essential matrix + The optional output fundamental matrix + Termination criteria for the iterative optimization algorithm + The calibration flags + The final value of the re-projection error. + + + + Estimates transformation between the 2 cameras making a stereo pair. If we have a stereo camera, where the relative position and orientatation of the 2 cameras is fixed, and if we computed poses of an object relative to the fist camera and to the second camera, (R1, T1) and (R2, T2), respectively (that can be done with cvFindExtrinsicCameraParams2), obviously, those poses will relate to each other, i.e. given (R1, T1) it should be possible to compute (R2, T2) - we only need to know the position and orientation of the 2nd camera relative to the 1st camera. That's what the described function does. It computes (R, T) such that: + R2=R*R1, + T2=R*T1 + T + + The joint matrix of object points, 3xN or Nx3, where N is the total number of points in all views + The joint matrix of corresponding image points in the views from the 1st camera, 2xN or Nx2, where N is the total number of points in all views + The joint matrix of corresponding image points in the views from the 2nd camera, 2xN or Nx2, where N is the total number of points in all views + The input/output camera matrices [fxk 0 cxk; 0 fyk cyk; 0 0 1]. If CV_CALIB_USE_INTRINSIC_GUESS or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of the elements of the matrices must be initialized + The input/output vectors of distortion coefficients for each camera, 4x1, 1x4, 5x1 or 1x5 + The input/output camera matrices [fxk 0 cxk; 0 fyk cyk; 0 0 1]. If CV_CALIB_USE_INTRINSIC_GUESS or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of the elements of the matrices must be initialized + The input/output vectors of distortion coefficients for each camera, 4x1, 1x4, 5x1 or 1x5 + Size of the image, used only to initialize intrinsic camera matrix + The rotation matrix between the 1st and the 2nd cameras' coordinate systems + The translation vector between the cameras' coordinate systems + The optional output essential matrix + The optional output fundamental matrix + Termination criteria for the iterative optimization algorithm + The calibration flags + The final value of the re-projection error. + + + + Computes the rectification transformations without knowing intrinsic parameters of the cameras and their relative position in space, hence the suffix "Uncalibrated". Another related difference from cvStereoRectify is that the function outputs not the rectification transformations in the object (3D) space, but the planar perspective transformations, encoded by the homography matrices H1 and H2. The function implements the following algorithm [Hartley99]. + + + Note that while the algorithm does not need to know the intrinsic parameters of the cameras, it heavily depends on the epipolar geometry. Therefore, if the camera lenses have significant distortion, it would better be corrected before computing the fundamental matrix and calling this function. For example, distortion coefficients can be estimated for each head of stereo camera separately by using cvCalibrateCamera2 and then the images can be corrected using cvUndistort2 + + The array of 2D points + The array of 2D points + Fundamental matrix. It can be computed using the same set of point pairs points1 and points2 using cvFindFundamentalMat + Size of the image + The rectification homography matrices for the first images + The rectification homography matrices for the second images + If the parameter is greater than zero, then all the point pairs that do not comply the epipolar geometry well enough (that is, the points for which fabs(points2[i]T*F*points1[i])>threshold) are rejected prior to computing the homographies + True if successful + + + + computes the rotation matrices for each camera that (virtually) make both camera image planes the same plane. Consequently, that makes all the epipolar lines parallel and thus simplifies the dense stereo correspondence problem. On input the function takes the matrices computed by cvStereoCalibrate and on output it gives 2 rotation matrices and also 2 projection matrices in the new coordinates. The function is normally called after cvStereoCalibrate that computes both camera matrices, the distortion coefficients, R and T + + The camera matrices [fx_k 0 cx_k; 0 fy_k cy_k; 0 0 1] + The camera matrices [fx_k 0 cx_k; 0 fy_k cy_k; 0 0 1] + The vectors of distortion coefficients for first camera, 4x1, 1x4, 5x1 or 1x5 + The vectors of distortion coefficients for second camera, 4x1, 1x4, 5x1 or 1x5 + Size of the image used for stereo calibration + The rotation matrix between the 1st and the 2nd cameras' coordinate systems + The translation vector between the cameras' coordinate systems + 3x3 Rectification transforms (rotation matrices) for the first camera + 3x3 Rectification transforms (rotation matrices) for the second camera + 3x4 Projection matrices in the new (rectified) coordinate systems + 3x4 Projection matrices in the new (rectified) coordinate systems + The optional output disparity-to-depth mapping matrix, 4x4, see cvReprojectImageTo3D. + The operation flags, use ZeroDisparity for default + Use -1 for default + Use Size.Empty for default + The valid pixel ROI for image1 + The valid pixel ROI for image2 + + + + Finds subpixel-accurate positions of the chessboard corners + + Source chessboard view; it must be 8-bit grayscale or color image + Pointer to the output array of corners(PointF) detected + region size + True if successful + + + + Attempts to determine whether the input image is a view of the chessboard pattern and locate internal chessboard corners + + Source chessboard view; it must be 8-bit grayscale or color image + The number of inner corners per chessboard row and column + Pointer to the output array of corners(PointF) detected + Various operation flags + True if all the corners have been found and they have been placed in a certain order (row by row, left to right in every row), otherwise, if the function fails to find all the corners or reorder them, it returns 0 + The coordinates detected are approximate, and to determine their position more accurately, the user may use the function cvFindCornerSubPix + + + + Filters off small noise blobs (speckles) in the disparity map. + + The input 16-bit signed disparity image + The disparity value used to paint-off the speckles + The maximum speckle size to consider it a speckle. Larger blobs are not affected by the algorithm + Maximum difference between neighbor disparity pixels to put them into the same blob. Note that since StereoBM, StereoSGBM and may be other algorithms return a fixed-point disparity map, where disparity values are multiplied by 16, this scale factor should be taken into account when specifying this parameter value. + The optional temporary buffer to avoid memory allocation within the function. + + + + Finds the positions of internal corners of the chessboard using a sector based approach. + + Source chessboard view. It must be an 8-bit grayscale or color image. + Number of inner corners per a chessboard row and column ( patternSize = cv::Size(points_per_row,points_per_colum) = cv::Size(columns,rows) ). + Output array of detected corners. + Various operation flags + True if chessboard corners found + + + + Draws the individual chessboard corners detected (as red circles) in case if the board was not found (pattern_was_found=0) or the colored corners connected with lines when the board was found (pattern_was_found != 0). + + The destination image; it must be 8-bit color image + The number of inner corners per chessboard row and column + The array of corners detected + Indicates whether the complete board was found (!=0) or not (=0). One may just pass the return value cvFindChessboardCorners here. + + + + Reconstructs points by triangulation. + + 3x4 projection matrix of the first camera. + 3x4 projection matrix of the second camera. + 2xN array of feature points in the first image. It can be also a vector of feature points or two-channel matrix of size 1xN or Nx1 + 2xN array of corresponding points in the second image. It can be also a vector of feature points or two-channel matrix of size 1xN or Nx1. + 4xN array of reconstructed points in homogeneous coordinates. + + + + Refines coordinates of corresponding points. + + 3x3 fundamental matrix. + 1xN array containing the first set of points. + 1xN array containing the second set of points. + The optimized points1. + The optimized points2. + + + + The default Exception callback to handle Error thrown by OpenCV + + + + + An error handler which will ignore any error and continue + + + + + A custom error handler for OpenCV + + The numeric code for error status + The source file name where error is encountered + A description of the error + The source file name where error is encountered + The line number in the source where error is encountered + Arbitrary pointer that is transparently passed to the error handler. + if 0, signal the process to continue + + + + A custom error handler for OpenCV + + The numeric code for error status + The source file name where error is encountered + A description of the error + The source file name where error is encountered + The line number in the source where error is encountered + Arbitrary pointer that is transparently passed to the error handler. + If 0, signal the process to continue + + + + Define an error callback that can be registered using cvRedirectError function + + The numeric code for error status + The source file name where error is encountered + A description of the error + The source file name where error is encountered + The line number in the source where error is encountered + Arbitrary pointer that is transparently passed to the error handler. + + + + + Sets a new error handler that can be one of standard handlers or a custom handler that has the certain interface. The handler takes the same parameters as cvError function. If the handler returns non-zero value, the program is terminated, otherwise, it continues. The error handler may check the current error mode with cvGetErrMode to make a decision. + + The new error handler + Arbitrary pointer that is transparently passed to the error handler. + Pointer to the previously assigned user data pointer. + Pointer to the old error handler + + + + Sets a new error handler that can be one of standard handlers or a custom handler that has the certain interface. The handler takes the same parameters as cvError function. If the handler returns non-zero value, the program is terminated, otherwise, it continues. The error handler may check the current error mode with cvGetErrMode to make a decision. + + Pointer to the new error handler + Arbitrary pointer that is transparently passed to the error handler. + Pointer to the previously assigned user data pointer. + Pointer to the old error handler + + + + Sets the specified error mode. + + The error mode + The previous error mode + + + + Returns the current error mode + + The error mode + + + + Returns the current error status - the value set with the last cvSetErrStatus call. Note, that in Leaf mode the program terminates immediately after error occurred, so to always get control after the function call, one should call cvSetErrMode and set Parent or Silent error mode. + + The current error status + + + + Sets the error status to the specified value. Mostly, the function is used to reset the error status (set to it CV_StsOk) to recover after error. In other cases it is more natural to call cvError or CV_ERROR. + + The error status. + + + + Returns the textual description for the specified error status code. In case of unknown status the function returns NULL pointer. + + The error status + the textual description for the specified error status code. + + + + initializes CvMat header so that it points to the same data as the original array but has different shape - different number of channels, different number of rows or both + + Input array + Output header to be filled + New number of channels. new_cn = 0 means that number of channels remains unchanged + New number of rows. new_rows = 0 means that number of rows remains unchanged unless it needs to be changed according to new_cn value. destination array to be changed + The CvMat header + + + + Fills the destination array with source array tiled: + dst(i,j)=src(i mod rows(src), j mod cols(src))So the destination array may be as larger as well as smaller than the source array + + Source array, image or matrix + Destination array, image or matrix + Flag to specify how many times the src is repeated along the vertical axis. + Flag to specify how many times the src is repeated along the horizontal axis. + + + + This function is the opposite to cvSplit. If the destination array has N channels then if the first N input channels are not IntPtr.Zero, all they are copied to the destination array, otherwise if only a single source channel of the first N is not IntPtr.Zero, this particular channel is copied into the destination array, otherwise an error is raised. Rest of source channels (beyond the first N) must always be IntPtr.Zero. For IplImage cvCopy with COI set can be also used to insert a single channel into the image. + + Input vector of matrices to be merged; all the matrices in mv must have the same size and the same depth. + output array of the same size and the same depth as mv[0]; The number of channels will be the total number of channels in the matrix array. + + + + The function cvMixChannels is a generalized form of cvSplit and cvMerge and some forms of cvCvtColor. It can be used to change the order of the planes, add/remove alpha channel, extract or insert a single plane or multiple planes etc. + + The array of input arrays. + The array of output arrays + The array of pairs of indices of the planes copied. from_to[k*2] is the 0-based index of the input plane, and from_to[k*2+1] is the index of the output plane, where the continuous numbering of the planes over all the input and over all the output arrays is used. When from_to[k*2] is negative, the corresponding output plane is filled with 0's. + Unlike many other new-style C++ functions in OpenCV, mixChannels requires the output arrays to be pre-allocated before calling the function. + + + + Extract the specific channel from the image + + The source image + The channel + 0 based index of the channel to be extracted + + + + Insert the specific channel to the image + + The source channel + The destination image where the channel will be inserted into + 0-based index of the channel to be inserted + + + + Shuffles the matrix by swapping randomly chosen pairs of the matrix elements on each iteration (where each element may contain several components in case of multi-channel arrays) + + The input/output matrix. It is shuffled in-place. + Pointer to MCvRNG random number generator. Use 0 if not sure + The relative parameter that characterizes intensity of the shuffling performed. The number of iterations (i.e. pairs swapped) is round(iter_factor*rows(mat)*cols(mat)), so iter_factor=0 means that no shuffling is done, iter_factor=1 means that the function swaps rows(mat)*cols(mat) random pairs etc + + + + Inverses every bit of every array element: + + The source array + The destination array + The optional mask for the operation, use null to ignore + + + + Calculates per-element maximum of two arrays: + dst(I)=max(src1(I), src2(I)) + All the arrays must have a single channel, the same data type and the same size (or ROI size). + + The first source array + The second source array. + The destination array + + + + Returns the number of non-zero elements in arr: + result = sumI arr(I)!=0 + In case of IplImage both ROI and COI are supported. + + The image + the number of non-zero elements in image + + + + Find the location of the non-zero pixel + + The source array + The output array where the location of the pixels are sorted + + + + Computes PSNR image/video quality metric + + The first source image + The second source image + the quality metric + + + + Calculates per-element minimum of two arrays: + dst(I)=min(src1(I),src2(I)) + All the arrays must have a single channel, the same data type and the same size (or ROI size). + + The first source array + The second source array + The destination array + + + + Adds one array to another one: + dst(I)=src1(I)+src2(I) if mask(I)!=0All the arrays must have the same type, except the mask, and the same size (or ROI size) + + The first source array. + The second source array. + The destination array. + Operation mask, 8-bit single channel array; specifies elements of destination array to be changed. + Optional depth type of the output array + + + + Subtracts one array from another one: + dst(I)=src1(I)-src2(I) if mask(I)!=0 + All the arrays must have the same type, except the mask, and the same size (or ROI size) + + The first source array + The second source array + The destination array + Operation mask, 8-bit single channel array; specifies elements of destination array to be changed + Optional depth of the output array + + + + Divides one array by another: + dst(I)=scale * src1(I)/src2(I), if src1!=IntPtr.Zero; + dst(I)=scale/src2(I), if src1==IntPtr.Zero; + All the arrays must have the same type, and the same size (or ROI size) + + The first source array. If the pointer is IntPtr.Zero, the array is assumed to be all 1s. + The second source array + The destination array + Optional scale factor + Optional depth of the output array + + + + Calculates per-element product of two arrays: + dst(I)=scale*src1(I)*src2(I) + All the arrays must have the same type, and the same size (or ROI size) + + The first source array. + The second source array + The destination array + Optional scale factor + Optional depth of the output array + + + + Calculates per-element bit-wise logical conjunction of two arrays: + dst(I)=src1(I) & src2(I) if mask(I)!=0 + In the case of floating-point arrays their bit representations are used for the operation. All the arrays must have the same type, except the mask, and the same size + + The first source array + The second source array + The destination array + Operation mask, 8-bit single channel array; specifies elements of destination array to be changed + + + + Calculates per-element bit-wise disjunction of two arrays: + dst(I)=src1(I)|src2(I) + In the case of floating-point arrays their bit representations are used for the operation. All the arrays must have the same type, except the mask, and the same size + + The first source array + The second source array + The destination array + Operation mask, 8-bit single channel array; specifies elements of destination array to be changed + + + + Calculates per-element bit-wise logical conjunction of two arrays: + dst(I)=src1(I)^src2(I) if mask(I)!=0 + In the case of floating-point arrays their bit representations are used for the operation. All the arrays must have the same type, except the mask, and the same size + + The first source array + The second source array + The destination array + Mask, 8-bit single channel array; specifies elements of destination array to be changed. + + + + Copies selected elements from input array to output array: + dst(I)=src(I) if mask(I)!=0. + If any of the passed arrays is of IplImage type, then its ROI and COI fields are used. Both arrays must have the same type, the same number of dimensions and the same size. The function can also copy sparse arrays (mask is not supported in this case). + + The source array + The destination array + Operation mask, 8-bit single channel array; specifies elements of destination array to be changed + + + + Initializes scaled identity matrix: + arr(i,j)=value if i=j, + 0 otherwise + + The matrix to initialize (not necessarily square). + The value to assign to the diagonal elements. + + + + Initializes the matrix as following: + arr(i,j)=(end-start)*(i*cols(arr)+j)/(cols(arr)*rows(arr)) + + The matrix to initialize. It should be single-channel 32-bit, integer or floating-point + The lower inclusive boundary of the range + The upper exclusive boundary of the range + + + + Calculates the magnitude and angle of 2D vectors. + magnitude(I)=sqrt( x(I)^2+y(I)^2 ), + angle(I)=atan2( y(I)/x(I) ) + The angles are calculated with accuracy about 0.3 degrees. For the point (0,0), the angle is set to 0. + + Array of x-coordinates; this must be a single-precision or double-precision floating-point array. + Array of y-coordinates, that must have the same size and same type as x. + Output array of magnitudes of the same size and type as x. + Output array of angles that has the same size and type as x; the angles are measured in radians (from 0 to 2*Pi) or in degrees (0 to 360 degrees). + A flag, indicating whether the angles are measured in radians (which is by default), or in degrees. + + + + Calculates either x-coordinate, y-coordinate or both of every vector magnitude(I)* exp(angle(I)*j), j=sqrt(-1): + x(I)=magnitude(I)*cos(angle(I)), + y(I)=magnitude(I)*sin(angle(I)) + + Input floating-point array of magnitudes of 2D vectors; it can be an empty matrix (=Mat()), in this case, the function assumes that all the magnitudes are =1; if it is not empty, it must have the same size and type as angle + input floating-point array of angles of 2D vectors. + Output array of x-coordinates of 2D vectors; it has the same size and type as angle. + Output array of y-coordinates of 2D vectors; it has the same size and type as angle. + The flag indicating whether the angles are measured in radians or in degrees + + + + Raises every element of input array to p: + dst(I)=src(I)p, if p is integer + dst(I)=abs(src(I))p, otherwise + That is, for non-integer power exponent the absolute values of input array elements are used. However, it is possible to get true values for negative values using some extra operations, as the following sample, computing cube root of array elements, shows: + CvSize size = cvGetSize(src); + CvMat* mask = cvCreateMat( size.height, size.width, CV_8UC1 ); + cvCmpS( src, 0, mask, CV_CMP_LT ); /* find negative elements */ + cvPow( src, dst, 1./3 ); + cvSubRS( dst, cvScalarAll(0), dst, mask ); /* negate the results of negative inputs */ + cvReleaseMat( &mask ); + For some values of power, such as integer values, 0.5 and -0.5, specialized faster algorithms are used. + + The source array + The destination array, should be the same type as the source + The exponent of power + + + + Calculates exponent of every element of input array: + dst(I)=exp(src(I)) + Maximum relative error is 7e-6. Currently, the function converts denormalized values to zeros on output + + The source array + The destination array, it should have double type or the same type as the source + + + + Calculates natural logarithm of absolute value of every element of input array: + dst(I)=log(abs(src(I))), src(I)!=0 + dst(I)=C, src(I)=0 + Where C is large negative number (-700 in the current implementation) + + The source array + The destination array, it should have double type or the same type as the source + + + + finds real roots of a cubic equation: + coeffs[0]*x^3 + coeffs[1]*x^2 + coeffs[2]*x + coeffs[3] = 0 + (if coeffs is 4-element vector) + or + x^3 + coeffs[0]*x^2 + coeffs[1]*x + coeffs[2] = 0 + (if coeffs is 3-element vector) + + The equation coefficients, array of 3 or 4 elements + The output array of real roots. Should have 3 elements. Padded with zeros if there is only one root + the number of real roots found + + + + Finds all real and complex roots of any degree polynomial with real coefficients + + The (degree + 1)-length array of equation coefficients (CV_32FC1 or CV_64FC1) + The degree-length output array of real or complex roots (CV_32FC2 or CV_64FC2) + The maximum number of iterations + + + + Solves linear system (src1)*(dst) = (src2) + + The source matrix in the LHS + The source matrix in the RHS + The result + The method for solving the equation + 0 if src1 is a singular and CV_LU method is used + + + + Sorts each matrix row or each matrix column in + ascending or descending order.So you should pass two operation flags to + get desired behaviour. + + input single-channel array. + output array of the same size and type as src. + operation flags + + + + Sorts each matrix row or each matrix column in the + ascending or descending order.So you should pass two operation flags to + get desired behaviour. Instead of reordering the elements themselves, it + stores the indices of sorted elements in the output array. + + input single-channel array. + output integer array of the same size as src. + operation flags + + + + Performs forward or inverse transform of 1D or 2D floating-point array + In case of real (single-channel) data, the packed format, borrowed from IPL, is used to to represent a result of forward Fourier transform or input for inverse Fourier transform + + Source array, real or complex + Destination array of the same size and same type as the source + Transformation flags + Number of nonzero rows to in the source array (in case of forward 2d transform), or a number of rows of interest in the destination array (in case of inverse 2d transform). If the value is negative, zero, or greater than the total number of rows, it is ignored. The parameter can be used to speed up 2d convolution/correlation when computing them via DFT. See the sample below + + + + Returns the minimum number N that is greater to equal to size0, such that DFT of a vector of size N can be computed fast. In the current implementation N=2^p x 3^q x 5^r for some p, q, r. + + Vector size + The minimum number N that is greater to equal to size0, such that DFT of a vector of size N can be computed fast. In the current implementation N=2^p x 3^q x 5^r for some p, q, r. + + + + Performs per-element multiplication of the two CCS-packed or complex matrices that are results of real or complex Fourier transform. + + The first source array + The second source array + The destination array of the same type and the same size of the sources + Operation flags; currently, the only supported flag is DFT_ROWS, which indicates that each row of src1 and src2 is an independent 1D Fourier spectrum. + Optional flag that conjugates the second input array before the multiplication (true) or not (false). + + + + Performs forward or inverse transform of 1D or 2D floating-point array + + Source array, real 1D or 2D array + Destination array of the same size and same type as the source + Transformation flags + + + + Calculates a part of the line segment which is entirely in the rectangle. + + The rectangle + First ending point of the line segment. It is modified by the function + Second ending point of the line segment. It is modified by the function. + It returns false if the line segment is completely outside the rectangle and true otherwise. + + + + Calculates absolute difference between two arrays. + dst(I)c = abs(src1(I)c - src2(I)c). + All the arrays must have the same data type and the same size (or ROI size) + + The first source array + The second source array + The destination array + + + + Calculated weighted sum of two arrays as following: + dst(I)=src1(I)*alpha+src2(I)*beta+gamma + All the arrays must have the same type and the same size (or ROI size) + + The first source array. + Weight of the first array elements. + The second source array. + Weight of the second array elements. + Scalar, added to each sum. + The destination array. + Optional depth of the output array; when both input arrays have the same depth + + + + Performs range check for every element of the input array: + dst(I)=lower(I)_0 <= src(I)_0 <= upper(I)_0 + For single-channel arrays, + dst(I)=lower(I)_0 <= src(I)_0 <= upper(I)_0 && + lower(I)_1 <= src(I)_1 <= upper(I)_1 + For two-channel arrays etc. + dst(I) is set to 0xff (all '1'-bits) if src(I) is within the range and 0 otherwise. All the arrays must have the same type, except the destination, and the same size (or ROI size) + + The source image + The lower values stored in an image of same type & size as + The upper values stored in an image of same type & size as + The resulting mask + + + + Returns the calculated norm. The multiple-channel array are treated as single-channel, that is, the results for all channels are combined. + + The first source image + The second source image. If it is null, the absolute norm of arr1 is calculated, otherwise absolute or relative norm of arr1-arr2 is calculated + Type of norm + The optional operation mask + The calculated norm + + + + Returns the calculated norm. The multiple-channel array are treated as single-channel, that is, the results for all channels are combined. + + The first source image + Type of norm + The optional operation mask + The calculated norm + + + + Creates the header and allocates data. + + Image width and height. + Bit depth of image elements + + Number of channels per element(pixel). Can be 1, 2, 3 or 4. The channels are interleaved, for example the usual data layout of a color image is: + b0 g0 r0 b1 g1 r1 ... + + A pointer to IplImage + + + + Allocates, initializes, and returns the structure IplImage. + + Image width and height. + Bit depth of image elements + + Number of channels per element(pixel). Can be 1, 2, 3 or 4. The channels are interleaved, for example the usual data layout of a color image is: + b0 g0 r0 b1 g1 r1 ... + + The structure IplImage + + + + Initializes the image header structure, pointer to which is passed by the user, and returns the pointer. + + Image header to initialize. + Image width and height. + Image depth + Number of channels + IPL_ORIGIN_TL or IPL_ORIGIN_BL. + Alignment for image rows, typically 4 or 8 bytes. + Pointer to the image header + + + + Assigns user data to the array header. + + Array header. + User data. + Full row length in bytes. + + + + Releases the header. + + Pointer to the deallocated header. + + + + Initializes already allocated CvMat structure. It can be used to process raw data with OpenCV matrix functions. + + Pointer to the matrix header to be initialized. + Number of rows in the matrix. + Number of columns in the matrix. + Type of the matrix elements. + Optional data pointer assigned to the matrix header + Full row width in bytes of the data assigned. By default, the minimal possible step is used, i.e., no gaps is assumed between subsequent rows of the matrix. + Pointer to the CvMat + + + + Sets the channel of interest to a given value. Value 0 means that all channels are selected, 1 means that the first channel is selected etc. If ROI is NULL and coi != 0, ROI is allocated. + + Image header + Channel of interest starting from 1. If 0, the COI is unset. + + + + Returns channel of interest of the image (it returns 0 if all the channels are selected). + + Image header. + channel of interest of the image (it returns 0 if all the channels are selected) + + + + Releases image ROI. After that the whole image is considered selected. + + Image header + + + + Sets the image ROI to a given rectangle. If ROI is NULL and the value of the parameter rect is not equal to the whole image, ROI is allocated. + + Image header. + ROI rectangle. + + + + Returns channel of interest of the image (it returns 0 if all the channels are selected). + + Image header. + channel of interest of the image (it returns 0 if all the channels are selected) + + + + Allocates header for the new matrix and underlying data, and returns a pointer to the created matrix. Matrices are stored row by row. All the rows are aligned by 4 bytes. + + Number of rows in the matrix. + Number of columns in the matrix. + Type of the matrix elements. + A pointer to the created matrix + + + + Initializes CvMatND structure allocated by the user + + Pointer to the array header to be initialized + Number of array dimensions + Array of dimension sizes + Type of array elements + Optional data pointer assigned to the matrix header + Pointer to the array header + + + + Decrements the matrix data reference counter and releases matrix header + + Double pointer to the matrix. + + + + The function allocates a multi-dimensional sparse array. Initially the array contain no elements, that is Get or GetReal returns zero for every index + + Number of array dimensions + Array of dimension sizes + Type of array elements + Pointer to the array header + + + + The function releases the sparse array and clears the array pointer upon exit. + + Reference of the pointer to the array + + + + Assign the new value to the particular element of single-channel array + + Input array + The first zero-based component of the element index + The assigned value + + + + Assign the new value to the particular element of single-channel array + + Input array + The first zero-based component of the element index + The second zero-based component of the element index + The assigned value + + + + Assign the new value to the particular element of single-channel array + + Input array + The first zero-based component of the element index + The second zero-based component of the element index + The third zero-based component of the element index + The assigned value + + + + Assign the new value to the particular element of single-channel array + + Input array + Array of the element indices + The assigned value + + + + Clears (sets to zero) the particular element of dense array or deletes the element of sparse array. If the element does not exists, the function does nothing + + Input array + Array of the element indices + + + + Assign the new value to the particular element of array + + Input array. + The first zero-based component of the element index + The second zero-based component of the element index + The assigned value + + + + Flips the array in one of different 3 ways (row and column indices are 0-based) + + Source array. + Destination array. + Specifies how to flip the array. + + + + Rotates a 2D array in multiples of 90 degrees. + + input array. + output array of the same type as src. The size is the same with ROTATE_180, and the rows and cols are switched for ROTATE_90 and ROTATE_270. + an enum to specify how to rotate the array + + + + Returns header, corresponding to a specified rectangle of the input array. In other words, it allows the user to treat a rectangular part of input array as a stand-alone array. ROI is taken into account by the function so the sub-array of ROI is actually extracted. + + Input array + Pointer to the resultant sub-array header. + Zero-based coordinates of the rectangle of interest. + the resultant sub-array header + + + + Return the header, corresponding to a specified row span of the input array + + Input array + Pointer to the prelocated memory of resulting sub-array header + Zero-based index of the starting row (inclusive) of the span + Zero-based index of the ending row (exclusive) of the span + Index step in the row span. That is, the function extracts every delta_row-th row from start_row and up to (but not including) end_row + The header, corresponding to a specified row span of the input array + + + + Return the header, corresponding to a specified row of the input array + + Input array + Pointer to the prelocate memory of the resulting sub-array header + Zero-based index of the selected row + The header, corresponding to a specified row of the input array + + + + Return the header, corresponding to a specified col span of the input array + + Input array + Pointer to the prelocated memory of the resulting sub-array header + Zero-based index of the selected column + Zero-based index of the ending column (exclusive) of the span + The header, corresponding to a specified col span of the input array + + + + Return the header, corresponding to a specified column of the input array + + Input array + Pointer to the prelocate memory of the resulting sub-array header + Zero-based index of the selected column + The header, corresponding to a specified column of the input array + + + + returns the header, corresponding to a specified diagonal of the input array + + Input array + Pointer to the resulting sub-array header + Array diagonal. Zero corresponds to the main diagonal, -1 corresponds to the diagonal above the main etc., 1 corresponds to the diagonal below the main etc + Pointer to the resulting sub-array header + + + + Returns number of rows (CvSize::height) and number of columns (CvSize::width) of the input matrix or image. In case of image the size of ROI is returned. + + array header + number of rows (CvSize::height) and number of columns (CvSize::width) of the input matrix or image. In case of image the size of ROI is returned. + + + + Draws a simple or filled circle with given center and radius. The circle is clipped by ROI rectangle. + + Image where the circle is drawn + Center of the circle + Radius of the circle. + Color of the circle + Thickness of the circle outline if positive, otherwise indicates that a filled circle has to be drawn + Line type + Number of fractional bits in the center coordinates and radius value + + + + Divides a multi-channel array into separate single-channel arrays. Two modes are available for the operation. If the source array has N channels then if the first N destination channels are not IntPtr.Zero, all they are extracted from the source array, otherwise if only a single destination channel of the first N is not IntPtr.Zero, this particular channel is extracted, otherwise an error is raised. Rest of destination channels (beyond the first N) must always be IntPtr.Zero. For IplImage cvCopy with COI set can be also used to extract a single channel from the image + + Input multi-channel array + Output array or vector of arrays + + + + Draws a simple or thick elliptic arc or fills an ellipse sector. The arc is clipped by ROI rectangle. A piecewise-linear approximation is used for antialiased arcs and thick arcs. All the angles are given in degrees. + + Image + Center of the ellipse + Length of the ellipse axes + Rotation angle + Starting angle of the elliptic arc + Ending angle of the elliptic arc + Ellipse color + Thickness of the ellipse arc + Type of the ellipse boundary + Number of fractional bits in the center coordinates and axes' values + + + + Draws a simple or thick elliptic arc or fills an ellipse sector. The arc is clipped by ROI rectangle. A piecewise-linear approximation is used for antialiased arcs and thick arcs. All the angles are given in degrees. + + Image + The box the define the ellipse area + Ellipse color + Thickness of the ellipse arc + Type of the ellipse boundary + Number of fractional bits in the center coordinates and axes' values + + + + Fills the destination array with values from the look-up table. Indices of the entries are taken from the source array. That is, the function processes each element of src as following: + dst(I)=lut[src(I)+DELTA] + where DELTA=0 if src has depth CV_8U, and DELTA=128 if src has depth CV_8S + + Source array of 8-bit elements + Destination array of arbitrary depth and of the same number of channels as the source array + Look-up table of 256 elements; should have the same depth as the destination array. In case of multi-channel source and destination arrays, the table should either have a single-channel (in this case the same table is used for all channels), or the same number of channels as the source/destination array + + + + This function has several different purposes and thus has several synonyms. It copies one array to another with optional scaling, which is performed first, and/or optional type conversion, performed after: + dst(I)=src(I)*scale + (shift,shift,...) + All the channels of multi-channel arrays are processed independently. + The type conversion is done with rounding and saturation, that is if a result of scaling + conversion can not be represented exactly by a value of destination array element type, it is set to the nearest representable value on the real axis. + In case of scale=1, shift=0 no prescaling is done. This is a specially optimized case and it has the appropriate cvConvert synonym. If source and destination array types have equal types, this is also a special case that can be used to scale and shift a matrix or an image and that fits to cvScale synonym. + + Source array + Destination array + Scale factor + Value added to the scaled source array elements + + + + Similar to cvCvtScale but it stores absolute values of the conversion results: + dst(I)=abs(src(I)*scale + (shift,shift,...)) + The function supports only destination arrays of 8u (8-bit unsigned integers) type, for other types the function can be emulated by combination of cvConvertScale and cvAbs functions. + + Source array + Destination array (should have 8u depth). + ScaleAbs factor + Value added to the scaled source array elements + + + + Calculates the average value M of array elements, independently for each channel: + N = sumI mask(I)!=0 + Mc = 1/N * sumI,mask(I)!=0 arr(I)c + If the array is IplImage and COI is set, the function processes the selected channel only and stores the average to the first scalar component (S0). + + The array + The optional operation mask + average (mean) of array elements + + + + The function cvAvgSdv calculates the average value and standard deviation of array elements, independently for each channel + + If the array is IplImage and COI is set, the function processes the selected channel only and stores the average and standard deviation to the first compoenents of output scalars (M0 and S0). + The array + Pointer to the mean value + Pointer to the standard deviation + The optional operation mask + + + + Calculates a mean and standard deviation of array elements. + + Input array that should have from 1 to 4 channels so that the results can be stored in MCvScalar + Calculated mean value + Calculated standard deviation + Optional operation mask + + + + Calculates sum S of array elements, independently for each channel + Sc = sumI arr(I)c + If the array is IplImage and COI is set, the function processes the selected channel only and stores the sum to the first scalar component (S0). + + The array + The sum of array elements + + + + Reduces matrix to a vector by treating the matrix rows/columns as a set of 1D vectors and performing the specified operation on the vectors until a single row/column is obtained. + + + The function can be used to compute horizontal and vertical projections of an raster image. + In case of CV_REDUCE_SUM and CV_REDUCE_AVG the output may have a larger element bit-depth to preserve accuracy. + And multi-channel arrays are also supported in these two reduction modes + + The input matrix + The output single-row/single-column vector that accumulates somehow all the matrix rows/columns + The dimension index along which the matrix is reduce. + The reduction operation type + Optional depth type of the output array + + + + Releases the header and the image data. + + Double pointer to the header of the deallocated image + + + + Draws contours outlines or filled contours. + + Image where the contours are to be drawn. Like in any other drawing function, the contours are clipped with the ROI + All the input contours. Each contour is stored as a point vector. + Parameter indicating a contour to draw. If it is negative, all the contours are drawn. + Color of the contours + Maximal level for drawn contours. If 0, only contour is drawn. If 1, the contour and all contours after it on the same level are drawn. If 2, all contours after and all contours one level below the contours are drawn, etc. If the value is negative, the function does not draw the contours following after contour but draws child contours of contour up to abs(maxLevel)-1 level. + Thickness of lines the contours are drawn with. If it is negative the contour interiors are drawn + Type of the contour segments + Optional information about hierarchy. It is only needed if you want to draw only some of the contours + Shift all the point coordinates by the specified value. It is useful in case if the contours retrieved in some image ROI and then the ROI offset needs to be taken into account during the rendering. + + + + Fills convex polygon interior. This function is much faster than The function cvFillPoly and can fill not only the convex polygons but any monotonic polygon, i.e. a polygon whose contour intersects every horizontal line (scan line) twice at the most + + Image + Array of pointers to a single polygon + Polygon color + Type of the polygon boundaries + Number of fractional bits in the vertex coordinates + + + + Fills the area bounded by one or more polygons. + + Image. + Array of polygons where each polygon is represented as an array of points. + Polygon color + Type of the polygon boundaries. + Number of fractional bits in the vertex coordinates. + Optional offset of all points of the contours. + + + + Renders the text in the image with the specified font and color. The printed text is clipped by ROI rectangle. Symbols that do not belong to the specified font are replaced with the rectangle symbol. + + Input image + String to print + Coordinates of the bottom-left corner of the first letter + Font type. + Font scale factor that is multiplied by the font-specific base size. + Text color + Thickness of the lines used to draw a text. + Line type + When true, the image data origin is at the bottom-left corner. Otherwise, it is at the top-left corner. + + + + Calculates the width and height of a text string. + + Input text string. + Font to use + Font scale factor that is multiplied by the font-specific base size. + Thickness of lines used to render the text. + Y-coordinate of the baseline relative to the bottom-most text point. + The size of a box that contains the specified text. + + + + Finds minimum and maximum element values and their positions. The extremums are searched over the whole array, selected ROI (in case of IplImage) or, if mask is not IntPtr.Zero, in the specified array region. If the array has more than one channel, it must be IplImage with COI set. In case if multi-dimensional arrays min_loc->x and max_loc->x will contain raw (linear) positions of the extremums + + The source array, single-channel or multi-channel with COI set + Pointer to returned minimum value + Pointer to returned maximum value + Pointer to returned minimum location + Pointer to returned maximum location + The optional mask that is used to select a subarray. Use IntPtr.Zero if not needed + + + + Copies the source 2D array into interior of destination array and makes a border of the specified type around the copied area. The function is useful when one needs to emulate border type that is different from the one embedded into a specific algorithm implementation. For example, morphological functions, as well as most of other filtering functions in OpenCV, internally use replication border type, while the user may need zero border or a border, filled with 1's or 255's + + The source image + The destination image + Type of the border to create around the copied source image rectangle + Value of the border pixels if bordertype=CONSTANT + Parameter specifying how many pixels in each direction from the source image rectangle to extrapolate. + Parameter specifying how many pixels in each direction from the source image rectangle to extrapolate. + Parameter specifying how many pixels in each direction from the source image rectangle to extrapolate. + Parameter specifying how many pixels in each direction from the source image rectangle to extrapolate. + + + + Return the particular array element + + Input array. Must have a single channel + The first zero-based component of the element index + the particular array element + + + + Return the particular array element + + Input array. Must have a single channel + The first zero-based component of the element index + The second zero-based component of the element index + the particular array element + + + + Return the particular array element + + Input array. Must have a single channel + The first zero-based component of the element index + The second zero-based component of the element index + The third zero-based component of the element index + the particular array element + + + + Return the particular element of single-channel array. If the array has multiple channels, runtime error is raised. Note that cvGet*D function can be used safely for both single-channel and multiple-channel arrays though they are a bit slower. + + Input array. Must have a single channel + The first zero-based component of the element index + the particular element of single-channel array + + + + Return the particular element of single-channel array. If the array has multiple channels, runtime error is raised. Note that cvGet*D function can be used safely for both single-channel and multiple-channel arrays though they are a bit slower. + + Input array. Must have a single channel + The first zero-based component of the element index + The second zero-based component of the element index + the particular element of single-channel array + + + + Return the particular element of single-channel array. If the array has multiple channels, runtime error is raised. Note that cvGet*D function can be used safely for both single-channel and multiple-channel arrays though they are a bit slower. + + Input array. Must have a single channel + The first zero-based component of the element index + The second zero-based component of the element index + The third zero-based component of the element index + the particular element of single-channel array + + + + Enables or disables the optimized code. + + + true if [use optimized]; otherwise, false. + + The function can be used to dynamically turn on and off optimized code (code that uses SSE2, AVX, and other instructions on the platforms that support it). It sets a global flag that is further checked by OpenCV functions. Since the flag is not checked in the inner OpenCV loops, it is only safe to call the function on the very top level in your application where you can be sure that no other OpenCV function is currently executed. + + + + Returns full configuration time cmake output. + Returned value is raw cmake output including version control system revision, compiler version, compiler flags, enabled modules and third party libraries, etc.Output format depends on target architecture. + + + + + Fills the array with normally distributed random numbers. + + Output array of random numbers; the array must be pre-allocated and have 1 to 4 channels. + Mean value (expectation) of the generated random numbers. + Standard deviation of the generated random numbers; it can be either a vector (in which case a diagonal standard deviation matrix is assumed) or a square matrix. + + + + Fills the array with normally distributed random numbers. + + Output array of random numbers; the array must be pre-allocated and have 1 to 4 channels. + Mean value (expectation) of the generated random numbers. + Standard deviation of the generated random numbers; it can be either a vector (in which case a diagonal standard deviation matrix is assumed) or a square matrix. + + + + Generates a single uniformly-distributed random number or an array of random numbers. + + Output array of random numbers; the array must be pre-allocated. + Inclusive lower boundary of the generated random numbers. + Exclusive upper boundary of the generated random numbers. + + + + Generates a single uniformly-distributed random number or an array of random numbers. + + Output array of random numbers; the array must be pre-allocated. + Inclusive lower boundary of the generated random numbers. + Exclusive upper boundary of the generated random numbers. + + + + Computes eigenvalues and eigenvectors of a symmetric matrix + + The input symmetric square matrix, modified during the processing + The output matrix of eigenvectors, stored as subsequent rows + The output vector of eigenvalues, stored in the descending order (order of eigenvalues and eigenvectors is syncronized, of course) + Currently the function is slower than cvSVD yet less accurate, so if A is known to be positivelydefined (for example, it is a covariance matrix)it is recommended to use cvSVD to find eigenvalues and eigenvectors of A, especially if eigenvectors are not required. + To calculate the largest eigenvector/-value set lowindex = highindex = 1. For legacy reasons this function always returns a square matrix the same size as the source matrix with eigenvectors and a vector the length of the source matrix with eigenvalues. The selected eigenvectors/-values are always in the first highindex - lowindex + 1 rows. + + + + normalizes the input array so that it's norm or value range takes the certain value(s). + + The input array + The output array; in-place operation is supported + The minimum/maximum value of the output array or the norm of output array + The maximum/minimum value of the output array + The normalization type + The operation mask. Makes the function consider and normalize only certain array elements + Optional depth type for the dst array + + + + Performs generalized matrix multiplication: + dst = alpha*op(src1)*op(src2) + beta*op(src3), where op(X) is X or XT + + The first source array. + The second source array. + The scalar + The third source array (shift). Can be null, if there is no shift. + The scalar + The destination array. + The Gemm operation type + + + + Performs matrix transformation of every element of array src and stores the results in dst + Both source and destination arrays should have the same depth and the same size or selected ROI size. transmat and shiftvec should be real floating-point matrices. + + The first source array + The destination array + transformation 2x2 or 2x3 floating-point matrix. + + + + Transforms every element of src in the following way: + (x, y) -> (x'/w, y'/w), + where + (x', y', w') = mat3x3 * (x, y, 1) + and w = w' if w'!=0, + inf otherwise + + The source points + 3x3 floating-point transformation matrix. + The destination points + + + + Transforms every element of src (by treating it as 2D or 3D vector) in the following way: + (x, y, z) -> (x'/w, y'/w, z'/w) or + (x, y) -> (x'/w, y'/w), + where + (x', y', z', w') = mat4x4 * (x, y, z, 1) or + (x', y', w') = mat3x3 * (x, y, 1) + and w = w' if w'!=0, + inf otherwise + + The source three-channel floating-point array + The destination three-channel floating-point array + 3x3 or 4x4 floating-point transformation matrix. + + + + Calculates the product of src and its transposition. + The function evaluates dst=scale(src-delta)*(src-delta)^T if order=0, and dst=scale(src-delta)^T*(src-delta) otherwise. + + The source matrix + The destination matrix + Order of multipliers + An optional array, subtracted from before multiplication + An optional scaling + Optional depth type of the output array + + + + Returns sum of diagonal elements of the matrix . + + the matrix + sum of diagonal elements of the matrix src1 + + + + Transposes matrix src1: + dst(i,j)=src(j,i) + Note that no complex conjugation is done in case of complex matrix. Conjugation should be done separately: look at the sample code in cvXorS for example + + The source matrix + The destination matrix + + + + Returns determinant of the square matrix mat. The direct method is used for small matrices and Gaussian elimination is used for larger matrices. For symmetric positive-determined matrices it is also possible to run SVD with U=V=NULL and then calculate determinant as a product of the diagonal elements of W + + The pointer to the matrix + determinant of the square matrix mat + + + + Finds the inverse or pseudo-inverse of a matrix. This function inverts the matrix src and stores the result in dst . When the matrix src is singular or non-square, the function calculates the pseudo-inverse matrix (the dst matrix) so that norm(src*dst - I) is minimal, where I is an identity matrix. + + The input floating-point M x N matrix. + The output matrix of N x M size and the same type as src. + Inversion method + + In case of the DECOMP_LU method, the function returns non-zero value if the inverse has been successfully calculated and 0 if src is singular. + In case of the DECOMP_SVD method, the function returns the inverse condition number of src (the ratio of the smallest singular value to the largest singular value) and 0 if src is singular. The SVD method calculates a pseudo-inverse matrix if src is singular. + Similarly to DECOMP_LU, the method DECOMP_CHOLESKY works only with non-singular square matrices that should also be symmetrical and positively defined. In this case, the function stores the inverted matrix in dst and returns non-zero. Otherwise, it returns 0. + + + + + Decomposes matrix A into a product of a diagonal matrix and two orthogonal matrices: + A=U*W*VT + Where W is diagonal matrix of singular values that can be coded as a 1D vector of singular values and U and V. All the singular values are non-negative and sorted (together with U and V columns) in descenting order. + + + SVD algorithm is numerically robust and its typical applications include: + 1. accurate eigenvalue problem solution when matrix A is square, symmetric and positively defined matrix, for example, when it is a covariation matrix. W in this case will be a vector of eigen values, and U=V is matrix of eigen vectors (thus, only one of U or V needs to be calculated if the eigen vectors are required) + 2. accurate solution of poor-conditioned linear systems + 3. least-squares solution of overdetermined linear systems. This and previous is done by cvSolve function with CV_SVD method + 4. accurate calculation of different matrix characteristics such as rank (number of non-zero singular values), condition number (ratio of the largest singular value to the smallest one), determinant (absolute value of determinant is equal to the product of singular values). All the things listed in this item do not require calculation of U and V matrices. + + Source MxN matrix + Resulting singular value matrix (MxN or NxN) or vector (Nx1). + Optional left orthogonal matrix (MxM or MxN). If CV_SVD_U_T is specified, the number of rows and columns in the sentence above should be swapped + Optional right orthogonal matrix (NxN) + Operation flags + + + + Performs a singular value back substitution. + + Singular values + Left singular vectors + Transposed matrix of right singular vectors. + Right-hand side of a linear system + Found solution of the system. + + + + Calculates the covariance matrix of a set of vectors. + + Samples stored either as separate matrices or as rows/columns of a single matrix. + Output covariance matrix of the type ctype and square size. + Input or output (depending on the flags) array as the average value of the input vectors. + Operation flags + Type of the matrix + + + + Calculates the weighted distance between two vectors and returns it + + The first 1D source vector + The second 1D source vector + The inverse covariation matrix + the Mahalanobis distance + + + + Performs Principal Component Analysis of the supplied dataset. + + Input samples stored as the matrix rows or as the matrix columns. + Optional mean value; if the matrix is empty, the mean is computed from the data. + The eigenvectors. + Maximum number of components that PCA should retain; by default, all the components are retained. + + + + Performs Principal Component Analysis of the supplied dataset. + + Input samples stored as the matrix rows or as the matrix columns. + Optional mean value; if the matrix is empty, the mean is computed from the data. + The eigenvectors. + Percentage of variance that PCA should retain. Using this parameter will let the PCA decided how many components to retain but it will always keep at least 2. + + + + Projects vector(s) to the principal component subspace. + + Input vector(s); must have the same dimensionality and the same layout as the input data used at PCA phase + The mean. + The eigenvectors. + The result. + + + + Reconstructs vectors from their PC projections. + + Coordinates of the vectors in the principal component subspace + The mean. + The eigenvectors. + The result. + + + + Fills output variables with low-level information about the array data. All output parameters are optional, so some of the pointers may be set to NULL. If the array is IplImage with ROI set, parameters of ROI are returned. + + Array header + Output pointer to the whole image origin or ROI origin if ROI is set + Output full row length in bytes + Output ROI size + + + + Returns matrix header for the input array that can be matrix - CvMat, image - IplImage or multi-dimensional dense array - CvMatND* (latter case is allowed only if allowND != 0) . In the case of matrix the function simply returns the input pointer. In the case of IplImage* or CvMatND* it initializes header structure with parameters of the current image ROI and returns pointer to this temporary structure. Because COI is not supported by CvMat, it is returned separately. + + Input array + Pointer to CvMat structure used as a temporary buffer + Optional output parameter for storing COI + If non-zero, the function accepts multi-dimensional dense arrays (CvMatND*) and returns 2D (if CvMatND has two dimensions) or 1D matrix (when CvMatND has 1 dimension or more than 2 dimensions). The array must be continuous + Returns matrix header for the input array + + + + Returns image header for the input array that can be matrix - CvMat*, or image - IplImage*. + + Input array. + Pointer to IplImage structure used as a temporary buffer. + Returns image header for the input array + + + + Checks that every array element is neither NaN nor Infinity. If CV_CHECK_RANGE is set, it also checks that every element is greater than or equal to minVal and less than maxVal. + + The array to check. + The operation flags, CHECK_NAN_INFINITY or combination of + CHECK_RANGE - if set, the function checks that every value of array is within [minVal,maxVal) range, otherwise it just checks that every element is neither NaN nor Infinity. + CHECK_QUIET - if set, the function does not raises an error if an element is invalid or out of range + + The inclusive lower boundary of valid values range. It is used only if CHECK_RANGE is set. + The exclusive upper boundary of valid values range. It is used only if CHECK_RANGE is set. + Returns nonzero if the check succeeded, i.e. all elements are valid and within the range, and zero otherwise. In the latter case if CV_CHECK_QUIET flag is not set, the function raises runtime error. + + + + Get or set the number of threads that are used by parallelized OpenCV functions + + When the argument is zero or negative, and at the beginning of the program, the number of threads is set to the number of processors in the system, as returned by the function omp_get_num_procs() from OpenMP runtime. + + + + Returns the index, from 0 to cvGetNumThreads()-1, of the thread that called the function. It is a wrapper for the function omp_get_thread_num() from OpenMP runtime. The retrieved index may be used to access local-thread data inside the parallelized code fragments. + + + + + Returns the number of logical CPUs available for the process. + + + + + Compares the corresponding elements of two arrays and fills the destination mask array: + dst(I)=src1(I) op src2(I), + dst(I) is set to 0xff (all '1'-bits) if the particular relation between the elements is true and 0 otherwise. + All the arrays must have the same type, except the destination, and the same size (or ROI size) + + The first image to compare with + The second image to compare with + dst(I) is set to 0xff (all '1'-bits) if the particular relation between the elements is true and 0 otherwise. + The comparison operator type + + + + Converts CvMat, IplImage , or CvMatND to Mat. + + Input CvMat, IplImage , or CvMatND. + When true (default value), CvMatND is converted to 2-dimensional Mat, if it is possible (see the discussion below); if it is not possible, or when the parameter is false, the function will report an error + When false (default value), no data is copied and only the new header is created, in this case, the original array should not be deallocated while the new matrix header is used; if the parameter is true, all the data is copied and you may deallocate the original array right after the conversion. + Parameter specifying how the IplImage COI (when set) is handled. If coiMode=0 and COI is set, the function reports an error. If coiMode=1 , the function never reports an error. Instead, it returns the header to the whole original image and you will have to check and process COI manually. + The Mat header + + + + Horizontally concatenate two images + + The first image + The second image + The result image + + + + Vertically concatenate two images + + The first image + The second image + The result image + + + + Swaps two matrices + + The Mat to be swapped + The Mat to be swapped + + + + Swaps two matrices + + The UMat to be swapped + The UMat to be swapped + + + + Check if we have OpenCL + + + + + Get or set if OpenCL should be used + + + + + Finishes OpenCL queue. + + + + + Get the OpenCL platform summary as a string + + An OpenCL platform summary + + + + Set the default opencl device + + The name of the opencl device + + + + Gets a value indicating whether this device have open CL compatible gpu device. + + true if have open CL compatible gpu device; otherwise, false. + + + + Implements k-means algorithm that finds centers of cluster_count clusters and groups the input samples around the clusters. On output labels(i) contains a cluster index for sample stored in the i-th row of samples matrix + + Floating-point matrix of input samples, one row per sample + Output integer vector storing cluster indices for every sample + Specifies maximum number of iterations and/or accuracy (distance the centers move by between the subsequent iterations) + The number of attempts. Use 2 if not sure + Flags, use 0 if not sure + Pointer to array of centers, use IntPtr.Zero if not sure + Number of clusters to split the set by. + The function returns the compactness measure. The best (minimum) value is chosen and the corresponding labels and the compactness value are returned by the function. + + + + The grab cut algorithm for segmentation + + The 8-bit 3-channel image to be segmented + Input/output 8-bit single-channel mask. The mask is initialized by the function + when mode is set to GC_INIT_WITH_RECT. Its elements may have one of following values: + 0 (GC_BGD) defines an obvious background pixels. + 1 (GC_FGD) defines an obvious foreground (object) pixel. + 2 (GC_PR_BGR) defines a possible background pixel. + 3 (GC_PR_FGD) defines a possible foreground pixel. + + The rectangle to initialize the segmentation + + Temporary array for the background model. Do not modify it while you are + processing the same image. + + + Temporary arrays for the foreground model. Do not modify it while you are + processing the same image. + + The number of iterations + The initialization type + + + + Calculate square root of each source array element. in the case of multichannel + arrays each channel is processed independently. The function accuracy is approximately + the same as of the built-in std::sqrt. + + The source floating-point array + The destination array; will have the same size and the same type as src + + + + Applies a GNU Octave/MATLAB equivalent colormap on a given image. + + The source image, grayscale or colored of type CV_8UC1 or CV_8UC3 + The result is the colormapped source image + The type of color map + + + + Applies a user colormap on a given image. + + The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. + The result is the colormapped source image. + The colormap to apply of type CV_8UC1 or CV_8UC3 and size 256 + + + + Check that every array element is neither NaN nor +- inf. The functions also check that each value + is between minVal and maxVal. in the case of multi-channel arrays each channel is processed + independently. If some values are out of range, position of the first outlier is stored in pos, + and then the functions either return false (when quiet=true) or throw an exception. + + The array to check + The flag indicating whether the functions quietly return false when the array elements are + out of range, or they throw an exception + This will be filled with the position of the first outlier + The inclusive lower boundary of valid values range + The exclusive upper boundary of valid values range + If quiet, return true if all values are in range + + + + Converts NaN's to the given number + + The array where NaN needs to be converted + The value to convert to + + + + Computes an optimal affine transformation between two 3D point sets. + + First input 3D point set. + Second input 3D point set. + Output 3D affine transformation matrix. + Output vector indicating which points are inliers. + Maximum reprojection error in the RANSAC algorithm to consider a point as an inlier. + Confidence level, between 0 and 1, for the estimated transformation. Anything between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation. + The result + + + + Computes an optimal affine transformation between two 3D point sets. + + First input 3D point set. + Second input 3D point set. + Output 3D affine transformation matrix 3 x 4 + Output vector indicating which points are inliers. + Maximum reprojection error in the RANSAC algorithm to consider a point as an inlier. + Confidence level, between 0 and 1, for the estimated transformation. Anything between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation. + the result + + + + Finds the global minimum and maximum in an array + + Input single-channel array. + The returned minimum value + The returned maximum value + The returned minimum location + The returned maximum location + The extremums are searched across the whole array if mask is IntPtr.Zert. Otherwise, search is performed in the specified array region. + + + + Applies arbitrary linear filter to the image. In-place operation is supported. When the aperture is partially outside the image, the function interpolates outlier pixel values from the nearest pixels that is inside the image + + The source image + The destination image + Convolution kernel, single-channel floating point matrix. If you want to apply different kernels to different channels, split the image using cvSplit into separate color planes and process them individually + The anchor of the kernel that indicates the relative position of a filtered point within the kernel. The anchor shoud lie within the kernel. The special default value (-1,-1) means that it is at the kernel center + The optional value added to the filtered pixels before storing them in dst + The pixel extrapolation method. + + + + The function applies a separable linear filter to the image. That is, first, every row of src is filtered with the 1D kernel kernelX. Then, every column of the result is filtered with the 1D kernel kernelY. The final result shifted by delta is stored in dst . + + Source image. + Destination image of the same size and the same number of channels as src. + Destination image depth + Coefficients for filtering each row. + Coefficients for filtering each column. + Anchor position within the kernel. The value (-1,-1) means that the anchor is at the kernel center. + Value added to the filtered results before storing them. + Pixel extrapolation method + + + + Performs linear blending of two images: + dst(i, j)=weights1(i, j) x src1(i, j) + weights2(i, j) x src2(i, j) + + It has a type of CV_8UC(n) or CV_32FC(n), where n is a positive integer. + It has the same type and size as src1. + It has a type of CV_32FC1 and the same size with src1. + It has a type of CV_32FC1 and the same size with src1. + It is created if it does not have the same size and type with src1. + + + + Contrast Limited Adaptive Histogram Equalization (CLAHE) + + The source image + Clip Limit, use 40 for default + Tile grid size, use (8, 8) for default + The destination image + + + + This function retrieve the Open CV structure sizes in unmanaged code + + The structure that will hold the Open CV structure sizes + + + + Finds centers in the grid of circles + + Source chessboard view + The number of inner circle per chessboard row and column + Various operation flags + The feature detector. Use a SimpleBlobDetector for default + The center of circles detected if the chess board pattern is found, otherwise null is returned + + + + Finds centers in the grid of circles + + Source chessboard view + The number of inner circle per chessboard row and column + Various operation flags + The feature detector. Use a SimpleBlobDetector for default + output array of detected centers. + True if grid found. + + + + The file name of the cvextern library + + + + + The file name of the cvextern library + + + + + The file name of the opencv_ffmpeg library + + + + + The List of the opencv modules + + + + + Creates a window which can be used as a placeholder for images and trackbars. Created windows are reffered by their names. + If the window with such a name already exists, the function does nothing. + + Name of the window which is used as window identifier and appears in the window caption + Flags of the window. + + + + Waits for key event infinitely (delay <= 0) or for "delay" milliseconds. + + Delay in milliseconds. + The code of the pressed key or -1 if no key were pressed until the specified timeout has elapsed + + + + Shows the image in the specified window + + Name of the window + Image to be shown + + + + Destroys the window with a given name + + Name of the window to be destroyed + + + + Destroys all of the HighGUI windows. + + + + + Selects ROI on the given image. Function creates a window and allows user to select a ROI using mouse. Controls: use space or enter to finish selection, use key c to cancel selection (function will return the zero cv::Rect). + + Name of the window where selection process will be shown. + Image to select a ROI. + If true crosshair of selection rectangle will be shown. + If true center of selection will match initial mouse position. In opposite case a corner of selection rectangle will correspont to the initial mouse position. + Selected ROI or empty rect if selection canceled. + + + + Selects ROIs on the given image. Function creates a window and allows user to select a ROIs using mouse. Controls: use space or enter to finish current selection and start a new one, use esc to terminate multiple ROI selection process. + + Name of the window where selection process will be shown. + Image to select a ROI. + If true crosshair of selection rectangle will be shown. + If true center of selection will match initial mouse position. In opposite case a corner of selection rectangle will correspont to the initial mouse position. + Selected ROIs. + + + + Loads an image from the specified file and returns the pointer to the loaded image. Currently the following file formats are supported: + Windows bitmaps - BMP, DIB; + JPEG files - JPEG, JPG, JPE; + Portable Network Graphics - PNG; + Portable image format - PBM, PGM, PPM; + Sun rasters - SR, RAS; + TIFF files - TIFF, TIF; + OpenEXR HDR images - EXR; + JPEG 2000 images - jp2. + + The name of the file to be loaded + The image loading type + The loaded image + + + + The function imreadmulti loads a multi-page image from the specified file into a vector of Mat objects. + + Name of file to be loaded. + Read flags + Null if the reading fails, otherwise, an array of Mat from the file + + + + Saves the image to the specified file. The image format is chosen depending on the filename extension, see cvLoadImage. Only 8-bit single-channel or 3-channel (with 'BGR' channel order) images can be saved using this function. If the format, depth or channel order is different, use cvCvtScale and cvCvtColor to convert it before saving, or use universal cvSave to save the image to XML or YAML format + + The name of the file to be saved to + The image to be saved + The parameters + true if success + + + + Decode image stored in the buffer + + The buffer + The image loading type + The output placeholder for the decoded matrix. + + + + Decode image stored in the buffer + + The buffer + The image loading type + The output placeholder for the decoded matrix. + + + + encode image and store the result as a byte vector. + + The image format + The image + Output buffer resized to fit the compressed image. + The pointer to the array of integers, which contains the parameter for encoding, use IntPtr.Zero for default + + + + Extracts pixels from src: + dst(x, y) = src(x + center.x - (width(dst)-1)*0.5, y + center.y - (height(dst)-1)*0.5) + where the values of pixels at non-integer coordinates are retrieved using bilinear interpolation. Every channel of multiple-channel images is processed independently. Whereas the rectangle center must be inside the image, the whole rectangle may be partially occluded. In this case, the replication border mode is used to get pixel values beyond the image boundaries. + + Source image + Size of the extracted patch. + Extracted rectangle + Depth of the extracted pixels. By default, they have the same depth as . + Floating point coordinates of the extracted rectangle center within the source image. The center must be inside the image. + + + + Resizes the image src down to or up to the specified size + + Source image. + Destination image + Output image size; if it equals zero, it is computed as: dsize=Size(round(fx*src.cols), round(fy * src.rows)). Either dsize or both fx and fy must be non-zero. + Scale factor along the horizontal axis + Scale factor along the vertical axis; + Interpolation method + + + + Resize an image such that it fits in a given frame + + The source image + The result image + The size of the frame + The interpolation method + If true, it will not try to scale up the image to fit the frame + + + + Applies an affine transformation to an image. + + Source image + Destination image + 2x3 transformation matrix + Size of the output image. + Interpolation method + Warp method + Pixel extrapolation method + A value used to fill outliers + + + + Calculates the matrix of an affine transform such that: + (x'_i,y'_i)^T=map_matrix (x_i,y_i,1)^T + where dst(i)=(x'_i,y'_i), src(i)=(x_i,y_i), i=0..2. + + Coordinates of 3 triangle vertices in the source image. If the array contains more than 3 points, only the first 3 will be used + Coordinates of the 3 corresponding triangle vertices in the destination image. If the array contains more than 3 points, only the first 3 will be used + The 2x3 rotation matrix that defines the Affine transform + + + + Calculates the matrix of an affine transform such that: + (x'_i,y'_i)^T=map_matrix (x_i,y_i,1)^T + where dst(i)=(x'_i,y'_i), src(i)=(x_i,y_i), i=0..2. + + Pointer to an array of PointF, Coordinates of 3 triangle vertices in the source image. + Pointer to an array of PointF, Coordinates of the 3 corresponding triangle vertices in the destination image + The destination 2x3 matrix + + + + Calculates rotation matrix + + Center of the rotation in the source image. + The rotation angle in degrees. Positive values mean couter-clockwise rotation (the coordiate origin is assumed at top-left corner). + Isotropic scale factor + Pointer to the destination 2x3 matrix + Pointer to the destination 2x3 matrix + + + + Applies a perspective transformation to an image + + Source image + Destination image + 3x3 transformation matrix + Size of the output image + Interpolation method + Warp method + Pixel extrapolation method + value used in case of a constant border + + + + calculates matrix of perspective transform such that: + (t_i x'_i,t_i y'_i,t_i)^T=map_matrix (x_i,y_i,1)T + where dst(i)=(x'_i,y'_i), src(i)=(x_i,y_i), i=0..3. + + Coordinates of 4 quadrangle vertices in the source image + Coordinates of the 4 corresponding quadrangle vertices in the destination image + The perspective transform matrix + + + + calculates matrix of perspective transform such that: + (t_i x'_i,t_i y'_i,t_i)^T=map_matrix (x_i,y_i,1)^T + where dst(i)=(x'_i,y'_i), src(i)=(x_i,y_i), i=0..3. + + Coordinates of 4 quadrangle vertices in the source image + Coordinates of the 4 corresponding quadrangle vertices in the destination image + The 3x3 Homography matrix + + + + Applies a generic geometrical transformation to an image. + + Source image + Destination image + The first map of either (x,y) points or just x values having the type CV_16SC2 , CV_32FC1 , or CV_32FC2 . See convertMaps() for details on converting a floating point representation to fixed-point for speed. + The second map of y values having the type CV_16UC1 , CV_32FC1 , or none (empty map if map1 is (x,y) points), respectively. + Interpolation method (see resize() ). The method 'Area' is not supported by this function. + Pixel extrapolation method + A value used to fill outliers + + + + Inverts an affine transformation + + Original affine transformation + Output reverse affine transformation. + + + + The function emulates the human "foveal" vision and can be used for fast scale and rotation-invariant template matching, for object tracking etc. + + Source image + Destination image + The transformation center, where the output precision is maximal + Magnitude scale parameter + Interpolation method + warp method + + + + The function emulates the human "foveal" vision and can be used for fast scale and rotation-invariant template matching, for object tracking etc. + + Source image + Destination image + The transformation center, where the output precision is maximal + Maximum radius + Interpolation method + Warp method + + + + Performs downsampling step of Gaussian pyramid decomposition. First it convolves source image with the specified filter and then downsamples the image by rejecting even rows and columns. + + The source image. + The destination image, should have 2x smaller width and height than the source. + Border type + + + + Performs up-sampling step of Gaussian pyramid decomposition. First it upsamples the source image by injecting even zero rows and columns and then convolves result with the specified filter multiplied by 4 for interpolation. So the destination image is four times larger than the source image. + + The source image. + The destination image, should have 2x smaller width and height than the source. + Border type + + + + The function constructs a vector of images and builds the Gaussian pyramid by recursively applying pyrDown to the previously built pyramid layers, starting from dst[0]==src. + + Source image. Check pyrDown for the list of supported types. + Destination vector of maxlevel+1 images of the same type as src. dst[0] will be the same as src. dst[1] is the next pyramid layer, a smoothed and down-sized src, and so on. + 0-based index of the last (the smallest) pyramid layer. It must be non-negative. + Pixel extrapolation method + + + + Implements one of the variants of watershed, non-parametric marker-based segmentation algorithm, described in [Meyer92] Before passing the image to the function, user has to outline roughly the desired regions in the image markers with positive (>0) indices, i.e. every region is represented as one or more connected components with the pixel values 1, 2, 3 etc. Those components will be "seeds" of the future image regions. All the other pixels in markers, which relation to the outlined regions is not known and should be defined by the algorithm, should be set to 0's. On the output of the function, each pixel in markers is set to one of values of the "seed" components, or to -1 at boundaries between the regions. + + Note, that it is not necessary that every two neighbor connected components are separated by a watershed boundary (-1's pixels), for example, in case when such tangent components exist in the initial marker image. + The input 8-bit 3-channel image + The input/output Int32 depth single-channel image (map) of markers. + + + + Finds minimum area rectangle that contains both input rectangles inside + + First rectangle + Second rectangle + The minimum area rectangle that contains both input rectangles inside + + + + Fits line to 2D or 3D point set + + Input vector of 2D or 3D points, stored in std::vector or Mat. + The distance used for fitting + Numerical parameter (C) for some types of distances, if 0 then some optimal value is chosen + Sufficient accuracy for radius (distance between the coordinate origin and the line), 0.01 would be a good default + Sufficient accuracy for angle, 0.01 would be a good default + Output line parameters. In case of 2D fitting, it should be a vector of 4 elements (like Vec4f) - (vx, vy, x0, y0), where (vx, vy) is a normalized vector collinear to the line + and (x0, y0) is a point on the line. In case of 3D fitting, it should be a vector of 6 elements + (like Vec6f) - (vx, vy, vz, x0, y0, z0), where (vx, vy, vz) is a normalized vector + collinear to the line and (x0, y0, z0) is a point on the line. + + + + + Fits line to 2D or 3D point set + + Input vector of 2D points. + The distance used for fitting + Numerical parameter (C) for some types of distances, if 0 then some optimal value is chosen + Sufficient accuracy for radius (distance between the coordinate origin and the line), 0.01 would be a good default + Sufficient accuracy for angle, 0.01 would be a good default + A normalized vector collinear to the line + A point on the line. + + + + Finds out if there is any intersection between two rotated rectangles. + + First rectangle + Second rectangle + The output array of the verticies of the intersecting region. It returns at most 8 vertices. Stored as VectorOfPointF or Mat as Mx1 of type CV_32FC2. + The intersect type + + + + Calculates vertices of the input 2d box. + + The box + The four vertices of rectangles. + + + + Calculates vertices of the input 2d box. + + The box + The output array of four vertices of rectangles. + + + + Fits an ellipse around a set of 2D points. + + Input 2D point set + The ellipse that fits best (in least-squares sense) to a set of 2D points + + + + The function calculates the ellipse that fits a set of 2D points. The Approximate Mean Square (AMS) is used. + + Input 2D point set + The rotated rectangle in which the ellipse is inscribed + + + + The function calculates the ellipse that fits a set of 2D points. The Direct least square (Direct) method by [58] is used. + + Input 2D point set + The rotated rectangle in which the ellipse is inscribed + + + + Finds convex hull of 2D point set using Sklansky's algorithm + + The points to find convex hull from + Orientation flag. If it is true, the output convex hull is oriented clockwise. Otherwise, it is oriented counter-clockwise. The assumed coordinate system has its X axis pointing to the right, and its Y axis pointing upwards. + The convex hull of the points + + + + The function cvConvexHull2 finds convex hull of 2D point set using Sklansky's algorithm. + + Input 2D point set + Output convex hull. It is either an integer vector of indices or vector of points. In the first case, the hull elements are 0-based indices of the convex hull points in the original array (since the set of convex hull points is a subset of the original point set). In the second case, hull elements are the convex hull points themselves. + Orientation flag. If it is true, the output convex hull is oriented clockwise. Otherwise, it is oriented counter-clockwise. The assumed coordinate system has its X axis pointing to the right, and its Y axis pointing upwards. + Operation flag. In case of a matrix, when the flag is true, the function returns convex hull points. Otherwise, it returns indices of the convex hull points. When the output array is std::vector, the flag is ignored, and the output depends on the type of the vector + + + + The default morphology value. + + + + + Erodes the source image using the specified structuring element that determines the shape of a pixel neighborhood over which the minimum is taken: + dst=erode(src,element): dst(x,y)=min((x',y') in element)) src(x+x',y+y') + The function supports the in-place mode. Erosion can be applied several (iterations) times. In case of color image each channel is processed independently. + + Source image. + Destination image + Structuring element used for erosion. If it is IntPtr.Zero, a 3x3 rectangular structuring element is used. + Number of times erosion is applied. + Pixel extrapolation method + Border value in case of a constant border, use Constant for default + Position of the anchor within the element; default value (-1, -1) means that the anchor is at the element center. + + + + Dilates the source image using the specified structuring element that determines the shape of a pixel neighborhood over which the maximum is taken + The function supports the in-place mode. Dilation can be applied several (iterations) times. In case of color image each channel is processed independently + + Source image + Destination image + Structuring element used for erosion. If it is IntPtr.Zero, a 3x3 rectangular structuring element is used + Number of times erosion is applied + Pixel extrapolation method + Border value in case of a constant border + Position of the anchor within the element; default value (-1, -1) means that the anchor is at the element center. + + + + Blurs an image using a Gaussian filter. + + input image; the image can have any number of channels, which are processed independently, but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. + output image of the same size and type as src. + Gaussian kernel size. ksize.width and ksize.height can differ but they both must be positive and odd. Or, they can be zero’s and then they are computed from sigma* . + Gaussian kernel standard deviation in X direction. + Gaussian kernel standard deviation in Y direction; if sigmaY is zero, it is set to be equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height , respectively (see getGaussianKernel() for details); to fully control the result regardless of possible future modifications of all this semantics, it is recommended to specify all of ksize, sigmaX, and sigmaY. + Pixel extrapolation method + + + + Blurs an image using the normalized box filter. + + input image; it can have any number of channels, which are processed independently, but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. + Output image of the same size and type as src. + Blurring kernel size. + Anchor point; default value Point(-1,-1) means that the anchor is at the kernel center. + Border mode used to extrapolate pixels outside of the image. + + + + Blurs an image using the median filter. + + Input 1-, 3-, or 4-channel image; when ksize is 3 or 5, the image depth should be CV_8U, CV_16U, or CV_32F, for larger aperture sizes, it can only be CV_8U. + Destination array of the same size and type as src. + Aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ... + + + + Blurs an image using the box filter. + + Input image. + Output image of the same size and type as src. + The output image depth (-1 to use src.depth()). + Blurring kernel size. + Anchor point; default value Point(-1,-1) means that the anchor is at the kernel center. + Specifying whether the kernel is normalized by its area or not. + Border mode used to extrapolate pixels outside of the image. + + + + Calculates the normalized sum of squares of the pixel values overlapping the filter. + For every pixel(x, y) in the source image, the function calculates the sum of squares of those neighboring pixel values which overlap the filter placed over the pixel(x, y). + The unnormalized square box filter can be useful in computing local image statistics such as the the local variance and standard deviation around the neighborhood of a pixel. + + input image + output image of the same size and type as src + the output image depth (-1 to use src.depth()) + kernel size + kernel anchor point. The default value of Point(-1, -1) denotes that the anchor is at the kernel center + flag, specifying whether the kernel is to be normalized by it's area or not. + border mode used to extrapolate pixels outside of the image + + + + Applies the bilateral filter to an image. + + Source 8-bit or floating-point, 1-channel or 3-channel image. + Destination image of the same size and type as src . + Diameter of each pixel neighborhood that is used during filtering. If it is non-positive, it is computed from sigmaSpace . + Filter sigma in the color space. A larger value of the parameter means that farther colors within the pixel neighborhood (see sigmaSpace ) will be mixed together, resulting in larger areas of semi-equal color. + Filter sigma in the coordinate space. A larger value of the parameter means that farther pixels will influence each other as long as their colors are close enough (see sigmaColor ). When d>0 , it specifies the neighborhood size regardless of sigmaSpace. Otherwise, d is proportional to sigmaSpace. + Border mode used to extrapolate pixels outside of the image. + + + + The Sobel operators combine Gaussian smoothing and differentiation so the result is more or less robust to the noise. Most often, the function is called with (xorder=1, yorder=0, aperture_size=3) or (xorder=0, yorder=1, aperture_size=3) to calculate first x- or y- image derivative. The first case corresponds to +
 
+              |-1  0  1|
+              |-2  0  2|
+              |-1  0  1|
+ kernel and the second one corresponds to +
+              |-1 -2 -1|
+              | 0  0  0|
+              | 1  2  1|
+ or +
+              | 1  2  1|
+              | 0  0  0|
+              |-1 -2 -1|
+ kernel, depending on the image origin (origin field of IplImage structure). No scaling is done, so the destination image usually has larger by absolute value numbers than the source image. To avoid overflow, the function requires 16-bit destination image if the source image is 8-bit. The result can be converted back to 8-bit using cvConvertScale or cvConvertScaleAbs functions. Besides 8-bit images the function can process 32-bit floating-point images. Both source and destination must be single-channel images of equal size or ROI size +
+ Source image. + Destination image + output image depth; the following combinations of src.depth() and ddepth are supported: + src.depth() = CV_8U, ddepth = -1/CV_16S/CV_32F/CV_64F + src.depth() = CV_16U/CV_16S, ddepth = -1/CV_32F/CV_64F + src.depth() = CV_32F, ddepth = -1/CV_32F/CV_64F + src.depth() = CV_64F, ddepth = -1/CV_64F + when ddepth=-1, the destination image will have the same depth as the source; in the case of 8-bit input images it will result in truncated derivatives. + Order of the derivative x + Order of the derivative y + Size of the extended Sobel kernel, must be 1, 3, 5 or 7. + Pixel extrapolation method + Optional scale factor for the computed derivative values + Optional delta value that is added to the results prior to storing them in +
+ + + Calculates the first order image derivative in both x and y using a Sobel operator. Equivalent to calling: + Sobel(src, dx, CV_16SC1, 1, 0, 3 ); + Sobel(src, dy, CV_16SC1, 0, 1, 3 ); + + input image. + output image with first-order derivative in x. + output image with first-order derivative in y. + size of Sobel kernel. It must be 3. + pixel extrapolation method + + + + Calculates the first x- or y- image derivative using Scharr operator. + + input image. + output image of the same size and the same number of channels as src. + output image depth + order of the derivative x. + order of the derivative y. + optional scale factor for the computed derivative values; by default, no scaling is applied + optional delta value that is added to the results prior to storing them in dst. + pixel extrapolation method + + + + Calculates Laplacian of the source image by summing second x- and y- derivatives calculated using Sobel operator: + dst(x,y) = d2src/dx2 + d2src/dy2 + Specifying aperture_size=1 gives the fastest variant that is equal to convolving the image with the following kernel: + |0 1 0| + |1 -4 1| + |0 1 0| + Similar to cvSobel function, no scaling is done and the same combinations of input and output formats are supported. + + Source image. + Destination image. Should have type of float + Desired depth of the destination image. + Aperture size used to compute the second-derivative filters. + Optional scale factor for the computed Laplacian values. By default, no scaling is applied. + Optional delta value that is added to the results prior to storing them in dst. + Pixel extrapolation method. + + + + Finds the edges on the input and marks them in the output image edges using the Canny algorithm. The smallest of threshold1 and threshold2 is used for edge linking, the largest - to find initial segments of strong edges. + + Input image + Image to store the edges found by the function + The first threshold + The second threshold. + Aperture parameter for Sobel operator + a flag, indicating whether a more accurate norm should be used to calculate the image gradient magnitude ( L2gradient=true ), or whether the default norm is enough ( L2gradient=false ). + + + + Finds the edges on the input , and marks them in the output image edges using the Canny algorithm. The smallest of threshold1 and threshold2 is used for edge linking, the largest - to find initial segments of strong edges. + + 16-bit x derivative of input image + 16-bit y derivative of input image + Image to store the edges found by the function + The first threshold + The second threshold. + a flag, indicating whether a more accurate norm should be used to calculate the image gradient magnitude ( L2gradient=true ), or whether the default norm is enough ( L2gradient=false ). + + + + The function tests whether the input contour is convex or not. The contour must be simple, that is, without self-intersections. Otherwise, the function output is undefined. + + Input vector of 2D points + true if input is convex + + + + finds intersection of two convex polygons + + The first convex polygon + The second convex polygon + The intersection of the convex polygon + Handle nest + + + + + Determines whether the point is inside contour, outside, or lies on an edge (or coinsides with a vertex). It returns positive, negative or zero value, correspondingly + + Input contour + The point tested against the contour + If != 0, the function estimates distance from the point to the nearest contour edge + + When measureDist = false, the return value is >0 (inside), <0 (outside) and =0 (on edge), respectively. + When measureDist != true, it is a signed distance between the point and the nearest contour edge + + + + + Finds the convexity defects of a contour. + + Input contour + Convex hull obtained using ConvexHull that should contain pointers or indices to the contour points, not the hull points themselves, i.e. return_points parameter in cvConvexHull2 should be 0 + The output vector of convexity defects. Each convexity defect is represented as 4-element integer vector (a.k.a. cv::Vec4i): (start_index, end_index, farthest_pt_index, fixpt_depth), where indices are 0-based indices in the original contour of the convexity defect beginning, end and the farthest point, and fixpt_depth is fixed-point approximation (with 8 fractional bits) of the distance between the farthest contour point and the hull. That is, to get the floating-point value of the depth will be fixpt_depth/256.0. + + + + Find the bounding rectangle for the specific array of points + + The collection of points + The bounding rectangle for the array of points + + + + Finds a rotated rectangle of the minimum area enclosing the input 2D point set. + + Input vector of 2D points + a circumscribed rectangle of the minimal area for 2D point set + + + + Finds the minimal circumscribed circle for 2D point set using iterative algorithm. It returns nonzero if the resultant circle contains all the input points and zero otherwise (i.e. algorithm failed) + + Sequence or array of 2D points + The minimal circumscribed circle for 2D point set + + + + Finds the minimal circumscribed circle for 2D point set using iterative algorithm. It returns nonzero if the resultant circle contains all the input points and zero otherwise (i.e. algorithm failed) + + Sequence or array of 2D points + The minimal circumscribed circle for 2D point set + + + + Finds a triangle of minimum area enclosing a 2D point set and returns its area. + + Input vector of 2D points with depth CV_32S or CV_32F + Output vector of three 2D points defining the vertices of the triangle. The depth of the OutputArray must be CV_32F. + The triangle's area + + + + Approximates a polygonal curve(s) with the specified precision. + + Input vector of a 2D point + Result of the approximation. The type should match the type of the input curve. + Parameter specifying the approximation accuracy. This is the maximum distance between the original curve and its approximation. + If true, the approximated curve is closed (its first and last vertices are connected). Otherwise, it is not closed. + + + + Returns the up-right bounding rectangle for 2d point set + + Input 2D point set, stored in std::vector or Mat. + The up-right bounding rectangle for 2d point set + + + + Calculates area of the whole contour or contour section. + + Input vector of 2D points (contour vertices), stored in std::vector or Mat. + Oriented area flag. If it is true, the function returns a signed area value, depending on the contour orientation (clockwise or counter-clockwise). + Using this feature you can determine orientation of a contour by taking the sign of an area. + By default, the parameter is false, which means that the absolute value is returned. + The area of the whole contour or contour section + + + + Calculates a contour perimeter or a curve length + + Sequence or array of the curve points + + Indicates whether the curve is closed or not. + + Contour perimeter or a curve length + + + + Applies a fixed-level threshold to each array element. + The function applies fixed-level thresholding to a multiple-channel array. The function is typically used to get a bi-level (binary) image out of a grayscale image ( compare could be also used for this purpose) or for removing a noise, that is, filtering out pixels with too small or too large values. There are several types of thresholding supported by the function. They are determined by type parameter. + + Input array (multiple-channel, 8-bit or 32-bit floating point). + Output array of the same size and type and the same number of channels as src. + Threshold value + Maximum value to use with CV_THRESH_BINARY and CV_THRESH_BINARY_INV thresholding types + Thresholding type + + + + Transforms grayscale image to binary image. + Threshold calculated individually for each pixel. + For the method CV_ADAPTIVE_THRESH_MEAN_C it is a mean of x pixel + neighborhood, subtracted by param1. + For the method CV_ADAPTIVE_THRESH_GAUSSIAN_C it is a weighted sum (gaussian) of x pixel neighborhood, subtracted by param1. + + Source array (single-channel, 8-bit of 32-bit floating point). + Destination array; must be either the same type as src or 8-bit. + Maximum value to use with CV_THRESH_BINARY and CV_THRESH_BINARY_INV thresholding types + Adaptive_method + Thresholding type. must be one of CV_THRESH_BINARY, CV_THRESH_BINARY_INV + The size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, ... + Constant subtracted from mean or weighted mean. It may be negative. + + + + Retrieves contours from the binary image and returns the number of retrieved contours. The pointer firstContour is filled by the function. It will contain pointer to the first most outer contour or IntPtr.Zero if no contours is detected (if the image is completely black). Other contours may be reached from firstContour using h_next and v_next links. The sample in cvDrawContours discussion shows how to use contours for connected component detection. Contours can be also used for shape analysis and object recognition - see squares.c in OpenCV sample directory + The function modifies the source image content + + The source 8-bit single channel image. Non-zero pixels are treated as 1s, zero pixels remain 0s - that is image treated as binary. To get such a binary image from grayscale, one may use cvThreshold, cvAdaptiveThreshold or cvCanny. The function modifies the source image content + Detected contours. Each contour is stored as a vector of points. + Optional output vector, containing information about the image topology. + Retrieval mode + Approximation method (for all the modes, except CV_RETR_RUNS, which uses built-in approximation). + Offset, by which every contour point is shifted. This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context + The number of countours + + + + Retrieves contours from the binary image as a contour tree. The pointer firstContour is filled by the function. It is provided as a convenient way to obtain the hierarchy value as int[,]. + The function modifies the source image content + + The source 8-bit single channel image. Non-zero pixels are treated as 1s, zero pixels remain 0s - that is image treated as binary. To get such a binary image from grayscale, one may use cvThreshold, cvAdaptiveThreshold or cvCanny. The function modifies the source image content + Detected contours. Each contour is stored as a vector of points. + Approximation method (for all the modes, except CV_RETR_RUNS, which uses built-in approximation). + Offset, by which every contour point is shifted. This is useful if the contours are extracted from the image ROI and then they should be analyzed in the whole image context + The contour hierarchy + + + + Convert raw data to bitmap + + The pointer to the raw data + The step + The size of the image + The source image color type + The number of channels + The source image depth type + Try to create Bitmap that shares the data with the image + The Bitmap + + + + Converts input image from one color space to another. The function ignores colorModel and channelSeq fields of IplImage header, so the source image color space should be specified correctly (including order of the channels in case of RGB space, e.g. BGR means 24-bit format with B0 G0 R0 B1 G1 R1 ... layout, whereas RGB means 24-bit format with R0 G0 B0 R1 G1 B1 ... layout). + + The source 8-bit (8u), 16-bit (16u) or single-precision floating-point (32f) image + The destination image of the same data type as the source one. The number of channels may be different + Source color type. + Destination color type + + + + Converts input image from one color space to another. The function ignores colorModel and channelSeq fields of IplImage header, so the source image color space should be specified correctly (including order of the channels in case of RGB space, e.g. BGR means 24-bit format with B0 G0 R0 B1 G1 R1 ... layout, whereas RGB means 24-bit format with R0 G0 B0 R1 G1 B1 ... layout). + + The source 8-bit (8u), 16-bit (16u) or single-precision floating-point (32f) image + The destination image of the same data type as the source one. The number of channels may be different + Color conversion operation that can be specifed using CV_src_color_space2dst_color_space constants + number of channels in the destination image; if the parameter is 0, the number of the channels is derived automatically from src and code . + + + + Finds circles in grayscale image using some modification of Hough transform + + The input 8-bit single-channel grayscale image + The storage for the circles detected. It can be a memory storage (in this case a sequence of circles is created in the storage and returned by the function) or single row/single column matrix (CvMat*) of type CV_32FC3, to which the circles' parameters are written. The matrix header is modified by the function so its cols or rows will contain a number of lines detected. If circle_storage is a matrix and the actual number of lines exceeds the matrix size, the maximum possible number of circles is returned. Every circle is encoded as 3 floating-point numbers: center coordinates (x,y) and the radius + Currently, the only implemented method is CV_HOUGH_GRADIENT + Resolution of the accumulator used to detect centers of the circles. For example, if it is 1, the accumulator will have the same resolution as the input image, if it is 2 - accumulator will have twice smaller width and height, etc + Minimum distance between centers of the detected circles. If the parameter is too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is too large, some circles may be missed + The first method-specific parameter. In case of CV_HOUGH_GRADIENT it is the higher threshold of the two passed to Canny edge detector (the lower one will be twice smaller). + The second method-specific parameter. In case of CV_HOUGH_GRADIENT it is accumulator threshold at the center detection stage. The smaller it is, the more false circles may be detected. Circles, corresponding to the larger accumulator values, will be returned first + Minimal radius of the circles to search for + Maximal radius of the circles to search for. By default the maximal radius is set to max(image_width, image_height). + Pointer to the sequence of circles + + + + Finds circles in a grayscale image using the Hough transform + + 8-bit, single-channel, grayscale input image. + Detection method to use. Currently, the only implemented method is CV_HOUGH_GRADIENT , which is basically 21HT + Inverse ratio of the accumulator resolution to the image resolution. For example, if dp=1 , the accumulator has the same resolution as the input image. If dp=2 , the accumulator has half as big width and height. + Minimum distance between the centers of the detected circles. If the parameter is too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is too large, some circles may be missed. + First method-specific parameter. In case of CV_HOUGH_GRADIENT , it is the higher threshold of the two passed to the Canny() edge detector (the lower one is twice smaller). + Second method-specific parameter. In case of CV_HOUGH_GRADIENT , it is the accumulator threshold for the circle centers at the detection stage. The smaller it is, the more false circles may be detected. Circles, corresponding to the larger accumulator values, will be returned first. + Minimum circle radius. + Maximum circle radius. + The circles detected + + + + Finds lines in a binary image using the standard Hough transform. + + 8-bit, single-channel binary source image. The image may be modified by the function. + Output vector of lines. Each line is represented by a two-element vector + Distance resolution of the accumulator in pixels. + Angle resolution of the accumulator in radians. + Accumulator threshold parameter. Only those lines are returned that get enough votes (> threshold) + For the multi-scale Hough transform, it is a divisor for the distance resolution rho . The coarse accumulator distance resolution is rho and the accurate accumulator resolution is rho/srn . If both srn=0 and stn=0 , the classical Hough transform is used. Otherwise, both these parameters should be positive. + For the multi-scale Hough transform, it is a divisor for the distance resolution theta + + + + Finds line segments in a binary image using the probabilistic Hough transform. + + 8-bit, single-channel binary source image. The image may be modified by the function. + Distance resolution of the accumulator in pixels + Angle resolution of the accumulator in radians + Accumulator threshold parameter. Only those lines are returned that get enough votes + Minimum line length. Line segments shorter than that are rejected. + Maximum allowed gap between points on the same line to link them. + The found line segments + + + + Finds line segments in a binary image using the probabilistic Hough transform. + + 8-bit, single-channel binary source image. The image may be modified by the function. + Output vector of lines. Each line is represented by a 4-element vector (x1, y1, x2, y2) + Distance resolution of the accumulator in pixels + Angle resolution of the accumulator in radians + Accumulator threshold parameter. Only those lines are returned that get enough votes + Minimum line length. Line segments shorter than that are rejected. + Maximum allowed gap between points on the same line to link them. + + + + Calculates spatial and central moments up to the third order and writes them to moments. The moments may be used then to calculate gravity center of the shape, its area, main axises and various shape characeteristics including 7 Hu invariants. + + Image (1-channel or 3-channel with COI set) or polygon (CvSeq of points or a vector of points) + (For images only) If the flag is true, all the zero pixel values are treated as zeroes, all the others are treated as 1s + The moment + + + + This function is similiar to cvCalcBackProjectPatch. It slids through image, compares overlapped patches of size wxh with templ using the specified method and stores the comparison results to result + + Image where the search is running. It should be 8-bit or 32-bit floating-point + Searched template; must be not greater than the source image and the same data type as the image + A map of comparison results; single-channel 32-bit floating-point. If image is WxH and templ is wxh then result must be W-w+1xH-h+1. + Specifies the way the template must be compared with image regions + Mask of searched template. It must have the same datatype and size with templ. It is not set by default. + + + + Compares two shapes. The 3 implemented methods all use Hu moments + + First contour or grayscale image + Second contour or grayscale image + Comparison method + Method-specific parameter (is not used now) + The result of the comparison + + + + Returns a structuring element of the specified size and shape for morphological operations. + + Element shape + Size of the structuring element. + Anchor position within the element. The value (-1, -1) means that the anchor is at the center. Note that only the shape of a cross-shaped element depends on the anchor position. In other cases the anchor just regulates how much the result of the morphological operation is shifted. + The structuring element + + + + Performs advanced morphological transformations. + + Source image. + Destination image. + Structuring element. + Type of morphological operation. + Number of times erosion and dilation are applied. + Pixel extrapolation method. + Anchor position with the kernel. Negative values mean that the anchor is at the kernel center. + Border value in case of a constant border. + + + + The algorithm normalizes brightness and increases contrast of the image + + The input 8-bit single-channel image + The output image of the same size and the same data type as src + + + + Calculates a histogram of a set of arrays. + + Source arrays. They all should have the same depth, CV_8U or CV_32F , and the same size. Each of them can have an arbitrary number of channels. + List of the channels used to compute the histogram. + Optional mask. If the matrix is not empty, it must be an 8-bit array of the same size as images[i] . The non-zero mask elements mark the array elements counted in the histogram. + Output histogram + Array of histogram sizes in each dimension. + Array of the dims arrays of the histogram bin boundaries in each dimension. + Accumulation flag. If it is set, the histogram is not cleared in the beginning when it is allocated. This feature enables you to compute a single histogram from several sets of arrays, or to update the histogram in time. + + + + Calculates the back projection of a histogram. + + Source arrays. They all should have the same depth, CV_8U or CV_32F , and the same size. Each of them can have an arbitrary number of channels. + Number of source images. + Input histogram that can be dense or sparse. + Destination back projection array that is a single-channel array of the same size and depth as images[0] . + Array of arrays of the histogram bin boundaries in each dimension. + Optional scale factor for the output back projection. + + + + Compares two histograms. + + First compared histogram. + Second compared histogram of the same size as H1 . + Comparison method + The distance between the histogram + + + + Adds the whole image or its selected region to accumulator sum + + Input image, 1- or 3-channel, 8-bit or 32-bit floating point. (each channel of multi-channel image is processed independently). + Accumulator of the same number of channels as input image, 32-bit or 64-bit floating-point. + Optional operation mask + + + + Adds the input or its selected region, raised to power 2, to the accumulator sqsum + + Input image, 1- or 3-channel, 8-bit or 32-bit floating point (each channel of multi-channel image is processed independently) + Accumulator of the same number of channels as input image, 32-bit or 64-bit floating-point + Optional operation mask + + + + Adds product of 2 images or thier selected regions to accumulator acc + + First input image, 1- or 3-channel, 8-bit or 32-bit floating point (each channel of multi-channel image is processed independently) + Second input image, the same format as the first one + Accumulator of the same number of channels as input images, 32-bit or 64-bit floating-point + Optional operation mask + + + + Calculates weighted sum of input and the accumulator acc so that acc becomes a running average of frame sequence: + acc(x,y)=(1-) * acc(x,y) + * image(x,y) if mask(x,y)!=0 + where regulates update speed (how fast accumulator forgets about previous frames). + + Input image, 1- or 3-channel, 8-bit or 32-bit floating point (each channel of multi-channel image is processed independently). + Accumulator of the same number of channels as input image, 32-bit or 64-bit floating-point. + Weight of input image + Optional operation mask + + + + Runs the Harris edge detector on image. Similarly to cvCornerMinEigenVal and cvCornerEigenValsAndVecs, for each pixel it calculates 2x2 gradient covariation matrix M over block_size x block_size neighborhood. Then, it stores + det(M) - k*trace(M)^2 + to the destination image. Corners in the image can be found as local maxima of the destination image. + + Input image + Image to store the Harris detector responces. Should have the same size as image + Neighborhood size + Aperture parameter for Sobel operator (see cvSobel). format. In the case of floating-point input format this parameter is the number of the fixed float filter used for differencing. + Harris detector free parameter. + Pixel extrapolation method. + + + + Iterates to find the sub-pixel accurate location of corners, or radial saddle points + + Input image + Initial coordinates of the input corners and refined coordinates on output + Half sizes of the search window. For example, if win=(5,5) then 5*2+1 x 5*2+1 = 11 x 11 search window is used + Half size of the dead region in the middle of the search zone over which the summation in formulae below is not done. It is used sometimes to avoid possible singularities of the autocorrelation matrix. The value of (-1,-1) indicates that there is no such size + Criteria for termination of the iterative process of corner refinement. That is, the process of corner position refinement stops either after certain number of iteration or when a required accuracy is achieved. The criteria may specify either of or both the maximum number of iteration and the required accuracy + + + + Calculates one or more integral images for the source image + Using these integral images, one may calculate sum, mean, standard deviation over arbitrary up-right or rotated rectangular region of the image in a constant time. + It makes possible to do a fast blurring or fast block correlation with variable window size etc. In case of multi-channel images sums for each channel are accumulated independently. + + The source image, WxH, 8-bit or floating-point (32f or 64f) image. + The integral image, W+1xH+1, 32-bit integer or double precision floating-point (64f). + The integral image for squared pixel values, W+1xH+1, double precision floating-point (64f). + The integral for the image rotated by 45 degrees, W+1xH+1, the same data type as sum. + Desired depth of the integral and the tilted integral images, CV_32S, CV_32F, or CV_64F. + Desired depth of the integral image of squared pixel values, CV_32F or CV_64F. + + + + Calculates distance to closest zero pixel for all non-zero pixels of source image + + Source 8-bit single-channel (binary) image. + Output image with calculated distances (32-bit floating-point, single-channel). + Type of distance + Size of distance transform mask; can be 3 or 5. + In case of CV_DIST_L1 or CV_DIST_C the parameter is forced to 3, because 3x3 mask gives the same result as 5x5 yet it is faster. + The optional output 2d array of labels of integer type and the same size as src and dst. Can be null if not needed + Type of the label array to build. If labelType==CCOMP then each connected component of zeros in src (as well as all the non-zero pixels closest to the connected component) will be assigned the same label. If labelType==PIXEL then each zero pixel (and all the non-zero pixels closest to it) gets its own label. + + + + Fills a connected component with given color. + + Input 1- or 3-channel, 8-bit or floating-point image. It is modified by the function unless CV_FLOODFILL_MASK_ONLY flag is set. + The starting point. + New value of repainted domain pixels. + Maximal lower brightness/color difference + between the currently observed pixel and one of its neighbor belong to the component + or seed pixel to add the pixel to component. + In case of 8-bit color images it is packed value. + Maximal upper brightness/color difference + between the currently observed pixel and one of its neighbor belong to the component + or seed pixel to add the pixel to component. + In case of 8-bit color images it is packed value. + The operation flags. + Operation mask, + should be singe-channel 8-bit image, 2 pixels wider and 2 pixels taller than image. + If not IntPtr.Zero, the function uses and updates the mask, so user takes responsibility of initializing mask content. + Floodfilling can't go across non-zero pixels in the mask, for example, an edge detector output can be used as a mask to stop filling at edges. + Or it is possible to use the same mask in multiple calls to the function to make sure the filled area do not overlap. + Note: because mask is larger than the filled image, pixel in mask that corresponds to (x,y) pixel in image will have coordinates (x+1,y+1). + Output parameter set by the function to the minimum bounding rectangle of the repainted domain. + Flood fill connectivity + The area of the connected component + + + + Filters image using meanshift algorithm + + Source image + Result image + The spatial window radius. + The color window radius. + Maximum level of the pyramid for the segmentation. Use 1 as default value + Termination criteria: when to stop meanshift iterations. Use new MCvTermCriteria(5, 1) as default value + + + + Converts image transformation maps from one representation to another. + + The first input map of type CV_16SC2 , CV_32FC1 , or CV_32FC2 . + The second input map of type CV_16UC1 , CV_32FC1 , or none (empty matrix), respectively. + The first output map that has the type dstmap1type and the same size as src . + The second output map. + Depth type of the first output map that should be CV_16SC2 , CV_32FC1 , or CV_32FC2. + The number of channels in the dst map. + Flag indicating whether the fixed-point maps are used for the nearest-neighbor or for a more complex interpolation. + + + + Computes the 'minimal work' distance between two weighted point configurations. + + First signature, a size1 x dims + 1 floating-point matrix. Each row stores the point weight followed by the point coordinates. The matrix is allowed to have a single column (weights only) if the user-defined cost matrix is used. + Second signature of the same format as signature1 , though the number of rows may be different. The total weights may be different. In this case an extra 'dummy' point is added to either signature1 or signature2 + Used metric. CV_DIST_L1, CV_DIST_L2 , and CV_DIST_C stand for one of the standard metrics. CV_DIST_USER means that a pre-calculated cost matrix cost is used. + User-defined size1 x size2 cost matrix. Also, if a cost matrix is used, lower boundary lowerBound cannot be calculated because it needs a metric function. + Optional input/output parameter: lower boundary of a distance between the two signatures that is a distance between mass centers. The lower boundary may not be calculated if the user-defined cost matrix is used, the total weights of point configurations are not equal, or if the signatures consist of weights only (the signature matrices have a single column). + Resultant size1 x size2 flow matrix + The 'minimal work' distance between two weighted point configurations. + + + + The function is used to detect translational shifts that occur between two images. The operation takes advantage of the Fourier shift theorem for detecting the translational shift in the frequency domain. It can be used for fast image registration as well as motion estimation. + + Source floating point array (CV_32FC1 or CV_64FC1) + Source floating point array (CV_32FC1 or CV_64FC1) + Floating point array with windowing coefficients to reduce edge effects (optional). + Signal power within the 5x5 centroid around the peak, between 0 and 1 + The translational shifts that occur between two images + + + + This function computes a Hanning window coefficients in two dimensions. + + Destination array to place Hann coefficients in + The window size specifications + Created array type + + + + Draws the line segment between pt1 and pt2 points in the image. The line is clipped by the image or ROI rectangle. For non-antialiased lines with integer coordinates the 8-connected or 4-connected Bresenham algorithm is used. Thick lines are drawn with rounding endings. Antialiased lines are drawn using Gaussian filtering. + + The image + First point of the line segment + Second point of the line segment + Line color + Line thickness. + Type of the line: + 8 (or 0) - 8-connected line. + 4 - 4-connected line. + CV_AA - antialiased line. + + Number of fractional bits in the point coordinates + + + + Draws a arrow segment pointing from the first point to the second one. + + Image + The point the arrow starts from. + The point the arrow points to. + Line color. + Line thickness. + Type of the line. + Number of fractional bits in the point coordinates. + The length of the arrow tip in relation to the arrow length + + + + Draws a single or multiple polygonal curves + + Image + Array points + + Indicates whether the polylines must be drawn closed. + If !=0, the function draws the line from the last vertex of every contour to the first vertex. + + Polyline color + Thickness of the polyline edges + Type of the line segments, see cvLine description + Number of fractional bits in the vertex coordinates + + + + Draws a single or multiple polygonal curves + + Image + Array of pointers to polylines + + Indicates whether the polylines must be drawn closed. + If !=0, the function draws the line from the last vertex of every contour to the first vertex. + + Polyline color + Thickness of the polyline edges + Type of the line segments, see cvLine description + Number of fractional bits in the vertex coordinates + + + + Draws a rectangle specified by a CvRect structure + + /// Image + The rectangle to be drawn + Line color + Thickness of lines that make up the rectangle. Negative values make the function to draw a filled rectangle. + Type of the line + Number of fractional bits in the point coordinates + + + + Computes the connected components labeled image of boolean image + + The boolean image + The connected components labeled image of boolean image + 4 or 8 way connectivity + Specifies the output label image type, an important consideration based on the total number of labels or alternatively the total number of pixels in the source image + N, the total number of labels [0, N-1] where 0 represents the background label. + + + + Computes the connected components labeled image of boolean image + + The boolean image + The connected components labeled image of boolean image + Statistics output for each label, including the background label, see below for available statistics. Statistics are accessed via stats(label, COLUMN) where COLUMN is one of cv::ConnectedComponentsTypes. The data type is CV_32S + Centroid output for each label, including the background label. Centroids are accessed via centroids(label, 0) for x and centroids(label, 1) for y. The data type CV_64F. + 4 or 8 way connectivity + Specifies the output label image type, an important consideration based on the total number of labels or alternatively the total number of pixels in the source image + N, the total number of labels [0, N-1] where 0 represents the background label. + + + + Calculates seven Hu invariants + + The output Hu moments. e.g. a Mat can be passed here. + The image moment + + + + Calculates seven Hu invariants + + The image moment + The output Hu moments. + + + + Groups the object candidate rectangles. + + Input/output vector of rectangles. Output vector includes retained and grouped rectangles. + Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + Relative difference between sides of the rectangles to merge them into a group. + + + + Groups the object candidate rectangles. + + Input/output vector of rectangles. Output vector includes retained and grouped rectangles. + Weights + Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + Relative difference between sides of the rectangles to merge them into a group. + + + + Groups the object candidate rectangles. + + Input/output vector of rectangles. Output vector includes retained and grouped rectangles. + Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + Relative difference between sides of the rectangles to merge them into a group. + weights + level weights + + + + Groups the object candidate rectangles. + + Input/output vector of rectangles. Output vector includes retained and grouped rectangles. + reject levels + level weights + Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + Relative difference between sides of the rectangles to merge them into a group. + + + + Groups the object candidate rectangles. + + Input/output vector of rectangles. Output vector includes retained and grouped rectangles. + found weights + found scales + detect threshold, use 0 for default + win det size, use (64, 128) for default + + + + Solve given (non-integer) linear programming problem using the Simplex Algorithm (Simplex Method). + What we mean here by “linear programming problem” (or LP problem, for short) can be formulated as: + Maximize c x subject to: Ax <= b and x >= 0 + + This row-vector corresponds to c in the LP problem formulation (see above). It should contain 32- or 64-bit floating point numbers. As a convenience, column-vector may be also submitted, in the latter case it is understood to correspond to c^T. + m-by-n+1 matrix, whose rightmost column corresponds to b in formulation above and the remaining to A. It should containt 32- or 64-bit floating point numbers. + The solution will be returned here as a column-vector - it corresponds to c in the formulation above. It will contain 64-bit floating point numbers. + The return codes + + + + Primal-dual algorithm is an algorithm for solving special types of variational problems (that is, finding a function to minimize some functional). + As the image denoising, in particular, may be seen as the variational problem, primal-dual algorithm then can be used to perform + denoising and this is exactly what is implemented. + + This array should contain one or more noised versions of the image that is to be restored. + Here the denoised image will be stored. There is no need to do pre-allocation of storage space, as it will be automatically allocated, if necessary. + Corresponds to in the formulas above. As it is enlarged, the smooth (blurred) images are treated more favorably than detailed (but maybe more noised) ones. Roughly speaking, as it becomes smaller, the result will be more blur but more sever outliers will be removed. + Number of iterations that the algorithm will run. Of course, as more iterations as better, but it is hard to quantitatively refine this statement, so just use the default and increase it if the results are poor. + + + + Reconstructs the selected image area from the pixel near the area boundary. The function may be used to remove dust and scratches from a scanned photo, or to remove undesirable objects from still images or video. + + The input 8-bit 1-channel or 3-channel image + The inpainting mask, 8-bit 1-channel image. Non-zero pixels indicate the area that needs to be inpainted + The output image of the same format and the same size as input + The inpainting method + The radius of circular neighborhood of each point inpainted that is considered by the algorithm + + + + Perform image denoising using Non-local Means Denoising algorithm: + http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ + with several computational optimizations. Noise expected to be a Gaussian white noise. + + Input 8-bit 1-channel, 2-channel or 3-channel image. + Output image with the same size and type as src. + Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise. + Size in pixels of the template patch that is used to compute weights. Should be odd. + Size in pixels of the window that is used to compute weighted average for given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater denoising time. + + + + Perform image denoising using Non-local Means Denoising algorithm (modified for color image): + http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/ + with several computational optimizations. Noise expected to be a Gaussian white noise. + The function converts image to CIELAB colorspace and then separately denoise L and AB components with given h parameters using fastNlMeansDenoising function. + + Input 8-bit 1-channel, 2-channel or 3-channel image. + Output image with the same size and type as src. + Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise. + The same as h but for color components. For most images value equals 10 will be enought to remove colored noise and do not distort colors. + Size in pixels of the template patch that is used to compute weights. Should be odd. + Size in pixels of the window that is used to compute weighted average for given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater denoising time. + + + + Filtering is the fundamental operation in image and video processing. Edge-preserving smoothing filters are used in many different applications. + + Input 8-bit 3-channel image + Output 8-bit 3-channel image + Edge preserving filters + Range between 0 to 200 + Range between 0 to 1 + + + + This filter enhances the details of a particular image. + + Input 8-bit 3-channel image + Output image with the same size and type as src + Range between 0 to 200 + Range between 0 to 1 + + + + Pencil-like non-photorealistic line drawing + + Input 8-bit 3-channel image + Output 8-bit 1-channel image + Output image with the same size and type as src + Range between 0 to 200 + Range between 0 to 1 + Range between 0 to 0.1 + + + + Stylization aims to produce digital imagery with a wide variety of effects not focused on photorealism. Edge-aware filters are ideal for stylization, as they can abstract regions of low contrast while preserving, or enhancing, high-contrast features. + + Input 8-bit 3-channel image. + Output image with the same size and type as src. + Range between 0 to 200. + Range between 0 to 1. + + + + Given an original color image, two differently colored versions of this image can be mixed seamlessly. + + Input 8-bit 3-channel image. + Input 8-bit 1 or 3-channel image. + Output image with the same size and type as src . + R-channel multiply factor. Multiplication factor is between .5 to 2.5. + G-channel multiply factor. Multiplication factor is between .5 to 2.5. + B-channel multiply factor. Multiplication factor is between .5 to 2.5. + + + + Applying an appropriate non-linear transformation to the gradient field inside the selection and then integrating back with a Poisson solver, modifies locally the apparent illumination of an image. + + Input 8-bit 3-channel image. + Input 8-bit 1 or 3-channel image. + Output image with the same size and type as src. + Value ranges between 0-2. + Value ranges between 0-2. + + + + By retaining only the gradients at edge locations, before integrating with the Poisson solver, one washes out the texture of the selected region, giving its contents a flat aspect. Here Canny Edge Detector is used. + + Input 8-bit 3-channel image. + Input 8-bit 1 or 3-channel image. + Output image with the same size and type as src. + Range from 0 to 100. + Value > 100 + The size of the Sobel kernel to be used. + + + + Transforms a color image to a grayscale image. It is a basic tool in digital printing, stylized black-and-white photograph rendering, and in many single channel image processing applications + + Input 8-bit 3-channel image. + Output 8-bit 1-channel image. + Output 8-bit 3-channel image. + + + + Image editing tasks concern either global changes (color/intensity corrections, filters, deformations) or local changes concerned to a selection. Here we are interested in achieving local changes, ones that are restricted to a region manually selected (ROI), in a seamless and effortless manner. The extent of the changes ranges from slight distortions to complete replacement by novel content + + Input 8-bit 3-channel image. + Input 8-bit 3-channel image. + Input 8-bit 1 or 3-channel image. + Point in dst image where object is placed. + Output image with the same size and type as dst. + Cloning method + + + + Implements CAMSHIFT object tracking algorithm ([Bradski98]). First, it finds an object center using cvMeanShift and, after that, calculates the object size and orientation. + + Back projection of object histogram + Initial search window + Criteria applied to determine when the window search should be finished + Circumscribed box for the object, contains object size and orientation + + + + Iterates to find the object center given its back projection and initial position of search window. The iterations are made until the search window center moves by less than the given value and/or until the function has done the maximum number of iterations. + + Back projection of object histogram + Initial search window + Criteria applied to determine when the window search should be finished. + The number of iterations made + + + + Constructs the image pyramid which can be passed to calcOpticalFlowPyrLK. + + 8-bit input image. + Output pyramid. + Window size of optical flow algorithm. Must be not less than winSize argument of calcOpticalFlowPyrLK. It is needed to calculate required padding for pyramid levels. + 0-based maximal pyramid level number. + Set to precompute gradients for the every pyramid level. If pyramid is constructed without the gradients then calcOpticalFlowPyrLK will calculate them internally. + The border mode for pyramid layers. + The border mode for gradients. + put ROI of input image into the pyramid if possible. You can pass false to force data copying. + Number of levels in constructed pyramid. Can be less than maxLevel. + + + + Updates the motion history image as following: + mhi(x,y)=timestamp if silhouette(x,y)!=0 + 0 if silhouette(x,y)=0 and mhi(x,y)<timestamp-duration + mhi(x,y) otherwise + That is, MHI pixels where motion occurs are set to the current timestamp, while the pixels where motion happened far ago are cleared. + + Silhouette mask that has non-zero pixels where the motion occurs. + Motion history image, that is updated by the function (single-channel, 32-bit floating-point) + Current time in milliseconds or other units. + Maximal duration of motion track in the same units as timestamp. + + + + Calculates the derivatives Dx and Dy of mhi and then calculates gradient orientation as: + orientation(x,y)=arctan(Dy(x,y)/Dx(x,y)) + where both Dx(x,y)' and Dy(x,y)' signs are taken into account (as in cvCartToPolar function). After that mask is filled to indicate where the orientation is valid (see delta1 and delta2 description). + + Motion history image + Mask image; marks pixels where motion gradient data is correct. Output parameter. + Motion gradient orientation image; contains angles from 0 to ~360. + The function finds minimum (m(x,y)) and maximum (M(x,y)) mhi values over each pixel (x,y) neihborhood and assumes the gradient is valid only if min(delta1,delta2) <= M(x,y)-m(x,y) <= max(delta1,delta2). + The function finds minimum (m(x,y)) and maximum (M(x,y)) mhi values over each pixel (x,y) neihborhood and assumes the gradient is valid only if min(delta1,delta2) <= M(x,y)-m(x,y) <= max(delta1,delta2). + Aperture size of derivative operators used by the function: CV_SCHARR, 1, 3, 5 or 7 (see cvSobel). + + + + Finds all the motion segments and marks them in segMask with individual values each (1,2,...). It also returns a sequence of CvConnectedComp structures, one per each motion components. After than the motion direction for every component can be calculated with cvCalcGlobalOrientation using extracted mask of the particular component (using cvCmp) + + Motion history image + Image where the mask found should be stored, single-channel, 32-bit floating-point + Current time in milliseconds or other units + Segmentation threshold; recommended to be equal to the interval between motion history "steps" or greater + Vector containing ROIs of motion connected components. + + + + Calculates the general motion direction in the selected region and returns the angle between 0 and 360. At first the function builds the orientation histogram and finds the basic orientation as a coordinate of the histogram maximum. After that the function calculates the shift relative to the basic orientation as a weighted sum of all orientation vectors: the more recent is the motion, the greater is the weight. The resultant angle is a circular sum of the basic orientation and the shift. + + Motion gradient orientation image; calculated by the function cvCalcMotionGradient. + Mask image. It may be a conjunction of valid gradient mask, obtained with cvCalcMotionGradient and mask of the region, whose direction needs to be calculated. + Motion history image. + Current time in milliseconds or other units, it is better to store time passed to cvUpdateMotionHistory before and reuse it here, because running cvUpdateMotionHistory and cvCalcMotionGradient on large images may take some time. + Maximal duration of motion track in milliseconds, the same as in cvUpdateMotionHistory + The angle + + + + Calculates optical flow for a sparse feature set using iterative Lucas-Kanade method in pyramids + + First frame, at time t + Second frame, at time t + dt + Array of points for which the flow needs to be found + Size of the search window of each pyramid level + Maximal pyramid level number. If 0 , pyramids are not used (single level), if 1 , two levels are used, etc + Specifies when the iteration process of finding the flow for each point on each pyramid level should be stopped + Flags + Array of 2D points containing calculated new positions of input features in the second image + Array. Every element of the array is set to 1 if the flow for the corresponding feature has been found, 0 otherwise + Array of double numbers containing difference between patches around the original and moved points + the algorithm calculates the minimum eigen value of a 2x2 normal matrix of optical flow equations (this matrix is called a spatial gradient matrix in [Bouguet00]), divided by number of pixels in a window; if this value is less than minEigThreshold, then a corresponding feature is filtered out and its flow is not processed, so it allows to remove bad points and get a performance boost. + + + + Implements sparse iterative version of Lucas-Kanade optical flow in pyramids ([Bouguet00]). It calculates coordinates of the feature points on the current video frame given their coordinates on the previous frame. The function finds the coordinates with sub-pixel accuracy. + + Both parameters prev_pyr and curr_pyr comply with the following rules: if the image pointer is 0, the function allocates the buffer internally, calculates the pyramid, and releases the buffer after processing. Otherwise, the function calculates the pyramid and stores it in the buffer unless the flag CV_LKFLOW_PYR_A[B]_READY is set. The image should be large enough to fit the Gaussian pyramid data. After the function call both pyramids are calculated and the readiness flag for the corresponding image can be set in the next call (i.e., typically, for all the image pairs except the very first one CV_LKFLOW_PYR_A_READY is set). + First frame, at time t. + Second frame, at time t + dt . + Array of points for which the flow needs to be found. + Array of 2D points containing calculated new positions of input + Size of the search window of each pyramid level. + Maximal pyramid level number. If 0 , pyramids are not used (single level), if 1 , two levels are used, etc. + Array. Every element of the array is set to 1 if the flow for the corresponding feature has been found, 0 otherwise. + Array of double numbers containing difference between patches around the original and moved points. Optional parameter; can be NULL + Specifies when the iteration process of finding the flow for each point on each pyramid level should be stopped. + Miscellaneous flags + the algorithm calculates the minimum eigen value of a 2x2 normal matrix of optical flow equations (this matrix is called a spatial gradient matrix in [Bouguet00]), divided by number of pixels in a window; if this value is less than minEigThreshold, then a corresponding feature is filtered out and its flow is not processed, so it allows to remove bad points and get a performance boost. + + + + Computes dense optical flow using Gunnar Farneback's algorithm + + The first 8-bit single-channel input image + The second input image of the same size and the same type as prevImg + The computed flow image for x-velocity; will have the same size as prevImg + The computed flow image for y-velocity; will have the same size as prevImg + Specifies the image scale (!1) to build the pyramids for each image. pyrScale=0.5 means the classical pyramid, where each next layer is twice smaller than the previous + The number of pyramid layers, including the initial image. levels=1 means that no extra layers are created and only the original images are used + The averaging window size; The larger values increase the algorithm robustness to image noise and give more chances for fast motion detection, but yield more blurred motion field + The number of iterations the algorithm does at each pyramid level + Size of the pixel neighborhood used to find polynomial expansion in each pixel. The larger values mean that the image will be approximated with smoother surfaces, yielding more robust algorithm and more blurred motion field. Typically, poly n=5 or 7 + Standard deviation of the Gaussian that is used to smooth derivatives that are used as a basis for the polynomial expansion. For poly n=5 you can set poly sigma=1.1, for poly n=7 a good value would be poly sigma=1.5 + The operation flags + + + + Computes dense optical flow using Gunnar Farneback's algorithm + + The first 8-bit single-channel input image + The second input image of the same size and the same type as prevImg + The computed flow image; will have the same size as prevImg and type CV 32FC2 + Specifies the image scale (!1) to build the pyramids for each image. pyrScale=0.5 means the classical pyramid, where each next layer is twice smaller than the previous + The number of pyramid layers, including the initial image. levels=1 means that no extra layers are created and only the original images are used + The averaging window size; The larger values increase the algorithm robustness to image noise and give more chances for fast motion detection, but yield more blurred motion field + The number of iterations the algorithm does at each pyramid level + Size of the pixel neighborhood used to find polynomial expansion in each pixel. The larger values mean that the image will be approximated with smoother surfaces, yielding more robust algorithm and more blurred motion field. Typically, poly n=5 or 7 + Standard deviation of the Gaussian that is used to smooth derivatives that are used as a basis for the polynomial expansion. For poly n=5 you can set poly sigma=1.1, for poly n=7 a good value would be poly sigma=1.5 + The operation flags + + + + Finds the geometric transform (warp) between two images in terms of the ECC criterion + + single-channel template image; CV_8U or CV_32F array. + single-channel input image which should be warped with the final warpMatrix in order to provide an image similar to templateImage, same type as temlateImage. + floating-point 2×3 or 3×3 mapping matrix (warp). + Specifying the type of motion. Use Affine for default + specifying the termination criteria of the ECC algorithm; criteria.epsilon defines the threshold of the increment in the correlation coefficient between two iterations (a negative criteria.epsilon makes criteria.maxcount the only termination criterion). Default values can use 50 iteration and 0.001 eps. + An optional mask to indicate valid values of inputImage. + The final enhanced correlation coefficient, that is the correlation coefficient between the template image and the final warped input image. + + + + Read point cloud from file + + The point cloud file + The color of the points + The normal of the points + The points + + + + Write point cloud to file + + The point cloud file name + The point cloud + The color + The normals + + + + Computes disparity map for the specified stereo pair + + The stereo matcher + Left 8-bit single-channel image. + Right image of the same size and the same type as the left one. + Output disparity map. It has the same size as the input images. Some algorithms, like StereoBM or StereoSGBM compute 16-bit fixed-point disparity map (where each disparity value has 4 fractional bits), whereas other algorithms output 32-bit floating-point disparity map + + + + Transforms the image to compensate radial and tangential lens distortion. + + The input (distorted) image + The output (corrected) image + The camera matrix (A) [fx 0 cx; 0 fy cy; 0 0 1]. + The vector of distortion coefficients, 4x1 or 1x4 [k1, k2, p1, p2]. + Camera matrix of the distorted image. By default it is the same as cameraMatrix, but you may additionally scale and shift the result by using some different matrix + + + + This function is an extended version of cvInitUndistortMap. That is, in addition to the correction of lens distortion, the function can also apply arbitrary perspective transformation R and finally it can scale and shift the image according to the new camera matrix + + The camera matrix A=[fx 0 cx; 0 fy cy; 0 0 1] + The vector of distortion coefficients, 4x1, 1x4, 5x1 or 1x5 + The rectification transformation in object space (3x3 matrix). R1 or R2, computed by cvStereoRectify can be passed here. If the parameter is IntPtr.Zero, the identity matrix is used + The new camera matrix A'=[fx' 0 cx'; 0 fy' cy'; 0 0 1] + Depth type of the first output map that can be CV_32FC1 or CV_16SC2 . + The first output map. + The second output map. + Undistorted image size. + + + + Similar to cvInitUndistortRectifyMap and is opposite to it at the same time. + The functions are similar in that they both are used to correct lens distortion and to perform the optional perspective (rectification) transformation. + They are opposite because the function cvInitUndistortRectifyMap does actually perform the reverse transformation in order to initialize the maps properly, while this function does the forward transformation. + + The observed point coordinates + The ideal point coordinates, after undistortion and reverse perspective transformation. + The camera matrix A=[fx 0 cx; 0 fy cy; 0 0 1] + The vector of distortion coefficients, 4x1, 1x4, 5x1 or 1x5. + The rectification transformation in object space (3x3 matrix). R1 or R2, computed by cvStereoRectify can be passed here. If the parameter is IntPtr.Zero, the identity matrix is used. + The new camera matrix (3x3) or the new projection matrix (3x4). P1 or P2, computed by cvStereoRectify can be passed here. If the parameter is IntPtr.Zero, the identity matrix is used. + + + + Returns the default new camera matrix. + + Input camera matrix. + Camera view image size in pixels. + Location of the principal point in the new camera matrix. The parameter indicates whether this location should be at the image center or not. + The default new camera matrix. + + + + Computes an optimal affine transformation between two 2D point sets. + + First input 2D point set containing (X,Y). + Second input 2D point set containing (x,y). + Output vector indicating which points are inliers (1-inlier, 0-outlier). + Robust method used to compute transformation. + Maximum reprojection error in the RANSAC algorithm to consider a point as an inlier. Applies only to RANSAC. + The maximum number of robust method iterations. + Confidence level, between 0 and 1, for the estimated transformation. Anything between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation. + Maximum number of iterations of refining algorithm (Levenberg-Marquardt). Passing 0 will disable refining, so the output matrix will be output of robust method. + Output 2D affine transformation matrix 2×3 or empty matrix if transformation could not be estimated. + + + + Computes an optimal affine transformation between two 2D point sets. + + First input 2D point set containing (X,Y). + Second input 2D point set containing (x,y). + Output vector indicating which points are inliers (1-inlier, 0-outlier). + Robust method used to compute transformation. + Maximum reprojection error in the RANSAC algorithm to consider a point as an inlier. Applies only to RANSAC. + The maximum number of robust method iterations. + Confidence level, between 0 and 1, for the estimated transformation. Anything between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation. + Maximum number of iterations of refining algorithm (Levenberg-Marquardt). Passing 0 will disable refining, so the output matrix will be output of robust method. + Output 2D affine transformation matrix 2×3 or empty matrix if transformation could not be estimated. + + + + Computes an optimal limited affine transformation with 4 degrees of freedom between two 2D point sets. + + First input 2D point set. + Second input 2D point set. + Output vector indicating which points are inliers. + Robust method used to compute transformation. + Maximum reprojection error in the RANSAC algorithm to consider a point as an inlier. Applies only to RANSAC. + The maximum number of robust method iterations. + Confidence level, between 0 and 1, for the estimated transformation. Anything between 0.95 and 0.99 is usually good enough. Values too close to 1 can slow down the estimation significantly. Values lower than 0.8-0.9 can result in an incorrectly estimated transformation. + Maximum number of iterations of refining algorithm (Levenberg-Marquardt). Passing 0 will disable refining, so the output matrix will be output of robust method. + Output 2D affine transformation (4 degrees of freedom) matrix 2×3 or empty matrix if transformation could not be estimated. + + + + Computes Hand-Eye calibration + + + Rotation part extracted from the homogeneous matrix that transforms a point expressed in the gripper frame to the robot base frame. + This is a vector (vector<Mat>) that contains the rotation matrices for all the transformations from gripper frame to robot base frame. + + + Translation part extracted from the homogeneous matrix that transforms a point expressed in the gripper frame to the robot base frame. + This is a vector (vector<Mat>) that contains the translation vectors for all the transformations from gripper frame to robot base frame. + + + Rotation part extracted from the homogeneous matrix that transforms a point expressed in the target frame to the camera frame. + This is a vector (vector<Mat>) that contains the rotation matrices for all the transformations from calibration target frame to camera frame. + + + Rotation part extracted from the homogeneous matrix that transforms a point expressed in the target frame to the camera frame. + This is a vector (vector<Mat>) that contains the translation vectors for all the transformations from calibration target frame to camera frame. + + + Estimated rotation part extracted from the homogeneous matrix that transforms a point expressed in the camera frame to the gripper frame. + + + Estimated translation part extracted from the homogeneous matrix that transforms a point expressed in the camera frame to the gripper frame. + + One of the implemented Hand-Eye calibration method + + + + File Storage Node class. + The node is used to store each and every element of the file storage opened for reading. When + XML/YAML file is read, it is first parsed and stored in the memory as a hierarchical collection of + nodes. Each node can be a "leaf" that is contain a single number or a string, or be a collection of + other nodes. There can be named collections (mappings) where each element has a name and it is + accessed by a name, and ordered collections (sequences) where elements do not have names but rather + accessed by index. Type of the file node can be determined using FileNode::type method. + Note that file nodes are only used for navigating file storages opened for reading. When a file + storage is opened for writing, no data is stored in memory after it is written. + + + + + Type of the file storage node + + + + + Empty node + + + + + an integer + + + + + Floating-point number + + + + + Synonym or Real + + + + + Text string in UTF-8 encoding + + + + + Synonym for Str + + + + + Integer of size size_t. Typically used for storing complex dynamic structures where some elements reference the others + + + + + The sequence + + + + + Mapping + + + + + The type mask + + + + + Compact representation of a sequence or mapping. Used only by YAML writer + + + + + A registered object (e.g. a matrix) + + + + + Empty structure (sequence or mapping) + + + + + The node has a name (i.e. it is element of a mapping) + + + + + Reads a Mat from the node + + The Mat where the result is read into + The default mat. + + + + Gets the type of the node. + + + The type of the node. + + + + + Release the unmanaged resources + + + + + Reads the string from the node + + The default value if one is not found in the node. + The string from the node + + + + Reads the int from the node. + + The default value if one is not found in the node. + The int from the node. + + + + Reads the float from the node. + + The default value if one is not found in the node. + The float from the node. + + + + Reads the double from the node. + + The default value if one is not found in the node. + The double from the node. + + + + Returns true if the node has a name + + + + + Returns true if the node is empty + + + + + Returns true if the node is a "none" object + + + + + Returns true if the node is a sequence + + + + + Returns true if the node is a mapping + + + + + Returns true if the node is an integer + + + + + Returns true if the node is a floating-point number + + + + + Returns true if the node is a text string + + + + + XML/YAML file storage class that encapsulates all the information necessary for writing or reading data to/from a file. + + + + + File storage mode + + + + + Open the file for reading + + + + + Open the file for writing + + + + + Open the file for appending + + + + + ReadMat data from source or write data to the internal buffer + + + + + Mask for format flags + + + + + Auto format + + + + + XML format + + + + + YAML format + + + + + JSON format + + + + + Write rawdata in Base64 by default. (consider using WriteBase64) + + + + + enable both Write and Base64 + + + + + Initializes a new instance of the class. + + Name of the file to open or the text string to read the data from. Extension of the + file (.xml or .yml/.yaml) determines its format (XML or YAML respectively). Also you can append .gz + to work with compressed files, for example myHugeMatrix.xml.gz. If both FileStorage::WRITE and + FileStorage::MEMORY flags are specified, source is used just to specify the output file format (e.g. + mydata.xml, .yml etc.). + Mode of operation. + Encoding of the file. Note that UTF-16 XML encoding is not supported currently and + you should use 8-bit encoding instead of it. + + + + Writes the specified Mat to the node with the specific name. + + The Mat to be written to the file storage + The name of the node. + + + + Writes the specified Mat to the node with the specific name + + The value to be written to the file storage + The name of the node. + + + + Writes the specified Mat to the node with the specific name + + The value to be written to the file storage + The name of the node. + + + + Writes the specified Mat to the node with the specific name + + The value to be written to the file storage + The name of the node. + + + + Writes the specified Mat to the node with the specific name + + The value to be written to the file storage + The name of the node. + + + + Gets a value indicating whether this instance is opened. + + + true if the object is associated with the current file; otherwise, false. + + + + + Closes the file and releases all the memory buffers + Call this method after all I/O operations with the storage are finished. If the storage was + opened for writing data and FileStorage.Mode.Write was specified + + The string that represent the text in the FileStorage + + + + Gets the top-level mapping. + + Zero-based index of the stream. In most cases there is only one stream in the file. + However, YAML supports multiple streams and so there can be several. + The top-level mapping + + + + Gets the first element of the top-level mapping. + + The first element of the top-level mapping. + + + + Gets the specified element of the top-level mapping. + + Name of the node. + The specified element of the top-level mapping. + + + + Gets the with the specified node name. + + + The . + + Name of the node. + The file node + + + + Release the unmanaged resources + + + + + Similar to the << operator in C++, we cannot have the operator overload to << in C# where the second parameter is not an int. Therefore we use this function instead. + + The string value to insert. + + + + Interface to the algorithm class + + + + + Return the pointer to the algorithm object + + The pointer to the algorithm object + + + + Extension methods to the IAlgorithm interface + + + + + Reads algorithm parameters from a file storage. + + The algorithm. + The node from file storage. + + + + Stores algorithm parameters in a file storage + + The algorithm. + The storage. + + + + Stores algorithm parameters in a file storage + + The algorithm. + The storage. + Simplified API for language bindings + + + + Save the algorithm to file + + The algorithm + The file name where this algorithm will be saved to + + + + Save the algorithm to a string + + The algorithm + file format, can be .xml or .yml + The algorithm as an yml string + + + + Clear the algorithm + + The algorithm + + + + Returns true if the Algorithm is empty. e.g. in the very beginning or after unsuccessful read. + + The algorithm + Returns true if the Algorithm is empty. e.g. in the very beginning or after unsuccessful read. + + + + Loads algorithm from the file + + The algorithm + Name of the file to read. + The optional name of the node to read (if empty, the first top-level node will be used) + Encoding of the file. Note that UTF-16 XML encoding is not supported currently and + you should use 8-bit encoding instead of it. + + + + Loads algorithm from a String + + The algorithm + The string variable containing the model you want to load. + The optional name of the node to read (if empty, the first top-level node will be used) + Encoding of the file. Note that UTF-16 XML encoding is not supported currently and + you should use 8-bit encoding instead of it. + + + + Returns the algorithm string identifier. + This string is used as top level xml/yml node tag when the object is saved to a file or string. + + The algorithm + + Returns the algorithm string identifier. + This string is used as top level xml/yml node tag when the object is saved to a file or string. + + + + + This is the proxy class for passing read-only input arrays into OpenCV functions. + + + + + The unmanaged pointer to the input array. + + The input array + + + + InputArrayOfArrays + + + + + Extension methods for IInputArrays + + + + + Determines whether the specified input array is umat. + + The array + True if it is a umat + + + + Apply converter and compute result for each channel of the image, for single channel image, apply converter directly, for multiple channel image, make a copy of each channel to a temperary image and apply the convertor + + The return type + The source image + The converter such that accept the IntPtr of a single channel IplImage, and image channel index which returning result of type R + An array which contains result for each channel + + + + Apply converter and compute result for each channel of the image, for single channel image, apply converter directly, for multiple channel image, make a copy of each channel to a temperary image and apply the convertor + + The source image + The converter such that accept the IntPtr of a single channel IplImage, and image channel index which returning result of type R + An array which contains result for each channel + + + + This type is very similar to InputArray except that it is used for input/output function parameters. + + + + + The unmanaged pointer to the input/output array + + Get the input output array + + + + An Image is a wrapper to IplImage of OpenCV. + + Color type of this image (either Gray, Bgr, Bgra, Hsv, Hls, Lab, Luv, Xyz, Ycc, Rgb or Rbga) + Depth of this image (either Byte, SByte, Single, double, UInt16, Int16 or Int32) + + + + The dimension of color + + + + + Create an empty Image + + + + + Create image from the specific multi-dimensional data, where the 1st dimesion is # of rows (height), the 2nd dimension is # cols (width) and the 3rd dimension is the channel + + The multi-dimensional data where the 1st dimension is # of rows (height), the 2nd dimension is # cols (width) and the 3rd dimension is the channel + + + + Create an Image from unmanaged data. + + The width of the image + The height of the image + Size of aligned image row in bytes + Pointer to aligned image data, where each row should be 4-align + The caller is responsible for allocating and freeing the block of memory specified by the scan0 parameter, however, the memory should not be released until the related Image is released. + + + + Allocate the image from the image header. + + This should be only a header to the image. When the image is disposed, the cvReleaseImageHeader will be called on the pointer. + + + + Read image from a file + + the name of the file that contains the image + + + + Load the specific file using OpenCV + + The file to load + + + + Create a blank Image of the specified width, height and color. + + The width of the image + The height of the image + The initial color of the image + + + + Create a blank Image of the specified width and height. + + The width of the image + The height of the image + + + + Create a blank Image of the specific size + + The size of the image + + + + Get or Set the data for this matrix. The Get function has O(1) complexity. The Set function make a copy of the data + + + If the image contains Byte and width is not a multiple of 4. The second dimension of the array might be larger than the Width of this image. + This is necessary since the length of a row need to be 4 align for OpenCV optimization. + The Set function always make a copy of the specific value. If the image contains Byte and width is not a multiple of 4. The second dimension of the array created might be larger than the Width of this image. + + + + + Allocate data for the array + + The number of rows + The number of columns + The number of channels of this image + + + + Create a multi-channel image from multiple gray scale images + + The image channels to be merged into a single image + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + streaming context + + + + The IplImage structure + + + + + Get or Set the region of interest for this image. To clear the ROI, set it to System.Drawing.Rectangle.Empty + + + + + Get the number of channels for this image + + + + + Get the underneath managed array + + + + + Get the equivalent opencv depth type for this image + + + + + Indicates if the region of interest has been set + + + + + Get the average value on this image + + The average color of the image + + + + Get the average value on this image, using the specific mask + + The mask for find the average value + The average color of the masked area + + + Get the sum for each color channel + The sum for each color channel + + + + Set every pixel of the image to the specific color + + The color to be set + + + + Set every pixel of the image to the specific color, using a mask + + The color to be set + The mask for setting color + + + + Copy the masked area of this image to destination + + the destination to copy to + the mask for copy + + + + Make a copy of the image using a mask, if ROI is set, only copy the ROI + + the mask for coping + A copy of the image + + + + Make a copy of the specific ROI (Region of Interest) from the image + + The roi to be copied + The region of interest + + + + Get a copy of the boxed region of the image + + The boxed region of the image + A copy of the boxed region of the image + + + Make a copy of the image, if ROI is set, only copy the ROI + A copy of the image + + + + Create an image of the same size + + The initial pixel in the image equals zero + The image of the same size + + + + Make a clone of the current image. All image data as well as the COI and ROI are cloned + + A clone of the current image. All image data as well as the COI and ROI are cloned + + + + Get a subimage which image data is shared with the current image. + + The rectangle area of the sub-image + A subimage which image data is shared with the current image + + + Draw an Rectangle of the specific color and thickness + The rectangle to be drawn + The color of the rectangle + If thickness is less than 1, the rectangle is filled up + Line type + Number of fractional bits in the center coordinates and radius value + + + Draw a 2D Cross using the specific color and thickness + The 2D Cross to be drawn + The color of the cross + Must be > 0 + + + Draw a line segment using the specific color and thickness + The line segment to be drawn + The color of the line segment + The thickness of the line segment + Line type + Number of fractional bits in the center coordinates and radius value + + + Draw a line segment using the specific color and thickness + The line segment to be drawn + The color of the line segment + The thickness of the line segment + Line type + Number of fractional bits in the center coordinates and radius value + + + Draw a convex polygon using the specific color and thickness + The convex polygon to be drawn + The color of the triangle + If thickness is less than 1, the triangle is filled up + + + + Fill the convex polygon with the specific color + + The array of points that define the convex polygon + The color to fill the polygon with + Line type + Number of fractional bits in the center coordinates and radius value + + + + Draw the polyline defined by the array of 2D points + + A polyline defined by its point + if true, the last line segment is defined by the last point of the array and the first point of the array + the color used for drawing + the thinkness of the line + Line type + Number of fractional bits in the center coordinates and radius value + + + + Draw the polylines defined by the array of array of 2D points + + An array of polylines each represented by an array of points + if true, the last line segment is defined by the last point of the array and the first point of the array + the color used for drawing + the thickness of the line + Line type + Number of fractional bits in the center coordinates and radius value + + + Draw a Circle of the specific color and thickness + The circle to be drawn + The color of the circle + If thickness is less than 1, the circle is filled up + Line type + Number of fractional bits in the center coordinates and radius value + + + Draw a Ellipse of the specific color and thickness + The ellipse to be draw + The color of the ellipse + If thickness is less than 1, the ellipse is filled up + Line type + Number of fractional bits in the center coordinates and radius value + + + + Draw the text using the specific font on the image + + The text message to be draw + Font type. + Font scale factor that is multiplied by the font-specific base size. + The location of the bottom left corner of the font + The color of the text + Thickness of the lines used to draw a text. + Line type + When true, the image data origin is at the bottom-left corner. Otherwise, it is at the top-left corner. + + + + Draws contour outlines in the image if thickness>=0 or fills area bounded by the contours if thickness<0 + + All the input contours. Each contour is stored as a point vector. + Parameter indicating a contour to draw. If it is negative, all the contours are drawn. + Color of the contours + Maximal level for drawn contours. If 0, only contour is drawn. If 1, the contour and all contours after it on the same level are drawn. If 2, all contours after and all contours one level below the contours are drawn, etc. If the value is negative, the function does not draw the contours following after contour but draws child contours of contour up to abs(maxLevel)-1 level. + Thickness of lines the contours are drawn with. If it is negative the contour interiors are drawn + Type of the contour segments + Optional information about hierarchy. It is only needed if you want to draw only some of the contours + Shift all the point coordinates by the specified value. It is useful in case if the contours retrieved in some image ROI and then the ROI offset needs to be taken into account during the rendering. + + + + Draws contour outlines in the image if thickness>=0 or fills area bounded by the contours if thickness<0 + + The input contour stored as a point vector. + Color of the contours + Thickness of lines the contours are drawn with. If it is negative the contour interiors are drawn + Type of the contour segments + Shift all the point coordinates by the specified value. It is useful in case if the contours retrieved in some image ROI and then the ROI offset needs to be taken into account during the rendering. + + + + Apply Probabilistic Hough transform to find line segments. + The current image must be a binary image (eg. the edges as a result of the Canny edge detector) + + Distance resolution in pixel-related units. + Angle resolution measured in radians + A line is returned by the function if the corresponding accumulator value is greater than threshold + Minimum width of a line + Minimum gap between lines + The line segments detected for each of the channels + + + + Apply Canny Edge Detector follows by Probabilistic Hough transform to find line segments in the image + + The threshold to find initial segments of strong edges + The threshold used for edge Linking + Distance resolution in pixel-related units. + Angle resolution measured in radians + A line is returned by the function if the corresponding accumulator value is greater than threshold + Minimum width of a line + Minimum gap between lines + The line segments detected for each of the channels + + + + First apply Canny Edge Detector on the current image, + then apply Hough transform to find circles + + The higher threshold of the two passed to Canny edge detector (the lower one will be twice smaller). + Accumulator threshold at the center detection stage. The smaller it is, the more false circles may be detected. Circles, corresponding to the larger accumulator values, will be returned first + Resolution of the accumulator used to detect centers of the circles. For example, if it is 1, the accumulator will have the same resolution as the input image, if it is 2 - accumulator will have twice smaller width and height, etc + Minimal radius of the circles to search for + Maximal radius of the circles to search for + Minimum distance between centers of the detected circles. If the parameter is too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is too large, some circles may be missed + The circle detected for each of the channels + + + + Get or Set the specific channel of the current image. + For Get operation, a copy of the specific channel is returned. + For Set operation, the specific channel is copied to this image. + + The channel to get from the current image, zero based index + The specific channel of the current image + + + + Get or Set the color in the th row (y direction) and th column (x direction) + + The zero-based row (y direction) of the pixel + The zero-based column (x direction) of the pixel + The color in the specific and + + + + Get or Set the color in the + + the location of the pixel + the color in the + + + + Return parameters based on ROI + + The Pointer to the IplImage + The address of the pointer that point to the start of the Bytes taken into consideration ROI + ROI.Width * ColorType.Dimension + The number of bytes in a row taken into consideration ROI + The number of rows taken into consideration ROI + The width step required to jump to the next row + + + + Apply convertor and compute result for each channel of the image. + + + For single channel image, apply converter directly. + For multiple channel image, set the COI for the specific channel before appling the convertor + + The return type + The converter such that accept the IntPtr of a single channel IplImage, and image channel index which returning result of type R + An array which contains result for each channel + + + + If the image has only one channel, apply the action directly on the IntPtr of this image and , + otherwise, make copy each channel of this image to a temperary one, apply action on it and another temperory image and copy the resulting image back to image2 + + The type of the depth of the image + The function which acepts the src IntPtr, dest IntPtr and index of the channel as input + The destination image + + + + Calculates the image derivative by convolving the image with the appropriate kernel + The Sobel operators combine Gaussian smoothing and differentiation so the result is more or less robust to the noise. Most often, the function is called with (xorder=1, yorder=0, aperture_size=3) or (xorder=0, yorder=1, aperture_size=3) to calculate first x- or y- image derivative. + + Order of the derivative x + Order of the derivative y + Size of the extended Sobel kernel, must be 1, 3, 5 or 7. In all cases except 1, aperture_size xaperture_size separable kernel will be used to calculate the derivative. + The result of the sobel edge detector + + + + Calculates Laplacian of the source image by summing second x- and y- derivatives calculated using Sobel operator. + Specifying aperture_size=1 gives the fastest variant that is equal to convolving the image with the following kernel: + + |0 1 0| + |1 -4 1| + |0 1 0| + + Aperture size + The Laplacian of the image + + + Find the edges on this image and marked them in the returned image. + The threshhold to find initial segments of strong edges + The threshold used for edge Linking + The edges found by the Canny edge detector + + + Find the edges on this image and marked them in the returned image. + The threshhold to find initial segments of strong edges + The threshold used for edge Linking + The aperture size, use 3 for default + a flag, indicating whether a more accurate norm should be used to calculate the image gradient magnitude ( L2gradient=true ), or whether the default norm is enough ( L2gradient=false ). + The edges found by the Canny edge detector + + + + Iterates to find the sub-pixel accurate location of corners, or radial saddle points + + Coordinates of the input corners, the values will be modified by this function call + Half sizes of the search window. For example, if win=(5,5) then 5*2+1 x 5*2+1 = 11 x 11 search window is used + Half size of the dead region in the middle of the search zone over which the summation in formulae below is not done. It is used sometimes to avoid possible singularities of the autocorrelation matrix. The value of (-1,-1) indicates that there is no such size + Criteria for termination of the iterative process of corner refinement. That is, the process of corner position refinement stops either after certain number of iteration or when a required accuracy is achieved. The criteria may specify either of or both the maximum number of iteration and the required accuracy + Refined corner coordinates + + + + The function slides through image, compares overlapped patches of size wxh with templ using the specified method and return the comparison results + + Searched template; must be not greater than the source image and the same data type as the image + Specifies the way the template must be compared with image regions + The comparison result: width = this.Width - template.Width + 1; height = this.Height - template.Height + 1 + + + Perform an elementwise AND operation with another image and return the result + The second image for the AND operation + The result of the AND operation + + + + Perform an elementwise AND operation with another image, using a mask, and return the result + + The second image for the AND operation + The mask for the AND operation + The result of the AND operation + + + Perform an binary AND operation with some color + The color for the AND operation + The result of the AND operation + + + Perform an binary AND operation with some color using a mask + The color for the AND operation + The mask for the AND operation + The result of the AND operation + + + Perform an elementwise OR operation with another image and return the result + The second image for the OR operation + The result of the OR operation + + + Perform an elementwise OR operation with another image, using a mask, and return the result + The second image for the OR operation + The mask for the OR operation + The result of the OR operation + + + Perform an elementwise OR operation with some color + The value for the OR operation + The result of the OR operation + + + Perform an elementwise OR operation with some color using a mask + The color for the OR operation + The mask for the OR operation + The result of the OR operation + + + Perform an elementwise XOR operation with another image and return the result + The second image for the XOR operation + The result of the XOR operation + + + + Perform an elementwise XOR operation with another image, using a mask, and return the result + + The second image for the XOR operation + The mask for the XOR operation + The result of the XOR operation + + + + Perform an binary XOR operation with some color + + The value for the XOR operation + The result of the XOR operation + + + + Perform an binary XOR operation with some color using a mask + + The color for the XOR operation + The mask for the XOR operation + The result of the XOR operation + + + + Compute the complement image + + The complement image + + + Find the elementwise maximum value + The second image for the Max operation + An image where each pixel is the maximum of this image and the parameter image + + + Find the elementwise maximum value + The value to compare with + An image where each pixel is the maximum of this image and + + + Find the elementwise minimum value + The second image for the Min operation + An image where each pixel is the minimum of this image and the parameter image + + + Find the elementwise minimum value + The value to compare with + An image where each pixel is the minimum of this image and + + + Checks that image elements lie between two scalars + The inclusive lower limit of color value + The inclusive upper limit of color value + res[i,j] = 255 if <= this[i,j] <= , 0 otherwise + + + Checks that image elements lie between values defined by two images of same size and type + The inclusive lower limit of color value + The inclusive upper limit of color value + res[i,j] = 255 if [i,j] <= this[i,j] <= [i,j], 0 otherwise + + + + Compare the current image with and returns the comparison mask + + The other image to compare with + The comparison type + The result of the comparison as a mask + + + + Compare the current image with and returns the comparison mask + + The value to compare with + The comparison type + The result of the comparison as a mask + + + + Compare two images, returns true if the each of the pixels are equal, false otherwise + + The other image to compare with + true if the each of the pixels for the two images are equal, false otherwise + + + + Use grabcut to perform background foreground segmentation. + + The initial rectangle region for the foreground + The number of iterations to run GrabCut + The background foreground mask where 2 indicates background and 3 indicates foreground + + + Elementwise subtract another image from the current image + The second image to be subtracted from the current image + The result of elementwise subtracting img2 from the current image + + + Elementwise subtract another image from the current image, using a mask + The image to be subtracted from the current image + The mask for the subtract operation + The result of elementwise subtracting img2 from the current image, using the specific mask + + + Elementwise subtract a color from the current image + The color value to be subtracted from the current image + The result of elementwise subtracting color 'val' from the current image + + + + result = val - this + + the value which subtract this image + val - this + + + + result = val - this, using a mask + + The value which subtract this image + The mask for subtraction + val - this, with mask + + + Elementwise add another image with the current image + The image to be added to the current image + The result of elementwise adding img2 to the current image + + + Elementwise add with the current image, using a mask + The image to be added to the current image + The mask for the add operation + The result of elementwise adding img2 to the current image, using the specific mask + + + Elementwise add a color to the current image + The color value to be added to the current image + The result of elementwise adding color from the current image + + + Elementwise multiply another image with the current image and the + The image to be elementwise multiplied to the current image + The scale to be multiplied + this .* img2 * scale + + + Elementwise multiply with the current image + The image to be elementwise multiplied to the current image + this .* img2 + + + Elementwise multiply the current image with + The scale to be multiplied + The scaled image + + + + Accumulate to the current image using the specific mask + + The image to be added to the current image + the mask + + + + Accumulate to the current image using the specific mask + + The image to be added to the current image + + + + Return the weighted sum such that: res = this * alpha + img2 * beta + gamma + + img2 in: res = this * alpha + img2 * beta + gamma + alpha in: res = this * alpha + img2 * beta + gamma + beta in: res = this * alpha + img2 * beta + gamma + gamma in: res = this * alpha + img2 * beta + gamma + this * alpha + img2 * beta + gamma + + + + Update Running Average. this = (1-alpha)*this + alpha*img + + Input image, 1- or 3-channel, Byte or Single (each channel of multi-channel image is processed independently). + the weight of + + + + Update Running Average. this = (1-alpha)*this + alpha*img, using the mask + + Input image, 1- or 3-channel, Byte or Single (each channel of multi-channel image is processed independently). + The weight of + The mask for the running average + + + + Computes absolute different between this image and the other image + + The other image to compute absolute different with + The image that contains the absolute different value + + + + Computes absolute different between this image and the specific color + + The color to compute absolute different with + The image that contains the absolute different value + + + + Raises every element of input array to p + dst(I)=src(I)^p, if p is integer + dst(I)=abs(src(I))^p, otherwise + + The exponent of power + The power image + + + + Calculates exponent of every element of input array: + dst(I)=exp(src(I)) + + Maximum relative error is ~7e-6. Currently, the function converts denormalized values to zeros on output. + The exponent image + + + + Calculates natural logarithm of absolute value of every element of input array + + Natural logarithm of absolute value of every element of input array + + + + Scale the image to the specific size + + The width of the returned image. + The height of the returned image. + The type of interpolation + The resized image + + + + Scale the image to the specific size + + The width of the returned image. + The height of the returned image. + The type of interpolation + if true, the scale is preservered and the resulting image has maximum width(height) possible that is <= (), if false, this function is equaivalent to Resize(int width, int height) + The resized image + + + + Scale the image to the specific size: width *= scale; height *= scale + + The scale to resize + The type of interpolation + The scaled image + + + + Rotate the image the specified angle cropping the result to the original size + + The angle of rotation in degrees. + The color with which to fill the background + The image rotates by the specific angle + + + + Transforms source image using the specified matrix + + 2x3 transformation matrix + Interpolation type + Warp type + Pixel extrapolation method + A value used to fill outliers + The result of the transformation + + + + Transforms source image using the specified matrix + + 2x3 transformation matrix + The width of the resulting image + the height of the resulting image + Interpolation type + Warp type + Pixel extrapolation method + A value used to fill outliers + The result of the transformation + + + + Transforms source image using the specified matrix + + 3x3 transformation matrix + Interpolation type + Warp type + Pixel extrapolation method + A value used to fill outliers + The depth type of , should be either float or double + The result of the transformation + + + + Transforms source image using the specified matrix + + 3x3 transformation matrix + The width of the resulting image + the height of the resulting image + Interpolation type + Warp type + Border type + A value used to fill outliers + The depth type of , should be either float or double + The result of the transformation + + + + Rotate this image the specified + + The angle of rotation in degrees. + The color with which to fill the background + If set to true the image is cropped to its original size, possibly losing corners information. If set to false the result image has different size than original and all rotation information is preserved + The rotated image + + + + Rotate this image the specified + + The angle of rotation in degrees. Positive means clockwise. + The color with with to fill the background + If set to true the image is cropped to its original size, possibly losing corners information. If set to false the result image has different size than original and all rotation information is preserved + The center of rotation + The interpolation method + The rotated image + + + + Convert the image to log polar, simulating the human foveal vision + + The transformation center, where the output precision is maximal + Magnitude scale parameter + interpolation type + Warp type + The converted image + + + Convert the current image to the specific color and depth + The type of color to be converted to + The type of pixel depth to be converted to + Image of the specific color and depth + + + + Convert the source image to the current image, if the size are different, the current image will be a resized version of the srcImage. + + The color type of the source image + The color depth of the source image + The sourceImage + + + + Convert the source image to the current image, if the size are different, the current image will be a resized version of the srcImage. + + The sourceImage + + + Convert the current image to the specific depth, at the same time scale and shift the values of the pixel + The value to be multiplied with the pixel + The value to be added to the pixel + The type of depth to convert to + Image of the specific depth, val = val * scale + shift + + + + Load the specific file using Bitmap + + The file to load + + + + Obtain the image from the specific Bitmap + + The bitmap which will be converted to the image + + + + The Get property provide a more efficient way to convert Image<Gray, Byte>, Image<Bgr, Byte> and Image<Bgra, Byte> into Bitmap + such that the image data is shared with Bitmap. + If you change the pixel value on the Bitmap, you change the pixel values on the Image object as well! + For other types of image this property has the same effect as ToBitmap() + Take extra caution not to use the Bitmap after the Image object is disposed + The Set property convert the bitmap to this Image type. + + + + + Utility function for Bitmap Set property + + + + + + Convert this image into Bitmap, the pixel values are copied over to the Bitmap + + For better performance on Image<Gray, Byte> and Image<Bgr, Byte>, consider using the Bitmap property + This image in Bitmap format, the pixel data are copied over to the Bitmap + + + Create a Bitmap image of certain size + The width of the bitmap + The height of the bitmap + This image in Bitmap format of the specific size + + + + Performs downsampling step of Gaussian pyramid decomposition. + First it convolves this image with the specified filter and then downsamples the image + by rejecting even rows and columns. + + The downsampled image + + + + Performs up-sampling step of Gaussian pyramid decomposition. + First it upsamples this image by injecting even zero rows and columns and then convolves + result with the specified filter multiplied by 4 for interpolation. + So the resulting image is four times larger than the source image. + + The upsampled image + + + + Compute the image pyramid + + The number of level's for the pyramid; Level 0 referes to the current image, level n is computed by calling the PyrDown() function on level n-1 + The image pyramid + + + Use inpaint to recover the intensity of the pixels which location defined by on this image + The inpainting mask. Non-zero pixels indicate the area that needs to be inpainted + The radius of circular neighborhood of each point inpainted that is considered by the algorithm + The inpainted image + + + + Perform advanced morphological transformations using erosion and dilation as basic operations. + + Structuring element + Anchor position with the kernel. Negative values mean that the anchor is at the kernel center. + Type of morphological operation + Number of times erosion and dilation are applied + Border type + Border value + The result of the morphological operation + + + + Perform inplace advanced morphological transformations using erosion and dilation as basic operations. + + Structuring element + Anchor position with the kernel. Negative values mean that the anchor is at the kernel center. + Type of morphological operation + Number of times erosion and dilation are applied + Border type + Border value + + + + Erodes this image using a 3x3 rectangular structuring element. + Erosion are applied several (iterations) times + + The number of erode iterations + The eroded image + + + + Dilates this image using a 3x3 rectangular structuring element. + Dilation are applied several (iterations) times + + The number of dilate iterations + The dilated image + + + + Erodes this image inplace using a 3x3 rectangular structuring element. + Erosion are applied several (iterations) times + + The number of erode iterations + + + + Dilates this image inplace using a 3x3 rectangular structuring element. + Dilation are applied several (iterations) times + + The number of dilate iterations + + + + perform an generic action based on each element of the image + + The action to be applied to each element of the image + + + + Perform an generic operation based on the elements of the two images + + The depth of the second image + The second image to perform action on + An action such that the first parameter is the a single channel of a pixel from the first image, the second parameter is the corresponding channel of the correspondind pixel from the second image + + + + Compute the element of a new image based on the value as well as the x and y positions of each pixel on the image + + The function to be applied to the image pixels + The result image + + + Compute the element of the new image based on element of this image + The depth type of the result image + The function to be applied to the image pixels + The result image + + + Compute the element of the new image based on the elements of the two image + The depth type of img2 + The depth type of the result image + The second image + The function to be applied to the image pixels + The result image + + + Compute the element of the new image based on the elements of the three image + The depth type of img2 + The depth type of img3 + The depth type of the result image + The second image + The third image + The function to be applied to the image pixels + The result image + + + Compute the element of the new image based on the elements of the four image + The depth type of img2 + The depth type of img3 + The depth type of img4 + The depth type of the result image + The second image + The third image + The fourth image + The function to be applied to the image pixels + The result image + + + + Release all unmanaged memory associate with the image + + + + + Perform an element wise AND operation on the two images + + The first image to AND + The second image to AND + The result of the AND operation + + + + Perform an element wise AND operation using an images and a color + + The first image to AND + The color to AND + The result of the AND operation + + + + Perform an element wise AND operation using an images and a color + + The first image to AND + The color to AND + The result of the AND operation + + + + Perform an element wise AND operation using an images and a color + + The first image to AND + The color to AND + The result of the AND operation + + + + Perform an element wise AND operation using an images and a color + + The first image to AND + The color to AND + The result of the AND operation + + + Perform an element wise OR operation with another image and return the result + The first image to apply bitwise OR operation + The second image to apply bitwise OR operation + The result of the OR operation + + + + Perform an binary OR operation with some color + + The image to OR + The color to OR + The result of the OR operation + + + + Perform an binary OR operation with some color + + The image to OR + The color to OR + The result of the OR operation + + + + Perform an binary OR operation with some color + + The image to OR + The color to OR + The result of the OR operation + + + + Perform an binary OR operation with some color + + The image to OR + The color to OR + The result of the OR operation + + + Compute the complement image + The image to be inverted + The complement image + + + + Element wise add with + + The first image to be added + The second image to be added + The sum of the two images + + + + Element wise add with + + The image to be added + The value to be added + The images plus the color + + + + Element wise add with + + The image to be added + The value to be added + The images plus the color + + + + Element wise add with + + The image to be added + The color to be added + The images plus the color + + + + Element wise add with + + The image to be added + The color to be added + The images plus the color + + + + Element wise subtract another image from the current image + + The image to be subtracted + The second image to be subtracted from + The result of element wise subtracting img2 from + + + + Element wise subtract another image from the current image + + The image to be subtracted + The color to be subtracted + The result of element wise subtracting from + + + + Element wise subtract another image from the current image + + The image to be subtracted + The color to be subtracted + - + + + + - + + The image to be subtracted + The value to be subtracted + - + + + + Element wise subtract another image from the current image + + The image to be subtracted + The value to be subtracted + - + + + + * + + The image + The multiplication scale + * + + + + * + + The image + The multiplication scale + * + + + + Perform the convolution with on + + The image + The kernel + Result of the convolution + + + + / + + The image + The division scale + / + + + + / + + The image + The scale + / + + + + Summation over a pixel param1 x param2 neighborhood with subsequent scaling by 1/(param1 x param2) + + The width of the window + The height of the window + The result of blur + + + + Summation over a pixel param1 x param2 neighborhood. If scale is true, the result is subsequent scaled by 1/(param1 x param2) + + The width of the window + The height of the window + If true, the result is subsequent scaled by 1/(param1 x param2) + The result of blur + + + + Finding median of x neighborhood + + The size (width & height) of the window + The result of median smooth + + + + Applying bilateral 3x3 filtering + + Color sigma + Space sigma + The size of the bilateral kernel + The result of bilateral smooth + + + Perform Gaussian Smoothing in the current image and return the result + The size of the Gaussian kernel ( x ) + The smoothed image + + + Perform Gaussian Smoothing in the current image and return the result + The width of the Gaussian kernel + The height of the Gaussian kernel + The standard deviation of the Gaussian kernel in the horizontal dimension + The standard deviation of the Gaussian kernel in the vertical dimension + The smoothed image + + + Perform Gaussian Smoothing inplace for the current image + The size of the Gaussian kernel ( x ) + + + Perform Gaussian Smoothing inplace for the current image + The width of the Gaussian kernel + The height of the Gaussian kernel + The standard deviation of the Gaussian kernel in the horizontal dimension + The standard deviation of the Gaussian kernel in the vertical dimension + + + + Performs a convolution using the specific + + The convolution kernel + The optional value added to the filtered pixels before storing them in dst + The pixel extrapolation method. + The result of the convolution + + + + Calculates integral images for the source image + + The integral image + + + + Calculates integral images for the source image + + The integral image + The integral image for squared pixel values + The integral image + + + + Calculates one or more integral images for the source image + + The integral image + The integral image for squared pixel values + The integral for the image rotated by 45 degrees + + + + Transforms grayscale image to binary image. + Threshold calculated individually for each pixel. + For the method CV_ADAPTIVE_THRESH_MEAN_C it is a mean of x pixel + neighborhood, subtracted by param1. + For the method CV_ADAPTIVE_THRESH_GAUSSIAN_C it is a weighted sum (gaussian) of x pixel neighborhood, subtracted by param1. + + Maximum value to use with CV_THRESH_BINARY and CV_THRESH_BINARY_INV thresholding types + Adaptive_method + Thresholding type. must be one of CV_THRESH_BINARY, CV_THRESH_BINARY_INV + The size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, ... + Constant subtracted from mean or weighted mean. It may be negative. + The result of the adaptive threshold + + + + The base threshold method shared by public threshold functions + + + + Threshold the image such that: dst(x,y) = src(x,y), if src(x,y)>threshold; 0, otherwise + The threshold value + dst(x,y) = src(x,y), if src(x,y)>threshold; 0, otherwise + + + + Threshold the image such that: dst(x,y) = 0, if src(x,y)>threshold; src(x,y), otherwise + + The threshold value + The image such that: dst(x,y) = 0, if src(x,y)>threshold; src(x,y), otherwise + + + + Threshold the image such that: dst(x,y) = threshold, if src(x,y)>threshold; src(x,y), otherwise + + The threshold value + The image such that: dst(x,y) = threshold, if src(x,y)>threshold; src(x,y), otherwise + + + + Threshold the image such that: dst(x,y) = max_value, if src(x,y)>threshold; 0, otherwise + + The threshold value + The maximum value of the pixel on the result + The image such that: dst(x,y) = max_value, if src(x,y)>threshold; 0, otherwise + + + Threshold the image such that: dst(x,y) = 0, if src(x,y)>threshold; max_value, otherwise + The threshold value + The maximum value of the pixel on the result + The image such that: dst(x,y) = 0, if src(x,y)>threshold; max_value, otherwise + + + Threshold the image inplace such that: dst(x,y) = src(x,y), if src(x,y)>threshold; 0, otherwise + The threshold value + + + Threshold the image inplace such that: dst(x,y) = 0, if src(x,y)>threshold; src(x,y), otherwise + The threshold value + + + Threshold the image inplace such that: dst(x,y) = threshold, if src(x,y)>threshold; src(x,y), otherwise + The threshold value + + + Threshold the image inplace such that: dst(x,y) = max_value, if src(x,y)>threshold; 0, otherwise + The threshold value + The maximum value of the pixel on the result + + + Threshold the image inplace such that: dst(x,y) = 0, if src(x,y)>threshold; max_value, otherwise + The threshold value + The maximum value of the pixel on the result + + + + Calculates the average value and standard deviation of array elements, independently for each channel + + The avg color + The standard deviation for each channel + The operation mask + + + + Calculates the average value and standard deviation of array elements, independently for each channel + + The avg color + The standard deviation for each channel + + + + Count the non Zero elements for each channel + + Count the non Zero elements for each channel + + + + Returns the min / max location and values for the image + + The maximum locations for each channel + The maximum values for each channel + The minimum locations for each channel + The minimum values for each channel + + + Return a flipped copy of the current image + The type of the flipping + The flipped copy of this image + + + Inplace flip the image + The type of the flipping + The flipped copy of this image + + + + Concate the current image with another image vertically. + + The other image to concate + A new image that is the vertical concatening of this image and + + + + Concate the current image with another image horizontally. + + The other image to concate + A new image that is the horizontal concatening of this image and + + + + Calculates spatial and central moments up to the third order and writes them to moments. The moments may be used then to calculate gravity center of the shape, its area, main axises and various shape characteristics including 7 Hu invariants. + + If the flag is true, all the zero pixel values are treated as zeroes, all the others are treated as 1's + spatial and central moments up to the third order + + + + Gamma corrects this image inplace. The image must have a depth type of Byte. + + The gamma value + + + + Split current Image into an array of gray scale images where each element + in the array represent a single color channel of the original image + + + An array of gray scale images where each element + in the array represent a single color channel of the original image + + + + + Save this image to the specific file. + + The name of the file to be saved to + The image format is chosen depending on the filename extension, see cvLoadImage. Only 8-bit single-channel or 3-channel (with 'BGR' channel order) images can be saved using this function. If the format, depth or channel order is different, use cvCvtScale and cvCvtColor to convert it before saving, or use universal cvSave to save the image to XML or YAML format. + + + + The algorithm inplace normalizes brightness and increases contrast of the image. + For color images, a HSV representation of the image is first obtained and the V (value) channel is histogram normalized + + + + + This function load the image data from Mat + + The Mat + + + + This function load the image data from the iplImage pointer + + The pointer to the iplImage + + + + Get the managed image from an unmanaged IplImagePointer + + The pointer to the iplImage + The managed image from the iplImage pointer + + + + Get the jpeg representation of the image + + The jpeg quality + An byte array that contains the image as jpeg data + + + + Get the size of the array + + + + + Constants used by the image class + + + + + Offset of roi + + + + + Image data release mode + + + + + Release just the header + + + + + Release the IplImage + + + + + This is the proxy class for passing read-only input arrays into OpenCV functions. + + + This is the proxy class for passing read-only input arrays into OpenCV functions. + + + + + Input array type + + + + + kind shift + + + + + Fixed type + + + + + Fixed size + + + + + Kind mask + + + + + None + + + + + Mat + + + + + Matx + + + + + StdVector + + + + + StdVectorVector + + + + + StdVectorMat + + + + + Expr + + + + + Opengl buffer + + + + + Cuda Host Mem + + + + + Cuda GpuMat + + + + + UMat + + + + + StdVectorUMat + + + + + StdBoolVector + + + + + StdVectorCudaGpuMat + + + + + Create a Input array from an existing unmanaged inputArray pointer + + The unmanaged pointer the the InputArray + The parent object to keep reference to + + + + Get an empty input array + + An empty input array + + + + Get the Mat from the input array + + The index, in case if this is an VectorOfMat + The Mat + + + + Get the UMat from the input array + + The index, in case if this is an VectorOfUMat + The UMat + + + + Get the size of the input array + + The optional index + The size of the input array + + + + Return true if the input array is empty + + + + + Get the depth type + + The optional index + The depth type + + + + Get the number of dimensions + + The optional index + The dimensions + + + + Get the number of channels + + The optional index + The number of channels + + + + Copy this Input array to another. + + The destination array. + The optional mask. + + + + Release all the unmanaged memory associated with this InputArray + + + + + True if the input array is a Mat + + + + + True if the input array is an UMat + + + + + True if the input array is a vector of Mat + + + + + True if the input array is a vector of UMat + + + + + True if the input array is a Matx + + + + + The type of the input array + + + + + Get the GpuMat from the input array + + The GpuMat + + + + This type is very similar to InputArray except that it is used for input/output function parameters. + + + + + Create an InputOutputArray from an existing unmanaged inputOutputArray pointer + + The pointer to the existing inputOutputArray + The parent object to keep reference to + + + + Get an empty InputOutputArray + + An empty InputOutputArray + + + + Release all the memory associated with this InputOutputArry + + + + + This type is very similar to InputArray except that it is used for output function parameters. + + + + + The unmanaged pointer to the output array + + Get the output array + + + + OutputArrayOfArrays + + + + + A Map is similar to an Image, except that the location of the pixels is defined by + its area and resolution + + The color of this map + The depth of this map + + + + Get the area of this map as a rectangle + + + + + Get the resolution of this map as a 2D point + + + + + Create a new Image Map defined by the Rectangle area. The center (0.0, 0.0) of this map is + defined by the center of the rectangle. + + The area this map covers. + The resolution of x (y), (e.g. a value of 0.5 means each cell in the map is 0.5 unit in x (y) dimension) + The initial color of the map + + + + Create a new Image Map defined by the Rectangle area. The center (0.0, 0.0) of this map is + defined by the center of the rectangle. The initial value of the map is 0.0 + + The area this map covers. + The resolution of x (y), (e.g. a value of 0.5 means each cell in the map is 0.5 unit in x (y) dimension) + + + + Map a point to a position in the internal image + + The point on the map + The point on the image + + + + Map a point to a position in the internal image + + The point on the map + The point on the image + + + + Map an image point to a Map point + + The point on image + The point on map + + + + Get a copy of the map in the specific area + + the area of the map to be retrieve + The area of the map + + + + Get or Set the region of interest for this map. To clear the ROI, set it to System.Drawing.RectangleF.Empty + + + + + Draw a rectangle in the map + + The rectangle to draw + The color for the rectangle + The thickness of the rectangle, any value less than or equal to 0 will result in a filled rectangle + + + + Draw a line segment in the map + + The line to be draw + The color for the line + The thickness of the line + Line type + Number of fractional bits in the center coordinates and radius value + + + Draw a Circle of the specific color and thickness + The circle to be drawn + The color of the circle + If thickness is less than 1, the circle is filled up + Line type + Number of fractional bits in the center coordinates and radius value + + + Draw a convex polygon of the specific color and thickness + The convex polygon to be drawn + The color of the convex polygon + If thickness is less than 1, the triangle is filled up + + + + Draw the text using the specific font on the image + + The text message to be draw + Font type. + Font scale factor that is multiplied by the font-specific base size. + The location of the bottom left corner of the font + The color of the text + Thickness of the lines used to draw a text. + Line type + When true, the image data origin is at the bottom-left corner. Otherwise, it is at the top-left corner. + + + + Draw the polyline defined by the array of 2D points + + the points that defines the poly line + if true, the last line segment is defined by the last point of the array and the first point of the array + the color used for drawing + the thinkness of the line + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + streaming context + + + + The equivalent of cv::Mat + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime deserailization of the object + + Serialization info + Streaming context + + + + A function used for runtime serialization of the object + + Serialization info + streaming context + + + + Gets or sets the data as byte array. + + + The bytes. + + + + + Copy data from this Mat to the managed array + + The type of managed data array + The managed array where data will be copied to. + + + + Copy data from managed array to this Mat + + The type of managed data array + The managed array where data will be copied from + + + + An option parent object to keep reference to + + + + + Create an empty cv::Mat + + + + + Create a mat of the specific type. + + Number of rows in a 2D array. + Number of columns in a 2D array. + Mat element type + Number of channels + + + + Create a mat of the specific type. + + Size of the Mat + Mat element type + Number of channels + + + + Create a Mat header from existing data + + Number of rows in a 2D array. + Number of columns in a 2D array. + Mat element type + Number of channels + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. This operation is very efficient and can be used to process external data using OpenCV functions. The external data is not automatically deallocated, so you should take care of it. + Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. + + + + Create multi-dimension mat using existing data. + + The sizes of each dimension + The type of data + The pointer to the unmanaged data + The steps + + + + Create a Mat header from existing data + + Size of the Mat + Mat element type + Number of channels + Pointer to the user data. Matrix constructors that take data and step parameters do not allocate matrix data. Instead, they just initialize the matrix header that points to the specified data, which means that no data is copied. This operation is very efficient and can be used to process external data using OpenCV functions. The external data is not automatically deallocated, so you should take care of it. + Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. + + + + Load the Mat from file + + The name of the file + File loading method + + + + Create a mat header for the specific ROI + + The mat where the new Mat header will share data from + The region of interest + + + + Create a mat header for the specific ROI + + The mat where the new Mat header will share data from + The region of interest + The region of interest + + + + Convert this Mat to UMat + + Access type + Usage flags + The UMat + + + + Allocates new array data if needed. + + New number of rows. + New number of columns. + New matrix element depth type. + New matrix number of channels + + + + The size of this matrix + + + + + The number of rows + + + + + The number of columns + + + + + Pointer to the beginning of the raw data + + + + + Get a pointer to the raw data given the specific index + + The index to the Mat data + A pointer to the raw data given the specific index + + + + Get a copy of the data values as an array + + If true, a jagged array will returned. Otherwise it will return a regular array. + a copy of the data values as an array + + + + Gets the binary data from the specific indices. + + The indices. + The raw data in byte + Indices of length more than 2 is not implemented + + + + Step + + + + + The size of the elements in this matrix + + + + + Copy the data in this cv::Mat to an output array + + The output array to copy to + Operation mask. Its non-zero elements indicate which matrix elements need to be copied. + + + + Converts an array to another data type with optional scaling. + + Output matrix; if it does not have a proper size or type before the operation, it is reallocated. + Desired output matrix type or, rather, the depth since the number of channels are the same as the input has; if rtype is negative, the output matrix will have the same type as the input. + Optional scale factor. + Optional delta added to the scaled values. + + + + Changes the shape and/or the number of channels of a 2D matrix without copying the data. + + New number of channels. If the parameter is 0, the number of channels remains the same. + New number of rows. If the parameter is 0, the number of rows remains the same. + A new mat header that has different shape + + + + Release all the unmanaged memory associated with this object. + + + + + Pointer to the InputArray + + The input array + + + + Pointer to the OutputArray + + The output array + + + + Pointer to the InputOutputArray + + The input output array + + + + Get the width of the mat + + + + + Get the height of the mat. + + + + + Get the minimum and maximum value across all channels of the mat + + The range that contains the minimum and maximum values + + + + Convert this Mat to Image + + The type of Color + The type of Depth + If true, we will try to see if we can create an Image object that shared the pixel memory with this Mat. + The image + + + + The Get property provide a more efficient way to convert gray scale Mat of Byte, 3 channel Mat of Byte (assuming BGR color space) or 4 channel Mat of Byte (assuming Bgra color space) into Bitmap + such that the image data is shared with Bitmap. + If you change the pixel value on the Bitmap, you change the pixel values on the Image object as well! + For other types of image this property has the same effect as ToBitmap() + Take extra caution not to use the Bitmap after the Mat object is disposed + The Set property convert the bitmap to this Image type. + + + + + Set the mat to the specific value + + The value to set to + Optional mask + + + + Set the mat to the specific value + + The value to set to + Optional mask + + + + Returns an identity matrix of the specified size and type. + + Number of rows. + Number of columns. + Mat element type + Number of channels + An identity matrix of the specified size and type. + + + + Extracts a diagonal from a matrix. The method makes a new header for the specified matrix diagonal. The new matrix is represented as a single-column matrix. Similarly to Mat::row and Mat::col, this is an O(1) operation. + + Index of the diagonal, with the following values: d=0 is the main diagonal; d < 0 is a diagonal from the lower half. For example, d=-1 means the diagonal is set immediately below the main one; d > 0 is a diagonal from the upper half. For example, d=1 means the diagonal is set immediately above the main one. + A diagonal from a matrix + + + + Transposes a matrix. + + The transposes of the matrix. + + + + Returns a zero array of the specified size and type. + + Number of rows. + Number of columns. + Mat element type + Number of channels + A zero array of the specified size and type. + + + + Returns an array of all 1's of the specified size and type. + + Number of rows. + Number of columns. + Mat element type + Number of channels + An array of all 1's of the specified size and type. + + + + Returns the min / max location and values for the image + + The maximum locations for each channel + The maximum values for each channel + The minimum locations for each channel + The minimum values for each channel + + + + Creates a matrix header for the specified matrix row. + + A 0-based row index. + A matrix header for the specified matrix row. + + + + Creates a matrix header for the specified matrix column. + + A 0-based column index. + A matrix header for the specified matrix column. + + + + Save this image to the specific file. + + The name of the file to be saved to + The image format is chosen depending on the filename extension, see cvLoadImage. Only 8-bit single-channel or 3-channel (with 'BGR' channel order) images can be saved using this function. If the format, depth or channel order is different, use cvCvtScale and cvCvtColor to convert it before saving, or use universal cvSave to save the image to XML or YAML format. + + + + Make a clone of the current Mat + + A clone of the current Mat + + + + Split current Image into an array of gray scale images where each element + in the array represent a single color channel of the original image + + + An array of gray scale images where each element in the array represent a single color channel of the original image + + + + + Compares two Mats and check if they are equal + + The other mat to compare with + True if the two Mats are equal + + + + Computes a dot-product of two vectors. + + Another dot-product operand + The dot-product of two vectors. + + + + Computes a cross-product of two 3-element vectors. + + Another cross-product operand. + Cross-product of two 3-element vectors. + + + + Get an array of the size of the dimensions. e.g. if the mat is 9x10x11, the array of {9, 10, 11} will be returned. + + + + + Perform an element wise AND operation on the two mats + + The first mat to AND + The second mat to AND + The result of the AND operation + + + + Perform an element wise AND operation using a mat and a scalar + + The first image to AND + The value to AND + The result of the AND operation + + + + Perform an element wise AND operation using a mat and a color + + The first mat to AND + The value to AND + The result of the AND operation + + + + Perform an element wise AND operation using a mat and a scalar + + The first mat to AND + The value to AND + The result of the AND operation + + + + Perform an element wise AND operation using a mat and a scalar + + The first mat to AND + The scalar to AND + The result of the AND operation + + + Perform an element wise OR operation with another mat and return the result + The first mat to apply bitwise OR operation + The second mat to apply bitwise OR operation + The result of the OR operation + + + + Perform an binary OR operation with some value + + The mat to OR + The color to OR + The result of the OR operation + + + + Perform an binary OR operation with some color + + The mat to OR + The color to OR + The result of the OR operation + + + + Perform an binary OR operation with some scalar + + The mat to OR + The value to OR + The result of the OR operation + + + + Perform an binary OR operation with some scalar + + The mat to OR + The color to OR + The result of the OR operation + + + Compute the complement Mat + The mat to be inverted + The complement image + + + + Element wise add with + + The first image to be added + The second image to be added + The sum of the two images + + + + Element wise add with + + The mat to be added + The value to be added + The mat plus the value + + + + Element wise add with + + The mat to be added + The value to be added + The images plus the value + + + + Element wise add with + + The mat to be added + The value to be added + The mat plus the value + + + + Element wise add with + + The mat to be added + The color to be added + The images plus the color + + + + Element wise subtract another mat from the current mat + + The mat to be subtracted from. + The second image to be subtracted from + The result of element wise subtracting img2 from + + + + Element wise subtract another mat from the current mat + + The mat to be subtracted + The value to be subtracted + The result of element wise subtracting from + + + + Element wise subtract value from the current mat + + The mat to be subtracted + The color to be subtracted + - + + + + - + + The mat to be subtracted + The value to be subtracted + - + + + + Element wise subtract value from the current mat + + The mat to be subtracted + The value to be subtracted + - + + + + * + + The mat + The multiplication scale + * + + + + * + + The mat + The multiplication scale + * + + + + / + + The mat + The division scale + / + + + + / + + The mat + The scale + / + + + + True if the data is continues + + + + + True if the matrix is a submatrix of another matrix + + + + + Depth type + + + + + True if the Mat is empty + + + + + Number of channels + + + + + The method removes one or more rows from the bottom of the matrix + + The value + + + + Adds elements to the bottom of the matrix + + The value + + + + The method returns the number of array elements (a number of pixels if the array represents an image) + + + + + The matrix dimensionality + + + + + Matrix data allocator. Base class for Mat that handles the matrix data allocation and deallocation + + + + + Get the managed data used by the Mat + + + + + Release resource associated with this object + + + + + A MatND is a wrapper to cvMatND of OpenCV. + + The type of depth + + + + Create a N-dimensional matrix + + The size for each dimension + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + This function is not implemented for MatND + + Not implemented + Not implemented + Not implemented + + + + This function is not implemented for MatND + + + + + Get the underneath managed array + + + + + Get the depth representation for Open CV + + + + + Release the matrix and all the memory associate with it + + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + A function used for runtime deserailization of the object + + Serialization info + Streaming context + + + + Not Implemented + + The XmlReader + + + + Not Implemented + + The XmlWriter + + + + The MCvMatND structure + + + + + Convert this matrix to different depth + + The depth type to convert to + Matrix of different depth + + + + Check if the two MatND are equal + + The other MatND to compares to + True if the two MatND equals + + + + A Matrix is a wrapper to cvMat of OpenCV. + + Depth of this matrix (either Byte, SByte, Single, double, UInt16, Int16 or Int32) + + + + The default constructor which allows Data to be set later on + + + + + Create a Matrix (only header is allocated) using the Pinned/Unmanaged . The is not freed by the disposed function of this class + + The number of rows + The number of cols + The Pinned/Unmanaged data, the data must not be release before the Matrix is Disposed + The step (row stride in bytes) + The caller is responsible for allocating and freeing the block of memory specified by the data parameter, however, the memory should not be released until the related Matrix is released. + + + + Create a Matrix (only header is allocated) using the Pinned/Unmanaged . The is not freed by the disposed function of this class + + The number of rows + The number of cols + The number of channels + The Pinned/Unmanaged data, the data must not be release before the Matrix is Disposed + The step (row stride in bytes) + The caller is responsible for allocating and freeing the block of memory specified by the data parameter, however, the memory should not be released until the related Matrix is released. + + + + Create a Matrix (only header is allocated) using the Pinned/Unmanaged . The is not freed by the disposed function of this class + + The number of rows + The number of cols + The Pinned/Unmanaged data, the data must not be release before the Matrix is Disposed + The caller is responsible for allocating and freeing the block of memory specified by the data parameter, however, the memory should not be released until the related Matrix is released. + + + + Create a matrix of the specific size + + The number of rows (height) + The number of cols (width) + + + + Create a matrix of the specific size + + The size of the matrix + + + + Create a matrix of the specific size and channels + + The number of rows + The number of cols + The number of channels + + + + Create a matrix using the specific data. + + The data will be used as the Matrix data storage. You need to make sure that the data object live as long as this Matrix object + The data will be used as the Matrix data storage. You need to make sure that the data object live as long as this Matrix object + + + + Create a matrix using the specific + + the data for this matrix + + + + Get the underneath managed array + + + + + Get or Set the data for this matrix + + + + + Get the number of channels for this matrix + + + + + The MCvMat structure format + + + + + Returns determinant of the square matrix + + + + + Return the sum of the elements in this matrix + + + + + Return a matrix of the same size with all elements equals 0 + + A matrix of the same size with all elements equals 0 + + + + Make a copy of this matrix + + A copy if this matrix + + + + Get reshaped matrix which also share the same data with the current matrix + + the new number of channles + The new number of rows + A reshaped matrix which also share the same data with the current matrix + + + + Convert this matrix to different depth + + The depth type to convert to + the scaling factor to apply during conversion (defaults to 1.0 -- no scaling) + the shift factor to apply during conversion (defaults to 0.0 -- no shifting) + Matrix of different depth + + + Returns the transpose of this matrix + The transpose of this matrix + + + + Get or Set the value in the specific and + + the row of the element + the col of the element + The element on the specific and + + + + Allocate data for the array + + The number of rows + The number of columns + The number of channels for this matrix + + + + Get a submatrix corresponding to a specified rectangle + + the rectangle area of the sub-matrix + A submatrix corresponding to a specified rectangle + + + + Get the specific row of the matrix + + the index of the row to be reterived + the specific row of the matrix + + + + Return the matrix corresponding to a specified row span of the input array + + Zero-based index of the starting row (inclusive) of the span + Zero-based index of the ending row (exclusive) of the span + Index step in the row span. That is, the function extracts every delta_row-th row from start_row and up to (but not including) end_row + A matrix corresponding to a specified row span of the input array + + + + Get the specific column of the matrix + + the index of the column to be reterived + the specific column of the matrix + + + + Get the Matrix, corresponding to a specified column span of the input array + + Zero-based index of the ending column (exclusive) of the span + Zero-based index of the selected column + the specific column span of the matrix + + + + Return the specific diagonal elements of this matrix + + Array diagonal. Zero corresponds to the main diagonal, -1 corresponds to the diagonal above the main etc., 1 corresponds to the diagonal below the main etc + The specific diagonal elements of this matrix + + + + Return the main diagonal element of this matrix + + The main diagonal element of this matrix + + + + Return the matrix without a specified row span of the input array + + Zero-based index of the starting row (inclusive) of the span + Zero-based index of the ending row (exclusive) of the span + The matrix without a specified row span of the input array + + + + Return the matrix without a specified column span of the input array + + Zero-based index of the starting column (inclusive) of the span + Zero-based index of the ending column (exclusive) of the span + The matrix without a specified column span of the input array + + + + Concate the current matrix with another matrix vertically. If this matrix is n1 x m and is n2 x m, the resulting matrix is (n1+n2) x m. + + The other matrix to concate + A new matrix that is the vertical concatening of this matrix and + + + + Concate the current matrix with another matrix horizontally. If this matrix is n x m1 and is n x m2, the resulting matrix is n x (m1 + m2). + + The other matrix to concate + A matrix that is the horizontal concatening of this matrix and + + + + Returns the min / max locations and values for the matrix + + The minimum value + The maximum value + The minimum location + The maximum location + The optional mask + + + Elementwise add another matrix with the current matrix + The matrix to be added to the current matrix + The result of elementwise adding mat2 to the current matrix + + + Elementwise add a color to the current matrix + The value to be added to the current matrix + The result of elementwise adding from the current matrix + + + Elementwise subtract another matrix from the current matrix + The matrix to be subtracted to the current matrix + The result of elementwise subtracting mat2 from the current matrix + + + Elementwise subtract a color to the current matrix + The value to be subtracted from the current matrix + The result of elementwise subtracting from the current matrix + + + + result = val - this + + The value which subtract this matrix + val - this + + + Multiply the current matrix with + The scale to be multiplied + The scaled matrix + + + Multiply the current matrix with + The matrix to be multiplied + Result matrix of the multiplication + + + + Elementwise add with + + The Matrix to be added + The Matrix to be added + The elementwise sum of the two matrices + + + + Elementwise add with + + The Matrix to be added + The value to be added + The matrix plus the value + + + + + + + The Matrix to be added + The value to be added + The matrix plus the value + + + + - + + The Matrix to be subtracted + The value to be subtracted + - + + + + - + + The Matrix to be subtracted + The matrix to subtract + - + + + + - + + The Matrix to be subtracted + The value to be subtracted + - + + + + * + + The Matrix to be multiplied + The value to be multiplied + * + + + + * + + The matrix to be multiplied + The value to be multiplied + * + + + + / + + The Matrix to be divided + The value to be divided + / + + + + * + + The Matrix to be multiplied + The Matrix to be multiplied + * + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + Release the matrix and all the memory associate with it + + + + + This function compare the current matrix with and returns the comparison mask + + The other matrix to compare with + Comparison type + The comparison mask + + + + Get all channels for the multi channel matrix + + Each individual channel of this matrix + + + + Return true if every element of this matrix equals elements in + + The other matrix to compare with + true if every element of this matrix equals elements in + + + + Get the size of the array + + + + + The equivalent of cv::Moments + + + + + Create an empty Moment object + + + + + Release the unmanaged resources + + + + + The Gravity Center of this Moment + + + + + M00 + + + + + M10 + + + + + M01 + + + + + M20 + + + + + M11 + + + + + M02 + + + + + M30 + + + + + M21 + + + + + M12 + + + + + M03 + + + + + Mu20 + + + + + Mu11 + + + + + Mu02 + + + + + Mu30 + + + + + Mu21 + + + + + Mu12 + + + + + Mu03 + + + + + Nu20 + + + + + Nu11 + + + + + Nu02 + + + + + Nu30 + + + + + Nu21 + + + + + Nu12 + + + + + Nu03 + + + + + This type is very similar to InputArray except that it is used for output function parameters. + + + + + Create an OutputArray from an existing unmanaged outputArray pointer + + The pointer to the unmanaged outputArray + The parent object to keep reference to + + + + Get an empty output array + + An empty output array + + + + Release the unmanaged memory associated with this output array. + + + + + True if the output array is fixed size + + + + + True if the output array is fixed type + + + + + True if the output array is needed + + + + + Random Number Generator. + + + + + Distribution type + + + + + Uniform distribution + + + + + Normal distribution + + + + + Create a Random Number Generator. + + + + + Create a Random Number Generator using a seed. + + 64-bit value used to initialize the RNG + + + + Release the unmanaged resources + + + + + Fills arrays with random numbers. + + 2D or N-dimensional matrix; currently matrices with more than 4 channels are not supported by the methods, use Mat::reshape as a possible workaround. + distribution type + First distribution parameter; in case of the uniform distribution, this is an inclusive lower boundary, in case of the normal distribution, this is a mean value. + Second distribution parameter; in case of the uniform distribution, this is a non-inclusive upper boundary, in case of the normal distribution, this is a standard deviation (diagonal of the standard deviation matrix or the full standard deviation matrix). + Pre-saturation flag; for uniform distribution only; if true, the method will first convert a and b to the acceptable value range (according to the mat datatype) and then will generate uniformly distributed random numbers within the range [saturate(a), saturate(b)), if saturateRange=false, the method will generate uniformly distributed random numbers in the original range [a, b) and then will saturate them + + + + Fills arrays with random numbers. + + 2D or N-dimensional matrix; currently matrices with more than 4 channels are not supported by the methods, use Mat::reshape as a possible workaround. + distribution type + First distribution parameter; in case of the uniform distribution, this is an inclusive lower boundary, in case of the normal distribution, this is a mean value. + Second distribution parameter; in case of the uniform distribution, this is a non-inclusive upper boundary, in case of the normal distribution, this is a standard deviation (diagonal of the standard deviation matrix or the full standard deviation matrix). + Pre-saturation flag; for uniform distribution only; if true, the method will first convert a and b to the acceptable value range (according to the mat datatype) and then will generate uniformly distributed random numbers within the range [saturate(a), saturate(b)), if saturateRange=false, the method will generate uniformly distributed random numbers in the original range [a, b) and then will saturate them + + + + Returns the next random number sampled from the Gaussian distribution. + + standard deviation of the distribution. + Returns the next random number from the Gaussian distribution N(0,sigma) . That is, the mean value of the returned random numbers is zero and the standard deviation is the specified sigma . + + + + The method updates the state using the MWC algorithm and returns the next 32-bit random number. + + The next 32-bit random number + + + + Returns uniformly distributed integer random number from [a,b) range + + Lower inclusive boundary of the returned random number. + Upper non-inclusive boundary of the returned random number. + Uniformly distributed integer random number from [a,b) range + + + + Returns uniformly distributed random float number from [a,b) range + + Lower inclusive boundary of the returned random number. + Upper non-inclusive boundary of the returned random number. + Uniformly distributed random float number from [a,b) range + + + + Returns uniformly distributed random double number from [a,b) range + + Lower inclusive boundary of the returned random number. + Upper non-inclusive boundary of the returned random number. + Uniformly distributed random double number from [a,b) range + + + + An implementation of IInputArray intented to convert data to IInputArray + + + + + Create an InputArray from MCvScalar + + The MCvScalar to be converted to InputArray + + + + Create an InputArray from a double value + + The double value to be converted to InputArray + + + + Convert double scalar to InputArray + + The double scalar + The InputArray + + + + Convert MCvScalar to InputArray + + The MCvScalar + The InputArray + + + + Release all the unmanaged memory associated with this InputArray + + + + + The pointer to the input array + + The input array + + + + Create a sparse matrix + + The type of elements in this matrix + + + + Create a sparse matrix of the specific dimension + + The dimension of the sparse matrix + + + + Get or Set the value in the specific and + + the row of the element + the col of the element + The element on the specific and + + + + Release the unmanaged memory associated with this sparse matrix + + + + + The Image which contains time stamp which specified what time this image is created + + The color of this map + The depth of this map + + + + Create a empty Image + + + + + Create a blank Image of the specified width, height, depth and color. + + The width of the image + The height of the image + The initial color of the image + + + + Create an empty Image of the specified width and height + + The width of the image + The height of the image + + + + The time this image is captured + + + + + The equivalent of cv::Mat, should only be used if you know what you are doing. + In most case you should use the Matrix class instead + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime deserailization of the object + + Serialization info + Streaming context + + + + A function used for runtime serialization of the object + + Serialization info + streaming context + + + + Allocation usage. + + + + + Default + + + + + Buffer allocation policy is platform and usage specific + + + + + Buffer allocation policy is platform and usage specific + + + + + Buffer allocation policy is platform and usage specific + It is not equal to: AllocateHostMemory | AllocateDeviceMemory + + + + + Get or Set the raw image data + + + + + Create an empty cv::UMat + + + + + Create a umat of the specific type. + + Number of rows in a 2D array. + Number of columns in a 2D array. + Mat element type + Number of channels + Allocation Usage + + + + Create a umat of the specific type. + + Size of the UMat + Mat element type + Number of channels + Allocation Usage + + + + Get the Umat header for the specific roi of the parent + + The parent Umat + The region of interest + + + + Create a umat header for the specific ROI + + The umat where the new UMat header will share data from + The region of interest + The region of interest + + + + Allocates new array data if needed. + + New number of rows. + New number of columns. + New matrix element depth type. + New matrix number of channels + Allocation Usage + + + + Read a UMat from file. + + The name of the file + The read mode + + + + The size of this matrix + + + + + The number of rows + + + + + The number of columns + + + + + The size of the elements in this matrix + + + + + Copy the data in this umat to the other mat + + Operation mask. Its non-zero elements indicate which matrix elements need to be copied. + The input array to copy to + + + + Sets all or some of the array elements to the specified value. + + Assigned scalar converted to the actual array type. + Operation mask of the same size as the umat. + + + + Sets all or some of the array elements to the specified value. + + Assigned scalar value. + Operation mask of the same size as the umat. + + + + Return the Mat representation of the UMat + + The access type + The Mat representation of the UMat + + + + Release all the unmanaged memory associated with this object. + + + + + Pointer to the InputArray + + The input array + + + + Pointer to the OutputArray + + The output array + + + + Pointer to the InputOutputArray + + The input output array + + + + Changes the shape and/or the number of channels of a 2D matrix without copying the data. + + New number of channels. If the parameter is 0, the number of channels remains the same. + New number of rows. If the parameter is 0, the number of rows remains the same. + A new mat header that has different shape + + + + Convert this Mat to Image + + The type of Color + The type of Depth + The image + + + + The Get property provide a more efficient way to convert Image<Gray, Byte>, Image<Bgr, Byte> and Image<Bgra, Byte> into Bitmap + such that the image data is shared with Bitmap. + If you change the pixel value on the Bitmap, you change the pixel values on the Image object as well! + For other types of image this property has the same effect as ToBitmap() + Take extra caution not to use the Bitmap after the Image object is disposed + The Set property convert the bitmap to this Image type. + + + + + Returns the min / max location and values for the image + + The maximum locations for each channel + The maximum values for each channel + The minimum locations for each channel + The minimum values for each channel + + + + Converts an array to another data type with optional scaling. + + Output matrix; if it does not have a proper size or type before the operation, it is reallocated. + Desired output matrix type or, rather, the depth since the number of channels are the same as the input has; if rtype is negative, the output matrix will have the same type as the input. + Optional scale factor. + Optional delta added to the scaled values. + + + + Split current Image into an array of gray scale images where each element + in the array represent a single color channel of the original image + + + An array of gray scale images where each element + in the array represent a single color channel of the original image + + + + + Save this image to the specific file. + + The name of the file to be saved to + The image format is chosen depending on the filename extension, see cvLoadImage. Only 8-bit single-channel or 3-channel (with 'BGR' channel order) images can be saved using this function. If the format, depth or channel order is different, use cvCvtScale and cvCvtColor to convert it before saving, or use universal cvSave to save the image to XML or YAML format. + + + + Make a clone of the current UMat. + + A clone of the current UMat. + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + + true if the current object is equal to the parameter; otherwise, false. + + + + + Copy data from this Mat to the managed array + + The type of managed data array + The managed array where data will be copied to. + + + + Copy data from managed array to this Mat + + The type of managed data array + The managed array where data will be copied from + + + + Computes the dot product of two mats + + The matrix to compute dot product with + The dot product + + + + Creates a matrix header for the specified matrix row. + + A 0-based row index. + A matrix header for the specified matrix row. + + + + Creates a matrix header for the specified matrix column. + + A 0-based column index. + A matrix header for the specified matrix column. + + + + Get a copy of the data values as an array + + If true, a jagged array will returned. Otherwise it will return a regular array. + a copy of the data values as an array + + + + Perform an element wise AND operation on the two mats + + The first mat to AND + The second mat to AND + The result of the AND operation + + + + Perform an element wise AND operation using a mat and a scalar + + The first image to AND + The value to AND + The result of the AND operation + + + + Perform an element wise AND operation using a mat and a color + + The first mat to AND + The value to AND + The result of the AND operation + + + + Perform an element wise AND operation using a mat and a scalar + + The first mat to AND + The value to AND + The result of the AND operation + + + + Perform an element wise AND operation using a mat and a scalar + + The first mat to AND + The scalar to AND + The result of the AND operation + + + Perform an element wise OR operation with another mat and return the result + The first mat to apply bitwise OR operation + The second mat to apply bitwise OR operation + The result of the OR operation + + + + Perform an binary OR operation with some value + + The mat to OR + The color to OR + The result of the OR operation + + + + Perform an binary OR operation with some color + + The mat to OR + The color to OR + The result of the OR operation + + + + Perform an binary OR operation with some scalar + + The mat to OR + The value to OR + The result of the OR operation + + + + Perform an binary OR operation with some scalar + + The mat to OR + The color to OR + The result of the OR operation + + + Compute the complement Mat + The mat to be inverted + The complement image + + + + Element wise add with + + The first mat to be added + The second mat to be added + The sum of the two images + + + + Element wise add with + + The mat to be added + The value to be added + The mat plus the value + + + + Element wise add with + + The mat to be added + The value to be added + The images plus the value + + + + Element wise add with + + The mat to be added + The value to be added + The mat plus the value + + + + Element wise add with + + The mat to be added + The color to be added + The images plus the color + + + + Element wise subtract another mat from the current mat + + The mat to be subtracted from. + The second image to be subtracted from + The result of element wise subtracting img2 from + + + + Element wise subtract another mat from the current mat + + The mat to be subtracted + The value to be subtracted + The result of element wise subtracting from + + + + Element wise subtract value from the current mat + + The mat to be subtracted + The color to be subtracted + - + + + + - + + The mat to be subtracted + The value to be subtracted + - + + + + Element wise subtract value from the current mat + + The mat to be subtracted + The value to be subtracted + - + + + + * + + The mat + The multiplication scale + * + + + + * + + The mat + The multiplication scale + * + + + + / + + The mat + The division scale + / + + + + / + + The mat + The scale + / + + + + True if the data is continues + + + + + True if the matrix is a submatrix of another matrix + + + + + Depth type + + + + + True if the matrix is empty + + + + + Number of channels + + + + + The method returns the number of array elements (a number of pixels if the array represents an image) + + + + + The matrix dimensionality + + + + + The Affine3 matrix, double precision. + + + + + Create an empty Affine3, double precision matrix + + + + + Create a new identity matrix + + The identity affine 3d matrix + + + + Rotate the Affine3 matrix by a Rodrigues vector + + Value of the Rodrigues vector + Value of the Rodrigues vector + Value of the Rodrigues vector + The rotated Affine3 matrix + + + + Translate the Affine3 matrix by the given value + + Value of the translation vector + Value of the translation vector + Value of the translation vector + The translated Affine3 matrix + + + + Get the 3x3 matrix's value as a double vector (of size 9) + + The 3x3 matrix's value as a double vector (of size 9) + + + + Release the unmanaged memory associated with this Affine3 model + + + + + A Uniform Multi-dimensional Dense Histogram + + + + + Creates a uniform 1-D histogram of the specified size + + The number of bins in this 1-D histogram. + The upper and lower boundary of the bin + + + + Creates a uniform multi-dimension histogram of the specified size + + The length of this array is the dimension of the histogram. The values of the array contains the number of bins in each dimension. The total number of bins eaquals the multiplication of all numbers in the array + the upper and lower boundaries of the bins + + + + Clear this histogram + + + + + Project the images to the histogram bins + + The type of depth of the image + images to project + If it is true, the histogram is not cleared in the beginning. This feature allows user to compute a single histogram from several images, or to update the histogram online. + Can be null if not needed. The operation mask, determines what pixels of the source images are counted + + + + Project the matrices to the histogram bins + + The type of depth of the image + Matrices to project + If it is true, the histogram is not cleared in the beginning. This feature allows user to compute a single histogram from several images, or to update the histogram online. + Can be null if not needed. The operation mask, determines what pixels of the source images are counted + + + + Backproject the histogram into a gray scale image + + Source images, all are of the same size and type + Destination back projection image of the same type as the source images + The type of depth of the image + + + + Backproject the histogram into a matrix + + Source matrices, all are of the same size and type + Destination back projection matrix of the sametype as the source matrices + The type of depth of the matrix + + + + Get the size of the bin dimensions + + + + + Get the ranges of this histogram + + + + + Gets the bin values. + + The bin values + + + The interface that is used for WCF to provide a image capture service + + + Capture a Bgr image frame + A Bgr image frame + + + Capture a Bgr image frame that is half width and half height + A Bgr image frame that is half width and half height + + + + The interface to request a duplex image capture + + + + + Request a frame from server + + + + + Request a frame from server which is half width and half height + + + + + The interface for DuplexCaptureCallback + + + + + Function to call when an image is received + + The image received + + + + Capture images from either camera or video file. + + VideoCapture class is NOT implemented in Open CV for Android, iOS or UWP platforms + + + + VideoCapture API backends identifier. + + + + + Auto detect + + + + + Video For Windows (obsolete, removed) + + + + + V4L/V4L2 capturing support + + + + + Same as CAP_V4L + + + + + IEEE 1394 drivers + + + + + IEEE 1394 drivers + + + + + IEEE 1394 drivers + + + + + IEEE 1394 drivers + + + + + QuickTime (obsolete, removed) + + + + + Unicap drivers (obsolete, removed) + + + + + DirectShow (via videoInput) + + + + + PvAPI, Prosilica GigE SDK + + + + + OpenNI (for Kinect) + + + + + OpenNI (for Asus Xtion) + + + + + Android - not used + + + + + XIMEA Camera API + + + + + AVFoundation framework for iOS (OS X Lion will have the same API) + + + + + Smartek Giganetix GigEVisionSDK + + + + + Microsoft Media Foundation (via videoInput) + + + + + Microsoft Windows Runtime using Media Foundation + + + + + Intel Perceptual Computing SDK + + + + + OpenNI2 (for Kinect) + + + + + OpenNI2 (for Asus Xtion and Occipital Structure sensors) + + + + + gPhoto2 connection + + + + + GStreamer + + + + + Open and record video file or stream using the FFMPEG library + + + + + OpenCV Image Sequence (e.g. img_%02d.jpg) + + + + + Aravis SDK + + + + + Built-in OpenCV MotionJPEG codec + + + + + Intel MediaSDK + + + + + XINE engine (Linux) + + + + + the type of flipping + + + + + The type of capture source + + + + + Capture from camera + + + + + Capture from file using HighGUI + + + + + Get the type of the capture module + + + + + Get and set the flip type + + + + + Get or Set if the captured image should be flipped horizontally + + + + + Get or Set if the captured image should be flipped vertically + + + + The width of this capture + + + The height of this capture + + + Create a capture using the specific camera + The index of the camera to create capture from, starting from 0 + The preferred Capture API backends to use. Can be used to enforce a specific reader implementation if multiple are available. + + + + Create a capture from file or a video stream + + The name of a file, or an url pointed to a stream. + The preferred Capture API backends to use. Can be used to enforce a specific reader implementation if multiple are available. + + + + Release the resource for this capture + + + + + Obtain the capture property + + The index for the property + The value of the specific property + + + + Sets the specified property of video capturing + + Property identifier + Value of the property + True if success + + + + Grab a frame + + True on success + + + + The event to be called when an image is grabbed + + + + + Start the grab process in a separate thread. Once started, use the ImageGrabbed event handler and RetrieveGrayFrame/RetrieveBgrFrame to obtain the images. + + An exception handler. If provided, it will be used to handle exception in the capture thread. + + + + Pause the grab process if it is running. + + + + + Stop the grabbing thread + + + + + Retrieve a Gray image frame after Grab() + + The output image + The channel to retrieve image + True if the frame can be retrieved + + + + Similar to the C++ implementation of cv::Capture >> Mat. It first call Grab() function follows by Retrieve() + + The matrix the image will be read into. + + + + The name of the backend used by this VideoCapture + + + + + Capture a Bgr image frame + + A Bgr image frame. If no more frames are available, null will be returned. + + + + Capture a Bgr image frame that is half width and half height. + Mainly used by WCF when sending image to remote locations in a bandwidth conservative scenario + + Internally, this is a cvQueryFrame operation follow by a cvPyrDown + A Bgr image frame that is half width and half height + + + + Query a frame duplexly over WCF + + + + + Query a small frame duplexly over WCF + + + + + True if the camera is opened + + + + + The backend for video + + + + + Create a backend given its id + + The id of the backend + + + + The ID of the backend. + + + + + The name of the backend + + + + + Create a video writer that write images to video format + + + + + Create a video writer using the specific information. + On windows, it will open a codec selection dialog. + On linux, it will use the default codec for the specified filename + + The name of the video file to be written to + frame rate per second + the size of the frame + true if this is a color video, false otherwise + + + + Create a video writer using the specific information + + The name of the video file to be written to + Compression code. Usually computed using CvInvoke.CV_FOURCC. + On windows use -1 to open a codec selection dialog. + On Linux, use CvInvoke.CV_FOURCC('I', 'Y', 'U', 'V') for default codec for the specific file name. + + frame rate per second + the size of the frame + true if this is a color video, false otherwise + + + + Create a video writer using the specific information + + The name of the video file to be written to + Compression code. Usually computed using CvInvoke.CV_FOURCC. + On windows use -1 to open a codec selection dialog. + On Linux, use CvInvoke.CV_FOURCC('I', 'Y', 'U', 'V') for default codec for the specific file name. + + frame rate per second + the size of the frame + true if this is a color video, false otherwise + Allows to specify API backends to use. + + + + Write a single frame to the video writer + + The frame to be written to the video writer + + + + Generate 4-character code of codec used to compress the frames. For example, CV_FOURCC('P','I','M','1') is MPEG-1 codec, CV_FOURCC('M','J','P','G') is motion-jpeg codec etc. + + C1 + C2 + C3 + C4 + The integer value calculated from the four cc code + + + + Release the video writer and all the memory associate with it + + + + + Returns true if video writer has been successfully initialized. + + + + + Sets a property in the VideoWriter. + + Property identifier + Value of the property. + The value of the specific property + + + + Returns the specified VideoWriter property. + + Property identifier. + The value of the specific property + + + + The VideoWriter property + + + + + Current quality (0..100%) of the encoded videostream. Can be adjusted dynamically in some codecs. + + + + + (Read-only): Size of just encoded video frame. Note that the encoding order may be different from representation order. + + + + + Number of stripes for parallel encoding. -1 for auto detection. + + + + + Wrapped AGAST detector + + + + + Agast feature type + + + + + AGAST_5_8 + + + + + AGAST_7_12d + + + + + AGAST_7_12s + + + + + OAST_9_16 + + + + + Create AGAST using the specific values + + Threshold + Non maximum suppression + Type + + + + Release the unmanaged resources associated with this object + + + + + Library to invoke Features2D functions + + + + + Wrapped AKAZE detector + + + + + Type of the extracted descriptor + + + + + The kaze upright + + + + + The kaze + + + + + Modified-Local Difference Binary (M-LDB), upright + + + + + Modified-Local Difference Binary (M-LDB) + + + + + Create AKAZE using the specific values + + Type of the extracted descriptor + Size of the descriptor in bits. 0 -> Full size + Number of channels in the descriptor (1, 2, 3) + Detector response threshold to accept point + Default number of sublevels per scale level + Maximum octave evolution of the image + Diffusivity type + + + + Release the unmanaged resources associated with this object + + + + + The match distance type + + + + + + + + + + Manhattan distance (city block distance) + + + + + Squared Euclidean distance + + + + + Euclidean distance + + + + + Hamming distance functor - counts the bit differences between two strings - useful for the Brief descriptor, + bit count of A exclusive XOR'ed with B. + + + + + Hamming distance functor - counts the bit differences between two strings - useful for the Brief descriptor, + bit count of A exclusive XOR'ed with B. + + + + + bit-mask which can be used to separate norm type from norm flags + + + + + Relative, flag + + + + + MinMax, flag + + + + + Wrapped BFMatcher + + + + + Create a BFMatcher of the specific distance type + + The distance type + Specify whether or not cross check is needed. Use false for default. + + + + Release the unmanaged resource associated with the BFMatcher + + + + + Class to compute an image descriptor using the bag of visual words. Such a computation consists of the following + steps: + 1. Compute descriptors for a given image and its key points set. + 2. Find the nearest visual words from the vocabulary for each key point descriptor. + 3. Compute the bag-of-words image descriptor as is a normalized histogram of vocabulary words encountered in + the image. The i-th bin of the histogram is a frequency of i-th word of the vocabulary in the given image. + + + + + Create a BOWImgDescriptorExtractor + + Descriptor extractor that is used to compute descriptors for an input image and its key points. + Descriptor matcher that is used to find the nearest word of the trained vocabulary for each key point descriptor of the image. + + + + Sets a visual vocabulary. + + The vocabulary + + + + Computes an image descriptor using the set visual vocabulary. + + Image, for which the descriptor is computed + Key points detected in the input image. + The output image descriptors. + + + + Release all the unmanaged memory associated with this object + + + + + Kmeans-based class to train visual vocabulary using the bag of visual words approach. + + + + + Create a new BOWKmeans trainer + + Number of clusters to split the set by. + Specifies maximum number of iterations and/or accuracy (distance the centers move by between the subsequent iterations). Use empty termcrit for default. + The number of attempts. Use 3 for default + Kmeans initialization flag. Use PPCenters for default. + + + + Get the number of descriptors + + + + + Add the descriptors to the trainer + + The descriptors to be added to the trainer + + + + Cluster the descriptors and return the cluster centers + + The cluster centers + + + + Release all the unmanaged memory associated with this object + + + + + BRISK: Binary Robust Invariant Scalable Keypoints + + + + + Create a BRISK keypoint detector and descriptor extractor. + + Feature parameters. + The number of octave layers. + Pattern scale + + + + Release the unmanaged resources associated with this object + + + + + Descriptor matcher + + + + + The pointer to the Descriptor matcher + + + + + Finds the k best matches for each descriptor from a query set. + + Query set of descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + Matches. Each matches[i] is k or less matches for the same query descriptor. + Count of best matches found per each query descriptor or less if a query descriptor has less than k possible matches in total. + Mask specifying permissible matches between an input query and train matrices of descriptors. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + + + + Find the k-nearest match + + An n x m matrix of descriptors to be query for nearest neighbours. n is the number of descriptor and m is the size of the descriptor + Number of nearest neighbors to search for + Can be null if not needed. An n x 1 matrix. If 0, the query descriptor in the corresponding row will be ignored. + Matches. Each matches[i] is k or less matches for the same query descriptor. + + Parameter used when the mask (or masks) is not empty. If compactResult is + false, the matches vector has the same size as queryDescriptors rows.If compactResult is true, + the matches vector does not contain matches for fully masked-out query descriptors. + + + + + Add the model descriptors + + The model descriptors + + + + Reset the native pointer upon object disposal + + + + + Clears the train descriptor collections. + + + + + Returns true if there are no train descriptors in the both collections. + + + + + Returns true if the descriptor matcher supports masking permissible matches. + + + + + Trains a descriptor matcher (for example, the flann index). In all methods to match, the method + train() is run every time before matching.Some descriptor matchers(for example, BruteForceMatcher) + have an empty implementation of this method.Other matchers really train their inner structures (for + example, FlannBasedMatcher trains flann::Index ). + + + + + Finds the best match for each descriptor from a query set. + + Query set of descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + If a query descriptor is masked out in mask , no match is added for this descriptor. So, matches size may be smaller than the query descriptors count. + Mask specifying permissible matches between an input query and train matrices of descriptors. + + + + Finds the best match for each descriptor from a query set. Train descriptors collection that was set by the Add function is used. + + Query set of descriptors. + If a query descriptor is masked out in mask , no match is added for this descriptor. So, matches size may be smaller than the query descriptors count. + Mask specifying permissible matches between an input query and train matrices of descriptors. + + + + For each query descriptor, finds the training descriptors not farther than the specified distance. + + Query set of descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + Found matches. + Threshold for the distance between matched descriptors. Distance means here metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured in Pixels)! + Mask specifying permissible matches between an input query and train matrices of descriptors. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + + + + For each query descriptor, finds the training descriptors not farther than the specified distance. + + Query set of descriptors. + Found matches. + Threshold for the distance between matched descriptors. Distance means here metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured in Pixels)! + Mask specifying permissible matches between an input query and train matrices of descriptors. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + + + + FAST(Features from Accelerated Segment Test) keypoint detector. + See Detects corners using FAST algorithm by E. Rosten ("Machine learning for high-speed corner + detection, 2006). + + + + + One of the three neighborhoods as defined in the paper + + + + + The type5_8 + + + + + The type7_12 + + + + + The type9_16 + + + + + Create a fast detector with the specific parameters + + Threshold on difference between intensity of center pixel and pixels on circle around + this pixel. + Specify if non-maximum suppression should be used. + One of the three neighborhoods as defined in the paper + + + + Release the unmanaged memory associated with this detector. + + + + + The feature 2D base class + + + + + The pointer to the Feature2D object + + + + + The pointer to the Algorithm object. + + + + + Get the pointer to the Feature2D object + + The pointer to the Feature2D object + + + + Detect keypoints in an image and compute the descriptors on the image from the keypoint locations. + + The image + The optional mask, can be null if not needed + The detected keypoints will be stored in this vector + The descriptors from the keypoints + If true, the method will skip the detection phase and will compute descriptors for the provided keypoints + + + + Reset the pointers + + + + + Detect the features in the image + + The result vector of keypoints + The image from which the features will be detected from + The optional mask. + + + + Detect the keypoints from the image + + The image to extract keypoints from + The optional mask. + An array of key points + + + + Compute the descriptors on the image from the given keypoint locations. + + The image to compute descriptors from + The keypoints where the descriptor computation is perfromed + The descriptors from the given keypoints + + + + Get the number of elements in the descriptor. + + The number of elements in the descriptor + + + + Tools for features 2D + + + + + Draw the keypoints found on the image. + + The image + The keypoints to be drawn + The color used to draw the keypoints + The drawing type + The image with the keypoints drawn + + + + Draw the matched keypoints between the model image and the observered image. + + The model image + The keypoints in the model image + The observed image + The keypoints in the observed image + The color for the match correspondence lines + The color for highlighting the keypoints + The mask for the matches. Use null for all matches. + The drawing type + The image where model and observed image is displayed side by side. Matches are drawn as indicated by the flag + Matches. Each matches[i] is k or less matches for the same query descriptor. + + + + Define the Keypoint draw type + + + + + Two source image, matches and single keypoints will be drawn. + For each keypoint only the center point will be drawn (without + the circle around keypoint with keypoint size and orientation). + + + + + Single keypoints will not be drawn. + + + + + For each keypoint the circle around keypoint with keypoint size and + orientation will be drawn. + + + + + Eliminate the matched features whose scale and rotation do not aggree with the majority's scale and rotation. + + The numbers of bins for rotation, a good value might be 20 (which means each bin covers 18 degree) + This determines the different in scale for neighbor hood bins, a good value might be 1.5 (which means matched features in bin i+1 is scaled 1.5 times larger than matched features in bin i + The keypoints from the model image + The keypoints from the observed image + This is both input and output. This matrix indicates which row is valid for the matches. + Matches. Each matches[i] is k or less matches for the same query descriptor. + The number of non-zero elements in the resulting mask + + + + Recover the homography matrix using RANDSAC. If the matrix cannot be recovered, null is returned. + + The model keypoints + The observed keypoints + + The maximum allowed reprojection error to treat a point pair as an inlier. + If srcPoints and dstPoints are measured in pixels, it usually makes sense to set this parameter somewhere in the range 1 to 10. + + + The mask matrix of which the value might be modified by the function. + As input, if the value is 0, the corresponding match will be ignored when computing the homography matrix. + If the value is 1 and RANSAC determine the match is an outlier, the value will be set to 0. + + The homography matrix, if it cannot be found, null is returned + Matches. Each matches[i] is k or less matches for the same query descriptor. + + + + Filter the matched Features, such that if a match is not unique, it is rejected. + + The distance different ratio which a match is consider unique, a good number will be 0.8 + This is both input and output. This matrix indicates which row is valid for the matches. + Matches. Each matches[i] is k or less matches for the same query descriptor. + + + + This matcher trains flann::Index_ on a train descriptor collection and calls its nearest search methods to find the best matches. So, this matcher may be faster when matching a large train collection than the brute force matcher. + + + + + Create a Flann based matcher. + + The type of index parameters + The search parameters + + + + Release the unmanaged memory associated with this Flann based matcher. + + + + + Wrapping class for feature detection using the goodFeaturesToTrack() function. + + + + + Create a Good Feature to Track detector + + The function first calculates the minimal eigenvalue for every source image pixel using cvCornerMinEigenVal function and stores them in eig_image. Then it performs non-maxima suppression (only local maxima in 3x3 neighborhood remain). The next step is rejecting the corners with the minimal eigenvalue less than quality_level?max(eig_image(x,y)). Finally, the function ensures that all the corners found are distanced enough one from another by considering the corners (the most strongest corners are considered first) and checking that the distance between the newly considered feature and the features considered earlier is larger than min_distance. So, the function removes the features than are too close to the stronger features + The maximum number of features to be detected. + Multiplier for the maxmin eigenvalue; specifies minimal accepted quality of image corners. + Limit, specifying minimum possible distance between returned corners; Euclidian distance is used. + Size of the averaging block, passed to underlying cvCornerMinEigenVal or cvCornerHarris used by the function. + If true, will use Harris corner detector. + K + + + + Release the unmanaged memory associated with this detector. + + + + + Wrapped KAZE detector + + + + + The diffusivity + + + + + PM G1 + + + + + PM G2 + + + + + Weickert + + + + + Charbonnier + + + + + Create KAZE using the specific values + + Set to enable extraction of extended (128-byte) descriptor. + Set to enable use of upright descriptors (non rotation-invariant). + Detector response threshold to accept point + Maximum octave evolution of the image + Default number of sublevels per scale level + Diffusivity type. + + + + Release the unmanaged resources associated with this object + + + + + MSER detector + + + + + Create a MSER detector using the specific parameters + + In the code, it compares (size_{i}-size_{i-delta})/size_{i-delta} + Prune the area which bigger than max_area + Prune the area which smaller than min_area + Prune the area have similar size to its children + Trace back to cut off mser with diversity < min_diversity + For color image, the evolution steps + The area threshold to cause re-initialize + Ignore too small margin + The aperture size for edge blur + + + + Release the unmanaged memory associated with this detector. + + + + + Detect MSER regions + + input image (8UC1, 8UC3 or 8UC4, must be greater or equal than 3x3) + resulting list of point sets + resulting bounding boxes + + + + Wrapped ORB detector + + + + + The score type + + + + + Harris + + + + + Fast + + + + + Create a ORBDetector using the specific values + + The number of desired features. + Coefficient by which we divide the dimensions from one scale pyramid level to the next. + The number of levels in the scale pyramid. + The level at which the image is given. If 1, that means we will also look at the image. times bigger + How far from the boundary the points should be. + How many random points are used to produce each cell of the descriptor (2, 3, 4 ...). + Type of the score to use. + Patch size. + FAST threshold + + + + Release the unmanaged resources associated with this object + + + + + Simple Blob detector + + + + + Create a simple blob detector + + The parameters for creating a simple blob detector + + + + Release the unmanaged memory associated with this detector. + + + + + Parameters for the simple blob detector + + + + + Create parameters for simple blob detector and use default values. + + + + + Release all the unmanaged memory associated with this simple blob detector parameter. + + + + + Threshold step + + + + + Min threshold + + + + + Max threshold + + + + + Min dist between blobs + + + + + Filter by color + + + + + Blob color + + + + + Filter by area + + + + + Min area + + + + + Max area + + + + + Filter by circularity + + + + + Min circularity + + + + + Max circularity + + + + + Filter by inertia + + + + + Min inertia ratio + + + + + Max inertia ratio + + + + + Filter by convexity + + + + + Min Convexity + + + + + Max Convexity + + + + + Min Repeatability + + + + + The Kmeans center initiation types + + + + + Random + + + + + + + + + + + + + + + The index parameters interface + + + + + Gets the pointer to the index parameter. + + + The index parameter pointer. + + + + + Distance Type + + + + + Euclidean + + + + + L2 + + + + + Manhattan + + + + + L1 + + + + + Minkowski + + + + + Max + + + + + HistIntersect + + + + + Hellinger + + + + + ChiSquare + + + + + CS + + + + + KullbackLeibler + + + + + KL + + + + + Hamming + + + + + Flann index + + + + + Create a flann index + + A row by row matrix of descriptors + The index parameter + The distance type + + + + Perform k-nearest-neighbours (KNN) search + + A row by row matrix of descriptors to be query for nearest neighbours + The result of the indices of the k-nearest neighbours + The square of the Eculidean distance between the neighbours + Number of nearest neighbors to search for + The number of times the tree(s) in the index should be recursively traversed. A + higher value for this parameter would give better search precision, but also take more + time. If automatic configuration was used when the index was created, the number of + checks required to achieve the specified precision was also computed, in which case + this parameter is ignored + The search epsilon + If set to true, the search result is sorted + + + + Performs a radius nearest neighbor search for multiple query points + + The query points, one per row + Indices of the nearest neighbors found + The square of the Eculidean distance between the neighbours + The search radius + The maximum number of results + The number of times the tree(s) in the index should be recursively traversed. A + higher value for this parameter would give better search precision, but also take more + time. If automatic configuration was used when the index was created, the number of + checks required to achieve the specified precision was also computed, in which case + this parameter is ignored + The search epsilon + If set to true, the search result is sorted + The number of points in the search radius + + + + Release the unmanaged memory associated with this Flann Index + + + + + Create index for 3D points + + + + + Create a flann index for 3D points + + The IPosition3D array + The index parameters + + + + A neighbor point + + + + + The index of the point + + + + + The square distance + + + + + Find the approximate nearest position in 3D + + The position to start the search from + The nearest neighbor (may be an approximation, depends in the index type). + + + + Perform a search within the given radius + + The center of the search area + The radius of the search + The maximum number of results to return + The neighbors found + + + + Release the resource used by this object + + + + + When passing an object of this type, the index will perform a linear, brute-force search. + + + + + Initializes a new instance of the class. + + + + + Release all the memory associated with this IndexParam + + + + + When passing an object of this type the index constructed will consist of a set of randomized kd-trees which will be searched in parallel. + + + + + Initializes a new instance of the class. + + The number of parallel kd-trees to use. Good values are in the range [1..16] + + + + Release all the memory associated with this IndexParam + + + + + When using a parameters object of this type the index created uses multi-probe LSH (by Multi-Probe LSH: Efficient Indexing for High-Dimensional Similarity Search by Qin Lv, William Josephson, Zhe Wang, Moses Charikar, Kai Li., Proceedings of the 33rd International Conference on Very Large Data Bases (VLDB). Vienna, Austria. September 2007) + + + + + Initializes a new instance of the class. + + The number of hash tables to use (between 10 and 30 usually). + The size of the hash key in bits (between 10 and 20 usually). + The number of bits to shift to check for neighboring buckets (0 is regular LSH, 2 is recommended). + + + + Release all the memory associated with this IndexParam + + + + + When passing an object of this type the index constructed will be a hierarchical k-means tree. + + + + + Initializes a new instance of the class. + + The branching factor to use for the hierarchical k-means tree + The maximum number of iterations to use in the k-means clustering stage when building the k-means tree. A value of -1 used here means that the k-means clustering should be iterated until convergence + The algorithm to use for selecting the initial centers when performing a k-means clustering step. The possible values are CENTERS_RANDOM (picks the initial cluster centers randomly), CENTERS_GONZALES (picks the initial centers using Gonzales’ algorithm) and CENTERS_KMEANSPP (picks the initial centers using the algorithm suggested in arthur_kmeanspp_2007 ) + This parameter (cluster boundary index) influences the way exploration is performed in the hierarchical kmeans tree. When cb_index is zero the next kmeans domain to be explored is chosen to be the one with the closest center. A value greater then zero also takes into account the size of the domain. + + + + Release all the memory associated with this IndexParam + + + + + When using a parameters object of this type the index created combines the randomized kd-trees and the hierarchical k-means tree. + + + + + Initializes a new instance of the class. + + The number of parallel kd-trees to use. Good values are in the range [1..16] + The branching factor to use for the hierarchical k-means tree + The maximum number of iterations to use in the k-means clustering stage when building the k-means tree. A value of -1 used here means that the k-means clustering should be iterated until convergence + The algorithm to use for selecting the initial centers when performing a k-means clustering step. The possible values are CENTERS_RANDOM (picks the initial cluster centers randomly), CENTERS_GONZALES (picks the initial centers using Gonzales’ algorithm) and CENTERS_KMEANSPP (picks the initial centers using the algorithm suggested in arthur_kmeanspp_2007 ) + This parameter (cluster boundary index) influences the way exploration is performed in the hierarchical kmeans tree. When cb_index is zero the next kmeans domain to be explored is chosen to be the one with the closest center. A value greater then zero also takes into account the size of the domain. + + + + Release all the memory associated with this IndexParam + + + + + When passing an object of this type the index created is automatically tuned to offer the best performance, by choosing the optimal index type (randomized kd-trees, hierarchical kmeans, linear) and parameters for the dataset provided. + + + + + Initializes a new instance of the class. + + Is a number between 0 and 1 specifying the percentage of the approximate nearest-neighbor searches that return the exact nearest-neighbor. Using a higher value for this parameter gives more accurate results, but the search takes longer. The optimum value usually depends on the application. + Specifies the importance of the index build time reported to the nearest-neighbor search time. In some applications it’s acceptable for the index build step to take a long time if the subsequent searches in the index can be performed very fast. In other applications it’s required that the index be build as fast as possible even if that leads to slightly longer search times. + Is used to specify the trade off between time (index build time and search time) and memory used by the index. A value less than 1 gives more importance to the time spent and a value greater than 1 gives more importance to the memory usage. + Is a number between 0 and 1 indicating what fraction of the dataset to use in the automatic parameter configuration algorithm. Running the algorithm on the full dataset gives the most accurate results, but for very large datasets can take longer than desired. In such case using just a fraction of the data helps speeding up this algorithm while still giving good approximations of the optimum parameters. + + + + Release all the memory associated with this IndexParam + + + + + Hierarchical Clustering Index Parameters + + + + + Initializes a new instance of the . + + branching + Center initialization method + Trees + Leaf Size + + + + Release all the memory associated with this IndexParam + + + + + Search parameters + + + + + Initializes a new instance of the class. + + how many leafs to visit when searching for neighbors (-1 for unlimited) + Search for eps-approximate neighbors + Only for radius search, require neighbors sorted by distance + + + + Release all the memory associated with this IndexParam + + + + + A geodetic coordinate that is defined by its latitude, longitude and altitude + + + + + Indicates the origin of the Geodetic Coordinate + + + + + Create a geodetic coordinate using the specific values + + Latitude in radian + Longitude in radian + Altitude in meters + + + + Latitude (phi) in radian + + + + + Longitude (lambda) in radian + + + + + Altitude (height) in meters + + + + + Compute the sum of two GeodeticCoordinates + + The first coordinate to be added + The second coordinate to be added + The sum of two GeodeticCoordinates + + + + Compute - + + The first coordinate + The coordinate to be subtracted + - + + + + Compute * + + The coordinate + The scale to be multiplied + * + + + + Check if this Geodetic coordinate equals + + The other coordinate to be compared with + True if two coordinates equals + + + + Convert radian to degree + + radian + degree + + + + Convert degree to radian + + degree + radian + + + + Fisheye Camera model + + + + + Fisheye calibration flag. + + + + + Default flag + + + + + cameraMatrix contains valid initial values of fx, fy, cx, cy that are optimized further. Otherwise, (cx, cy) is initially set to the image center ( imageSize is used), and focal distances are computed in a least-squares fashion. + + + + + Extrinsic will be recomputed after each iteration of intrinsic optimization. + + + + + The functions will check validity of condition number. + + + + + Skew coefficient (alpha) is set to zero and stay zero. + + + + + Selected distortion coefficients are set to zeros and stay zero. + + + + + Selected distortion coefficients are set to zeros and stay zero. + + + + + Selected distortion coefficients are set to zeros and stay zero. + + + + + Selected distortion coefficients are set to zeros and stay zero. + + + + + Fix intrinsic + + + + + Projects points using fisheye model. The function computes projections of 3D points to the image plane given intrinsic and extrinsic camera parameters. Optionally, the function computes Jacobians - matrices of partial derivatives of image points coordinates (as functions of all the input parameters) with respect to the particular parameters, intrinsic and/or extrinsic. + + Array of object points, 1xN/Nx1 3-channel (or vector<Point3f> ), where N is the number of points in the view. + Output array of image points, 2xN/Nx2 1-channel or 1xN/Nx1 2-channel, or vector<Point2f>. + rotation vector + translation vector + Camera matrix + Input vector of distortion coefficients (k1,k2,k3,k4). + The skew coefficient. + Optional output 2Nx15 jacobian matrix of derivatives of image points with respect to components of the focal lengths, coordinates of the principal point, distortion coefficients, rotation vector, translation vector, and the skew. In the old interface different components of the jacobian are returned via different output parameters. + + + + Distorts 2D points using fisheye model. + + Array of object points, 1xN/Nx1 2-channel (or vector<Point2f> ), where N is the number of points in the view. + Output array of image points, 1xN/Nx1 2-channel, or vector<Point2f> . + Camera matrix + Input vector of distortion coefficients (k1,k2,k3,k4). + The skew coefficient. + + + + Transforms an image to compensate for fisheye lens distortion. + + Array of object points, 1xN/Nx1 2-channel (or vector<Point2f> ), where N is the number of points in the view. + Output array of image points, 1xN/Nx1 2-channel, or vector<Point2f>. + Camera matrix + Input vector of distortion coefficients (k1,k2,k3,k4). + Rectification transformation in the object space: 3x3 1-channel, or vector: 3x1/1x3 1-channel or 1x1 3-channel + New camera matrix (3x3) or new projection matrix (3x4) + + + + Computes undistortion and rectification maps for image transform by cv::remap(). If D is empty zero distortion is used, if R or P is empty identity matrixes are used. + + Camera matrix + Input vector of distortion coefficients (k1,k2,k3,k4). + Rectification transformation in the object space: 3x3 1-channel, or vector: 3x1/1x3 1-channel or 1x1 3-channel + New camera matrix (3x3) or new projection matrix (3x4) + Undistorted image size. + Type of the first output map that can be CV_32FC1 or CV_16SC2 . See convertMaps() for details. + The first output map. + The second output map. + + + + Transforms an image to compensate for fisheye lens distortion. The function is simply a combination of fisheye::initUndistortRectifyMap (with unity R ) and remap (with bilinear interpolation). + + Image with fisheye lens distortion. + Output image with compensated fisheye lens distortion. + Camera matrix + Input vector of distortion coefficients (k1,k2,k3,k4). + Camera matrix of the distorted image. By default, it is the identity matrix but you may additionally scale and shift the result by using a different matrix. + The function transforms an image to compensate radial and tangential lens distortion. + + + + Estimates new camera matrix for undistortion or rectification. + + Camera matrix + Input vector of distortion coefficients (k1,k2,k3,k4). + + Rectification transformation in the object space: 3x3 1-channel, or vector: 3x1/1x3 1-channel or 1x1 3-channel + New camera matrix (3x3) or new projection matrix (3x4) + Sets the new focal length in range between the min focal length and the max focal length. Balance is in range of [0, 1] + + Divisor for new focal length. + + + + Stereo rectification for fisheye camera model. + + First camera matrix. + First camera distortion parameters. + Second camera matrix. + Second camera distortion parameters. + Size of the image used for stereo calibration. + Rotation matrix between the coordinate systems of the first and the second cameras. + Translation vector between coordinate systems of the cameras. + Output 3x3 rectification transform (rotation matrix) for the first camera. + Output 3x3 rectification transform (rotation matrix) for the second camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the first camera. + Output 3x4 projection matrix in the new (rectified) coordinate systems for the second camera. + Output 4×4 disparity-to-depth mapping matrix (see reprojectImageTo3D ). + Operation flags that may be zero or ZeroDisparity . If the flag is set, the function makes the principal points of each camera have the same pixel coordinates in the rectified views. And if the flag is not set, the function may still shift the images in the horizontal or vertical direction (depending on the orientation of epipolar lines) to maximize the useful image area. + New image resolution after rectification. The same size should be passed to initUndistortRectifyMap. When (0,0) is passed (default), it is set to the original imageSize . Setting it to larger value can help you preserve details in the original image, especially when there is a big radial distortion. + Sets the new focal length in range between the min focal length and the max focal length. Balance is in range of [0, 1]. + Divisor for new focal length. + + + + Performs camera calibaration. + + vector of vectors of calibration pattern points in the calibration pattern coordinate space. + vector of vectors of the projections of calibration pattern points. imagePoints.size() and objectPoints.size() and imagePoints[i].size() must be equal to objectPoints[i].size() for each i. + Size of the image used only to initialize the intrinsic camera matrix. + Output 3x3 floating-point camera matrix. If UseIntrisicGuess is specified, some or all of fx, fy, cx, cy must be initialized before calling the function. + Output vector of distortion coefficients (k1,k2,k3,k4). + Output vector of rotation vectors (see Rodrigues ) estimated for each pattern view. That is, each k-th rotation vector together with the corresponding k-th translation vector (see the next output parameter description) brings the calibration pattern from the model coordinate space (in which object points are specified) to the world coordinate space, that is, a real position of the calibration pattern in the k-th pattern view (k=0.. M -1). + Output vector of translation vectors estimated for each pattern view. + Different flags + Termination criteria for the iterative optimization algorithm. + + + + Performs stereo calibration. + + Vector of vectors of the calibration pattern points. + Vector of vectors of the projections of the calibration pattern points, observed by the first camera. + Vector of vectors of the projections of the calibration pattern points, observed by the second camera. + Input/output first camera matrix.If FixIntrinsic is specified, some or all of the matrix components must be initialized. + Input/output vector of distortion coefficients (k1,k2,k3,k4) of 4 elements. + Input/output second camera matrix. The parameter is similar to + Input/output lens distortion coefficients for the second camera. The parameter is similar to + Size of the image used only to initialize intrinsic camera matrix. + Output rotation matrix between the 1st and the 2nd camera coordinate systems. + Output translation vector between the coordinate systems of the cameras. + Fish eye calibration flags + Termination criteria for the iterative optimization algorithm. + + + + Attribute used by ImageBox to generate Operation Menu + + + + + Get or Set the exposable value, if true, this function will be displayed in Operation Menu of ImageBox + + + + + The catefory of this function + + + + + The size for each generic parameter Options + + + + + The options for generic parameters + + + + + Constructor + + + + + A generic parameter for the Operation class + + + + + The selected generic parameter type + + + + + The types that can be used + + + + + Create a generic parameter for the Operation class + + The selected generic parameter typ + The types that can be used + + + + A collection of reflection function that can be applied to ColorType object + + + + + Get the display color for each channel + + The color + The display color for each channel + + + + Get the names of the channels + + The color + The names of the channels + + + + A collection of reflection function that can be applied to IImage object + + + + + Get all the methods that belongs to the IImage and Image class with ExposableMethodAttribute set true. + + The IImage object to be refelected for methods marked with ExposableMethodAttribute + All the methods that belongs to the IImage and Image class with ExposableMethodAttribute set true + + + + Get the color type of the image + + The image to apply reflection on + The color type of the image + + + + Get the depth type of the image + + The image to apply reflection on + The depth type of the image + + + + Get the color at the specific location of the image + + The image to obtain pixel value from + The location to sample a pixel + The color at the specific location + + + + A class that can be used for writing geotiff + + The color type of the image to be written + The depth type of the image to be written + + + + Create a tiff writer to save an image + + The file name to be saved + + + + Write the image to the tiff file + + The image to be written + + + + Write the geo information into the tiff file + + Model Tie Point, an array of size 6 + Model pixel scale, an array of size 3 + + + + Release the writer and write all data on to disk. + + + + + A writer for writing GeoTiff + + The color type of the image to be written + The depth type of the image to be written + + + + Create a TitleTiffWriter. + + The name of the file to be written to + The size of the image + The tile size in pixels + + + + Write a tile into the tile tiff + + The starting row for the tile + The starting col for the tile + The tile to be written + + + + Get the equivalent size for a tile of data as it would be returned in a call to TIFFReadTile or as it would be expected in a call to TIFFWriteTile. + + + + + Get the number of bytes of a row of data in a tile. + + + + + Get tile size in pixels. + + + + + Write the whole image as tile tiff + + The image to be written + + + + This class contains ocl runtime information + + + + + Create a empty OclDevice object + + + + + Get the default OclDevice. Do not dispose this device. + + + + + Release all the unmanaged memory associated with this OclInfo + + + + + Get the native device pointer + + + + + Set the native device pointer + + + + + + Get the string representation of this oclDevice + + A string representation of this oclDevice + + + + Indicates if this is an NVidia device + + + + + Indicates if this is an Intel device + + + + + Indicates if this is an AMD device + + + + + The AddressBits + + + + + Indicates if the linker is available + + + + + Indicates if the compiler is available + + + + + Indicates if the device is available + + + + + The maximum work group size + + + + + The max compute unit + + + + + The local memory size + + + + + The maximum memory allocation size + + + + + The device major version number + + + + + The device minor version number + + + + + The device half floating point configuration + + + + + The device single floating point configuration + + + + + The device double floating point configuration + + + + + True if the device use unified memory + + + + + The global memory size + + + + + The image 2d max width + + + + + The image2d max height + + + + + The ocl device type + + + + + The device name + + + + + The device version + + + + + The device vendor name + + + + + The device driver version + + + + + The device extensions + + + + + The device OpenCL version + + + + + The device OpenCL C version + + + + + Ocl Device Type + + + + + Default + + + + + Cpu + + + + + Gpu + + + + + Accerlerator + + + + + DGpu + + + + + IGpu + + + + + All + + + + + Floating point configuration + + + + + Denorm + + + + + inf, nan + + + + + round to nearest + + + + + round to zero + + + + + round to infinite + + + + + FMA + + + + + soft float + + + + + Correctly rounded divide sqrt + + + + + Class that contains ocl functions + + + Class that contains ocl functions. + + + Class that contains ocl functions. + + + Class that contains ocl functions. + + + Class that contains ocl functions. + + + Class that contains ocl functions. + + + + + Convert the DepthType to a string that represent the OpenCL value type. + + The depth type + The number of channels + A string the repsent the OpenCL value type + + + + Get all the platform info as a vector + + The vector of Platfom info + + + + cv::ocl::Image2D + + + + + Create an OclImage2D object from UMat + + The UMat from which to get image properties and data + Flag to enable the use of normalized channel data types + Flag indicating that the image should alias the src UMat. If true, changes to the image or src will be reflected in both objects. + + + + Release the unmanaged memory associated with this OclImage2D + + + + + An opencl kernel + + + + + Create an opencl kernel + + + + + Create an opencl kernel + + The name of the kernel + The program source code + The build options + Option error message container that can be passed to this function + True if the kernel can be created + + + + Release the opencl kernel + + + + + Set the parameters for the kernel + + The index of the parameter + The ocl image + The next index value to be set + + + + Set the parameters for the kernel + + The index of the parameter + The umat + The next index value to be set + + + + Set the parameters for the kernel + + The index of the parameter + The value + The next index value to be set + + + + Set the parameters for the kernel + + The index of the parameter + The value + The next index value to be set + + + + Set the parameters for the kernel + + The index of the parameter + The value + The next index value to be set + + + + Set the parameters for the kernel + + The index of the parameter + The kernel arg + The next index value to be set + + + + Set the parameters for the kernel + + The index of the parameter + The data + The size of the data in number of bytes + The next index value to be set + + + + Execute the kernel + + The global size + The local size + If true, the code is run synchronously (blocking) + Optional Opencl queue + True if the execution is sucessful + + + + Indicates if the kernel is empty + + + + + The pointer to the native kernel + + + + + OpenCL kernel arg + + + + + KernelArg flags + + + + + Local + + + + + Read only + + + + + Write only + + + + + Read write + + + + + Constant + + + + + Ptr only + + + + + No size + + + + + Create the OCL kernel arg + + The flags + The UMat + wscale + iwscale + obj + sz + + + + Release the unmanaged memory associated with this object + + + + + This class contains ocl platform information + + + + + Release all the unmanaged memory associated with this OclInfo + + + + + Get the OclDevice with the specific index + + The index of the ocl device + The ocl device with the specific index + + + + Get the string that represent this oclPlatformInfo object + + A string that represent this oclPlatformInfo object + + + + The platform name + + + + + The platform version + + + + + The platform vendor + + + + + The number of devices + + + + + Open CL kernel program source code + + + + + Create OpenCL program source code + + The source code + + + + Get the source code as String + + + + + Release the unmanaged memory associated with this object + + + + + An OpenCL Queue + + + + + OpenCL queue + + + + + Wait for the queue to finish + + + + + Release the unmanaged memory associated with this object. + + + + + A raw data storage + + The type of elements in the storage + + + + The file info + + + + + Create a binary File Storage + + The file name of the storage + + + + Create a binary File Storage + + The file name of the storage + The data will be read in trunk of this size internally. Can be use to seed up the file read. A good number will be 4096 + + + + Create a binary File Storage with the specific data + + The file name of the storage, all data in the existing file will be replaced + The data which will be stored in the storage + + + + Append the samples to the end of the storage + + The samples to be appended to the storage + + + + The file name of the storage + + + + + Delete all data in the existing storage, if there is any. + + + + + Estimate the number of elements in this storage as the size of the storage divided by the size of the elements + + An estimation of the number of elements in this storage + + + + Get a copy of the first element in the storage. If the storage is empty, a default value will be returned + + A copy of the first element in the storage. If the storage is empty, a default value will be returned + + + + Get the subsampled data in this storage + + The subsample rate + The sub-sampled data in this storage + + + + Get the data in this storage + + The data in this storage + + + + The default exception to be thrown when error encounter in Open CV + + + + + The numeric code for error status + + + + + The corresponding error string for the Status code + + + + + The name of the function the error is encountered + + + + + A description of the error + + + + + The source file name where error is encountered + + + + + The line number in the souce where error is encountered + + + + + The default exception to be thrown when error is encountered in Open CV + + The numeric code for error status + The source file name where error is encountered + A description of the error + The source file name where error is encountered + The line number in the souce where error is encountered + + + + Utilities class + + + + + The ColorPalette of Grayscale for Bitmap Format8bppIndexed + + + + + Convert the color palette to four lookup tables + + The color palette to transform + Lookup table for the B channel + Lookup table for the G channel + Lookup table for the R channel + Lookup table for the A channel + + + + Convert arrays of data to matrix + + Arrays of data + A two dimension matrix that represent the array + The data type of the matrix + + + + Convert arrays of points to matrix + + Arrays of points + A two dimension matrix that represent the points + + + + Compute the minimum and maximum value from the points + + The points + The minimum x,y,z values + The maximum x,y,z values + + + + Copy a generic vector to the unmanaged memory + + The data type of the vector + The source vector + Pointer to the destination unmanaged memory + Specify the number of bytes to copy. If this is -1, the number of bytes equals the number of bytes in the array + The number of bytes copied + + + + Copy a jagged two dimensional array to the unmanaged memory + + The data type of the jagged two dimensional + The source array + Pointer to the destination unmanaged memory + + + + Copy a jagged two dimensional array from the unmanaged memory + + The data type of the jagged two dimensional + The src array + Pointer to the destination unmanaged memory + + + + memcpy function + + the destination of memory copy + the source of memory copy + the number of bytes to be copied + + + + Given the source and destination color type, compute the color conversion code for CvInvoke.cvCvtColor function + + The source color type. Must be a type inherited from IColor + The dest color type. Must be a type inherited from IColor + The color conversion code for CvInvoke.cvCvtColor function + + + + A DataLogger for unmanaged code to log data back to managed code, using callback. + + + + + Create a MessageLogger and register the callback function + + The log level. + + + + The event that will be raised when the unmanaged code send over data + + + + + Log some data + + Pointer to some unmanaged data + The logLevel. The Log function only logs when the is greater or equals to the DataLogger's logLevel + + + + Release the DataLogger and all the unmanaged memory associated with it. + + + + + A generic version of the DataLogger + + The supported type includes System.String and System.ValueType + + + + Create a new DataLogger + + The log level. + + + + The event that will be raised when the unmanaged code send over data + + + + + Log some data + + The data to be logged + The logLevel. The Log function only logs when the is greater or equals to the DataLogger's logLevel + + + + Pointer to the unmanaged object + + + + + Implicit operator for IntPtr + + The DataLogger + The unmanaged pointer for this DataLogger + + + + Release the unmanaged memory associated with this DataLogger + + + + + The event that will be raised when the unmanaged code send over data + + + + + An Unmanaged Object is a disposable object with a Ptr property pointing to the unmanaged object + + + + + A pointer to the shared pointer to the unmanaged object + + + + + Pointer to the shared pointer to the unmanaged object + + + + + Cache the size of various header in bytes + + + + + The size of PointF + + + + + The size of RangF + + + + + The size of PointF + + + + + The size of MCvMat + + + + + The size of IplImage + + + + + The size of MCvPoint3D32f + + + + + The size of MCvMatND + + + + + This class canbe used to initiate TBB. Only usefull if it is compiled with TBB support + + + + + Initialize the TBB task scheduler + + + + + Release the TBB task scheduler + + + + + Wrapped class of the C++ standard vector of Byte. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of Byte + + + + + Create an standard vector of Byte of the specific size + + The size of the vector + + + + Create an standard vector of Byte with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of Byte + + An array of Byte + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of ColorPoint. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of ColorPoint + + + + + Create an standard vector of ColorPoint of the specific size + + The size of the vector + + + + Create an standard vector of ColorPoint with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of ColorPoint + + An array of ColorPoint + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of CvString. + + + Wrapped class of the C++ standard vector of CvString. + + + + + Create an empty standard vector of CvString + + + + + Create an standard vector of CvString of the specific size + + The size of the vector + + + + Create an standard vector of CvString with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Convert the standard vector to an array of String + + An array of String + + + + Create a VectorOfCvString object from an array of String + + The strings to be placed in this VectorOfCvString + + + + Wrapped class of the C++ standard vector of DMatch. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of DMatch + + + + + Create an standard vector of DMatch of the specific size + + The size of the vector + + + + Create an standard vector of DMatch with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of DMatch + + An array of DMatch + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of Double. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of Double + + + + + Create an standard vector of Double of the specific size + + The size of the vector + + + + Create an standard vector of Double with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of Double + + An array of Double + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of Float. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of Float + + + + + Create an standard vector of Float of the specific size + + The size of the vector + + + + Create an standard vector of Float with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of Float + + An array of Float + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of Int. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of Int + + + + + Create an standard vector of Int of the specific size + + The size of the vector + + + + Create an standard vector of Int with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of Int + + An array of Int + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of KeyPoint. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of KeyPoint + + + + + Create an standard vector of KeyPoint of the specific size + + The size of the vector + + + + Create an standard vector of KeyPoint with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of KeyPoint + + An array of KeyPoint + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Remove keypoints within borderPixels of an image edge. + + Image size + Border size in pixel + + + + Remove keypoints of sizes out of range. + + Minimum size + Maximum size + + + + Remove keypoints from some image by mask for pixels of this image. + + The mask + + + + Wrapped class of the C++ standard vector of Mat. + + + + + Create an empty standard vector of Mat + + + + + Create an standard vector of Mat of the specific size + + The size of the vector + + + + Create an standard vector of Mat with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Convert a CvArray to cv::Mat and push it into the vector + + The type of depth of the cvArray + The cvArray to be pushed into the vector + + + + Convert a group of CvArray to cv::Mat and push them into the vector + + The type of depth of the cvArray + The values to be pushed to the vector + + + + Wrapped class of the C++ standard vector of OclPlatformInfo. + + + + + Create an empty standard vector of OclPlatformInfo + + + + + Create an standard vector of OclPlatformInfo of the specific size + + The size of the vector + + + + Create an standard vector of OclPlatformInfo with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of Point. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of Point + + + + + Create an standard vector of Point of the specific size + + The size of the vector + + + + Create an standard vector of Point with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of Point + + An array of Point + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of Point3D32F. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of Point3D32F + + + + + Create an standard vector of Point3D32F of the specific size + + The size of the vector + + + + Create an standard vector of Point3D32F with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of Point3D32F + + An array of Point3D32F + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of PointF. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of PointF + + + + + Create an standard vector of PointF of the specific size + + The size of the vector + + + + Create an standard vector of PointF with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of PointF + + An array of PointF + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of Rect. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of Rect + + + + + Create an standard vector of Rect of the specific size + + The size of the vector + + + + Create an standard vector of Rect with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of Rect + + An array of Rect + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of Triangle2DF. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of Triangle2DF + + + + + Create an standard vector of Triangle2DF of the specific size + + The size of the vector + + + + Create an standard vector of Triangle2DF with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of Triangle2DF + + An array of Triangle2DF + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of UMat. + + + + + Create an empty standard vector of UMat + + + + + Create an standard vector of UMat of the specific size + + The size of the vector + + + + Create an standard vector of UMat with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of VectorOfDMatch. + + + + + Create an empty standard vector of VectorOfDMatch + + + + + Create an standard vector of VectorOfDMatch of the specific size + + The size of the vector + + + + Create an standard vector of VectorOfDMatch with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Create the standard vector of VectorOfDMatch + + + + + Convert the standard vector to arrays of int + + Arrays of int + + + + Wrapped class of the C++ standard vector of VectorOfInt. + + + + + Create an empty standard vector of VectorOfInt + + + + + Create an standard vector of VectorOfInt of the specific size + + The size of the vector + + + + Create an standard vector of VectorOfInt with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Create the standard vector of VectorOfInt + + + + + Convert the standard vector to arrays of int + + Arrays of int + + + + Wrapped class of the C++ standard vector of VectorOfPoint. + + + + + Create an empty standard vector of VectorOfPoint + + + + + Create an standard vector of VectorOfPoint of the specific size + + The size of the vector + + + + Create an standard vector of VectorOfPoint with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Create the standard vector of VectorOfPoint + + + + + Convert the standard vector to arrays of int + + Arrays of int + + + + Wrapped class of the C++ standard vector of VectorOfPoint3D32F. + + + + + Create an empty standard vector of VectorOfPoint3D32F + + + + + Create an standard vector of VectorOfPoint3D32F of the specific size + + The size of the vector + + + + Create an standard vector of VectorOfPoint3D32F with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Create the standard vector of VectorOfPoint3D32F + + + + + Convert the standard vector to arrays of int + + Arrays of int + + + + Wrapped class of the C++ standard vector of VectorOfPointF. + + + + + Create an empty standard vector of VectorOfPointF + + + + + Create an standard vector of VectorOfPointF of the specific size + + The size of the vector + + + + Create an standard vector of VectorOfPointF with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Create the standard vector of VectorOfPointF + + + + + Convert the standard vector to arrays of int + + Arrays of int + + + + Wrapped class of the C++ standard vector of VectorOfRect. + + + + + Create an empty standard vector of VectorOfRect + + + + + Create an standard vector of VectorOfRect of the specific size + + The size of the vector + + + + Create an standard vector of VectorOfRect with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Create the standard vector of VectorOfRect + + + + + Convert the standard vector to arrays of int + + Arrays of int + + + + Use zlib included in OpenCV to perform in-memory binary compression and decompression + + + + + Compress the data using the specific compression level + + The data to be compressed + The compression level, 0-9 where 0 mean no compression at all + The compressed bytes + + + + Uncompress the data + + The compressed data + The estimated size fo the uncompress data. Must be large enough to hold the decompressed data. + The decompressed data + + + + CvBlob + + + + + Blob Moments + + + + + Moment 00 + + + + + Moment 10 + + + + + Moment 01 + + + + + Moment 11 + + + + + Moment 20 + + + + + Moment 02 + + + + + Central moment 11 + + + + + Central moment 20 + + + + + Central moment 02 + + + + + Normalized central moment 11 + + + + + Normalized central moment 20 + + + + + Normalized central moment 02 + + + + + Hu moment 1 + + + + + Hu moment 2 + + + + + Get the contour that defines the blob + + The contour of the blob + + + + Get the blob label + + + + + The minimum bounding box of the blob + + + + + Get the Blob Moments + + + + + The centroid of the blob + + + + + The number of pixels in this blob + + + + + Pointer to the blob + + + + + Implicit operator for IntPtr + + The CvBlob + The unmanaged pointer for this object + + + + Wrapper for the CvBlob detection functions. + The Ptr property points to the label image of the cvb::cvLabel function. + + Algorithm based on paper "A linear-time component-labeling algorithm using contour tracing technique" of Fu Chang, Chun-Jen Chen and Chi-Jen Lu. + + + + Detect blobs from input image. + + The input image + The storage for the detected blobs + Number of pixels that has been labeled. + + + + Calculates mean color of a blob in an image. + + The blob. + The original image + Average color + + + + Blob rendering type + + + + + Render each blog with a different color. + + + + + Render centroid. + + + + + Render bounding box. + + + + + Render angle. + + + + + Print blob data to log out. + + + + + Print blob data to std out. + + + + + The default rendering type + + + + + Draw the blobs on the image + + The binary mask. + The blobs. + Drawing type. + The alpha value. 1.0 for solid color and 0.0 for transparent + The images with the blobs drawn + + + + Get the binary mask for the blobs listed in the CvBlobs + + The blobs + The binary mask for the specific blobs + + + + Release all the unmanaged memory associated with this Blob detector + + + + + CvBlobs + + + + + Create a new CvBlobs + + + + + Release all the unmanaged resources used by this CvBlobs + + + + + Filter blobs by area. Those blobs whose areas are not in range will be erased from the input list of blobs. + + Minimun area + Maximun area + + + + Adds the specified label and blob to the dictionary. + + The label of the blob + The blob + + + + Determines whether the CvBlobs contains the specified label. + + The label (key) to be located + True if the CvBlobs contains an element with the specific label + + + + Get a collection containing the labels in the CvBlobs + + + + + Removes the blob with the specific label + + The label of the blob + True if the element is successfully found and removed; otherwise, false. + + + + Gets the blob associated with the specified label. + + The blob label + When this method returns, contains the blob associated with the specified labe, if the label is found; otherwise, null. This parameter is passed uninitialized. + True if the blobs contains a blob with the specific label; otherwise, false + + + + Get a collection containing the blobs in the CvBlobs. + + + + + Get the blob with the speicific label. Set function is not implemented + + The label for the blob + + + + Adds the specified label and blob to the CvBlobs. + + The structure representing the label and blob to add to the CvBlobs + + + + Removes all keys and values + + + + + Determines whether the CvBlobs contains a specific label and CvBlob. + + The label and blob to be located + True if the specific label and blob is found in the CvBlobs; otherwise, false. + + + + Copies the elements to the , starting at the specific arrayIndex. + + The one-dimensional array that is the defination of the elements copied from the CvBlobs. The array must have zero-base indexing. + The zero-based index in at which copying begins. + + + + Gets the number of label/Blob pairs contained in the collection + + + + + Always false + + + + + Removes a key and value from the dictionary. + + The structure representing the key and value to be removed + True if the key are value is sucessfully found and removed; otherwise false. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that can be used to iterate through the collection + + + + Returns a pointer to CvBlobs + + Pointer to CvBlobs + + + + CvTrack + + + + + Track identification number + + + + + Label assigned to the blob related to this track + + + + + X min + + + + + X max + + + + + Y min + + + + + y max + + + + + Get the minimun bounding rectanble for this track + + + + + Centroid + + + + + Indicates how much frames the object has been in scene + + + + + Indicates number of frames that has been active from last inactive period. + + + + + Indicates number of frames that has been missing. + + + + + Compares CvTrack for equality + + The other track to compares with + True if the two CvTrack are equal; otherwise false. + + + + Blobs tracking + + + Tracking based on: + A. Senior, A. Hampapur, Y-L Tian, L. Brown, S. Pankanti, R. Bolle. Appearance Models for + Occlusion Handling. Second International workshop on Performance Evaluation of Tracking and + Surveillance Systems & CVPR'01. December, 2001. + (http://www.research.ibm.com/peoplevision/PETS2001.pdf) + + + + + Create a new CvTracks + + + + + Release all the unmanaged resources used by this CvBlobs + + + + + Updates list of tracks based on current blobs. + + List of blobs + Distance Max distance to determine when a track and a blob match + Inactive Max number of frames a track can be inactive + Active If a track becomes inactive but it has been active less than thActive frames, the track will be deleted. + + + + Adds the specified id and track to the dictionary. + + The id of the track + The track + + + + Determines whether the CvTracks contains the specified id. + + The id (key) to be located + True if the CvTracks contains an element with the specific id + + + + Get a collection containing the ids in the CvTracks. + + + + + Removes the track with the specific id + + The id of the track + True if the element is successfully found and removed; otherwise, false. + + + + Gets the track associated with the specified id. + + The track id + When this method returns, contains the track associated with the specified id, if the id is found; otherwise, an empty track. This parameter is passed uninitialized. + True if the tracks contains a track with the specific id; otherwise, false + + + + Get a collection containing the tracks in the CvTracks. + + + + + Get or Set the Track with the specific id. + + The id of the Track + + + + Adds the specified id and track to the CvTracks. + + The structure representing the id and track to add to the CvTracks + + + + Removes all keys and values + + + + + Determines whether the CvTracks contains a specific id and CvTrack. + + The id and CvTrack to be located + True if the is found in the CvTracks; otherwise, false. + + + + Copies the elements to the , starting at the specific arrayIndex. + + The one-dimensional array that is the defination of the elements copied from the CvTracks. The array must have zero-base indexing. + The zero-based index in at which copying begins. + + + + Gets the number of id/track pairs contained in the collection. + + + + + Always false. + + + + + Removes a key and value from the dictionary. + + The structure representing the key and value to be removed + True if the key are value is sucessfully found and removed; otherwise false. + + + + Returns an enumerator that iterates through the collection. + + An enumerator that can be used to iterate through the collection + + + + Returns a pointer to CvBlobs + + Pointer to CvBlobs + + + + Defines a Bgr (Blue Green Red) color + + + + + The MCvScalar representation of the color intensity + + + + Create a BGR color using the specific values + The blue value for this color + The green value for this color + The red value for this color + + + + Create a Bgr color using the System.Drawing.Color + + System.Drawing.Color + + + Get or set the intensity of the blue color channel + + + Get or set the intensity of the green color channel + + + Get or set the intensity of the red color channel + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a Bgra (Blue Green Red Alpha) color + + + + + The MCvScalar representation of the color intensity + + + + Create a BGRA color using the specific values + The blue value for this color + The green value for this color + The red value for this color + The alpha value for this color + + + Get or set the intensity of the blue color channel + + + Get or set the intensity of the green color channel + + + Get or set the intensity of the red color channel + + + Get or set the intensity of the alpha color channel + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + Defines a Gray color + + + + The MCvScalar representation of the color intensity + + + + Create a Gray color with the given intensity + The intensity for this color + + + The intensity of the gray color + The intensity of the gray color + + + + Returns the hash code for this color + + the hash code + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a Hls (Hue Lightness Satuation) color + + + + + The MCvScalar representation of the color intensity + + + + Create a Hls color using the specific values + The hue value for this color ( 0 < hue < 180 ) + The satuation for this color + The lightness for this color + + + Get or set the intensity of the hue color channel ( 0 < hue < 180 ) + + + Get or set the intensity of the lightness color channel + + + Get or set the intensity of the satuation color channel + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a HSV (Hue Satuation Value) color + + + + + The MCvScalar representation of the color intensity + + + + Create a HSV color using the specific values + The hue value for this color ( 0 < hue < 180 ) + The satuation value for this color + The value for this color + + + Get or set the intensity of the hue color channel ( 0 < hue < 180 ) + + + Get or set the intensity of the satuation color channel + + + Get or set the intensity of the value color channel + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a CIE Lab color + + + + + The MCvScalar representation of the color intensity + + + + Create a CIE Lab color using the specific values + The z value for this color + The y value for this color + The x value for this color + + + Get or set the intensity of the x color channel + + + Get or set the intensity of the y color channel + + + Get or set the intensity of the z color channel + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a CIE Luv color + + + + + The MCvScalar representation of the color intensity + + + + Create a CIE Lab color using the specific values + The z value for this color + The y value for this color + The x value for this color + + + + The intensity of the x color channel + + + + + The intensity of the y color channel + + + + + The intensity of the z color channel + + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a Rgb (Red Green Blue) color + + + + + The MCvScalar representation of the color intensity + + + + Create a RGB color using the specific values + The blue value for this color + The green value for this color + The red value for this color + + + + Create a Rgb color using the system color + + color + + + Get or set the intensity of the red color channel + + + Get or set the intensity of the green color channel + + + Get or set the intensity of the blue color channel + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a Bgr565 (Blue Green Red) color + + + + + The MCvScalar representation of the color intensity + + + + Create a Bgr565 color using the specific values + The blue value for this color + The green value for this color + The red value for this color + + + + Create a Bgr565 color using the System.Drawing.Color + + System.Drawing.Color + + + Get or set the intensity of the red color channel + + + Get or set the intensity of the green color channel + + + Get or set the intensity of the blue color channel + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a Rgba (Red Green Blue Alpha) color + + + + + The MCvScalar representation of the color intensity + + + + Create a RGBA color using the specific values + The blue value for this color + The green value for this color + The red value for this color + The alpha value for this color + + + Get or set the intensity of the red color channel + + + Get or set the intensity of the green color channel + + + Get or set the intensity of the blue color channel + + + Get or set the intensity of the alpha color channel + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a Xyz color (CIE XYZ.Rec 709 with D65 white point) + + + + + The MCvScalar representation of the color intensity + + + + Create a Xyz color using the specific values + The z value for this color + The y value for this color + The x value for this color + + + + Get or set the intensity of the x color channel + + + + + Get or set the intensity of the y color channel + + + + + Get or set the intensity of the z color channel + + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + Defines a Ycc color (YCrCb JPEG) + + + + + The MCvScalar representation of the color intensity + + + + Create a Ycc color using the specific values + The Y value for this color + The Cr value for this color + The Cb value for this color + + + + Get or set the intensity of the Y color channel + + + + + Get or set the intensity of the Cr color channel + + + + + Get or set the intensity of the Cb color channel + + + + + Return true if the two color equals + + The other color to compare with + true if the two color equals + + + + Get the dimension of this color + + + + + Get or Set the equivalent MCvScalar value + + + + + Represent this color as a String + + The string representation of this color + + + + A line segment + + + + A point on the line + + + An other point on the line + + + A point on the line + + + An other point on the line + + + + Create a line segment with the specific starting point and end point + + The first point on the line segment + The second point on the line segment + + + The direction of the line, the norm of which is 1 + + + + Determine which side of the line the 2D point is at + + the point + + 1 if on the right hand side; + 0 if on the line; + -1 if on the left hand side; + + + + + Get the exterior angle between this line and + + The other line + The exterior angle between this line and + + + + Get the length of the line segment + + + + + A line segment + + + + A point on the line + + + An other point on the line + + + A point on the line + + + An other point on the line + + + + Create a line segment with the specific start point and end point + + The first point on the line segment + The second point on the line segment + + + + Get the length of the line segment + + + + + The direction of the line, the norm of which is 1 + + + + Obtain the Y value from the X value using first degree interpolation + The X value + The Y value + + + + Determin which side of the line the 2D point is at + + the point + + 1 if on the right hand side; + 0 if on the line; + -1 if on the left hand side; + + + + + Get the exterior angle between this line and + + The other line + The exterior angle between this line and + + + + A 3D line segment + + + + A point on the line + + + An other point on the line + + + A point on the line + + + An other point on the line + + + + Create a line segment with the specific start point and end point + + The first point on the line segment + The second point on the line segment + + + + Get the length of the line segment + + + + A circle + + + Create a circle with the specific center and radius + The center of this circle + The radius of this circle + + + Get or Set the center of the circle + + + The radius of the circle + + + The area of the circle + + + + Compare this circle with + + The other box to be compared + true if the two boxes equals + + + + A point with Bgr color information + + + + + The position in meters + + + + + The blue color + + + + + The green color + + + + + The red color + + + + + A 2D cross + + + + + The center of this cross + + + + + The size of this cross + + + + + Construct a cross + + The center of the cross + the width of the cross + the height of the cross + + + + Get the horizonal linesegment of this cross + + + + + Get the vertical linesegment of this cross + + + + + A solid resembling a cube, with the rectangular faces not all equal; a rectangular parallelepiped. + + + + + The coordinate of the upper corner + + + + + The coordinate of the lower corner + + + + + Check if the specific point is in the Cuboid + + The point to be checked + True if the point is in the cuboid + + + + Get the centroid of this cuboid + + + + + This is used to hold the sizes of the Open CV structures + + + + + The size of CvPoint + + + + + The size of CvPoint2D32f + + + + + The size of CvPoint3D32f + + + + + The size of CvSize + + + + + The size of CvSize2D32f + + + + + The size of CvScalar + + + + + The size of CvRect + + + + + The size of CvBox2D + + + + + The size of CvMat + + + + + The size of CvMatND + + + + + The size of CvTermCriteria + + + + + The size of IplImage + + + + + An ellipse + + + + + The RotatedRect representation of this ellipse + + + + + Create an ellipse with specific parameters + + The center of the ellipse + The width and height of the ellipse + The rotation angle in radian for the ellipse + + + + Create an ellipse from the specific RotatedRect + + The RotatedRect representation of this ellipse + + + + Result of cvHaarDetectObjects + + + + + Bounding rectangle for the object (average rectangle of a group) + + + + + Number of neighbor rectangles in the group + + + + + Managed structure equivalent to CvMat + + + + + CvMat signature (CV_MAT_MAGIC_VAL), element type and flags + + + + + full row length in bytes + + + + + underlying data reference counter + + + + + Header reference count + + + + + data pointers + + + + + number of rows + + + + + number of columns + + + + + Width + + + + + Height + + + + + Get the number of channels + + + + + Constants used by the MCvMat structure + + + + + Offset of roi + + + + + Managed structure equivalent to CvMatND + + + + + CvMatND signature (CV_MATND_MAGIC_VAL), element type and flags + + + + + number of array dimensions + + + + + underlying data reference counter + + + + + Header reference count + + + + + data pointers + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) + + + + + pairs (number of elements, distance between elements in bytes) for every dimension + + + + + The MatND Dimension + + + + + Number of elements in this dimension + + + + + distance between elements in bytes for this dimension + + + + + Structure contains the bounding box and confidence level for detected object + + + + + Bounding box for a detected object + + + + + Confidence level + + + + + The class identifier + + + + + Managed Structure equivalent to CvPoint2D64f + + + + + x-coordinate + + + + + y-coordinate + + + + + Create a MCvPoint2D64f structure with the specific x and y coordinates + + x-coordinate + y-coordinate + + + + Compute the sum of two 3D points + + The first point to be added + The second point to be added + The sum of two points + + + + Subtract from + + The first point + The point to be added + The sum of two points + + + + Multiply the point with a scale + + The point to be multiplied + The scale + The point multiplied by the scale + + + + Multiply the point with a scale + + The point to be multiplied + The scale + The point multiplied by the scale + + + + Returns true if the two points equals. + + The other point to compare with + True if the two points equals + + + + + + + + + + Managed Structure equivalent to CvPoint3D32f + + + + + x-coordinate + + + + + y-coordinate + + + + + z-coordinate + + + + + Create a MCvPoint3D32f structure with the specific x and y coordinates + + x-coordinate + y-coordinate + z-coordinate + + + + Return the cross product of two 3D point + + the other 3D point + The cross product of the two 3D point + + + + Return the dot product of two 3D point + + the other 3D point + The dot product of the two 3D point + + + + return the norm of this 3D point + + + + + Get the normalized point + + The normalized point + + + + The implicit operator to convert MCvPoint3D32f to MCvPoint3D64f + + The point to be converted + The converted point + + + + Subtract one point from the other + + The point to subtract from + The value to be subtracted + The subtraction of one point from the other + + + + Compute the sum of two 3D points + + The first point to be added + The second point to be added + The sum of two points + + + + Multiply the point with a scale + + The point to be multiplied + The scale + The point multiplied by the scale + + + + Multiply the point with a scale + + The point to be multiplied + The scale + The point multiplied by the scale + + + + Return true if the location of the two points are equal + + The other point to compare with + True if the location of the two points are equal + + + + Managed Structure equivalent to CvPoint3D64f + + + + + x-coordinate + + + + + y-coordinate + + + + + z-coordinate + + + + + Create a MCvPoint3D64f structure with the specific x and y coordinates + + x-coordinate + y-coordinate + z-coordinate + + + + Return the cross product of two 3D point + + the other 3D point + The cross product of the two 3D point + + + + Return the dot product of two 3D point + + the other 3D point + The dot product of the two 3D point + + + + Compute the sum of two 3D points + + The first point to be added + The second point to be added + The sum of two points + + + + Subtract from + + The first point + The point to be added + The sum of two points + + + + Multiply the point with a scale + + The point to be multiplied + The scale + The point multiplied by the scale + + + + Multiply the point with a scale + + The point to be multiplied + The scale + The point multiplied by the scale + + + + Check if the other point equals to this point + + The point to be compared + True if the two points are equal + + + + Managed structure equivalent to CvScalar + + + + + The scalar value + + + + + The scalar value + + + + + The scalar value + + + + + The scalar value + + + + + The scalar values as a vector (of size 4) + + The scalar values as an array + + + + Create a new MCvScalar structure using the specific values + + v0 + + + + Create a new MCvScalar structure using the specific values + + v0 + v1 + + + + Create a new MCvScalar structure using the specific values + + v0 + v1 + v2 + + + + Create a new MCvScalar structure using the specific values + + v0 + v1 + v2 + v3 + + + + Return the code to generate this MCvScalar from specific language + + The programming language to generate code from + The code to generate this MCvScalar from specific language + + + + Return true if the two MCvScalar equals + + The other MCvScalar to compare with + true if the two MCvScalar equals + + + + Managed structure equivalent to CvSlice + + + + + Start index + + + + + End index + + + + + Create a new MCvSlice using the specific start and end index + + start index + end index + + + + Get the equivalent of CV_WHOLE_SEQ + + + + + Managed structure equivalent to CvTermCriteria + + + + + CV_TERMCRIT value + + + + + Maximum iteration + + + + + Epsilon + + + + + Create the termination criteria using the constrain of maximum iteration + + The maximum number of iteration allowed + + + + Create the termination Criteria using only the constrain of epsilon + + The epsilon value + + + + Create the termination criteria using the constrain of maximum iteration as well as epsilon + + The maximum number of iteration allowed + The epsilon value + + + + OpenCV's DMatch structure + + + + + Query descriptor index + + + + + Train descriptor index + + + + + Train image index + + + + + Distance + + + + + Managed structure equivalent to IplImage + + + + + sizeof(IplImage) + + + + + version (=0) + + + + + Most of OpenCV functions support 1,2,3 or 4 channels + + + + + ignored by OpenCV + + + + + pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U, IPL_DEPTH_16S, IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F are supported + + + + + ignored by OpenCV + + + + + ignored by OpenCV + + + + + ignored by OpenCV + + + + + ignored by OpenCV + + + + + ignored by OpenCV + + + + + ignored by OpenCV + + + + + ignored by OpenCV + + + + + ignored by OpenCV + + + + + 0 - interleaved color channels, 1 - separate color channels. + cvCreateImage can only create interleaved images + + + + + 0 - top-left origin, + 1 - bottom-left origin (Windows bitmaps style) + + + + + Alignment of image rows (4 or 8). + OpenCV ignores it and uses widthStep instead + + + + + image width in pixels + + + + + image height in pixels + + + + + image ROI. when it is not NULL, this specifies image region to process + + + + + must be NULL in OpenCV + + + + + ditto + + + + + ditto + + + + + image data size in bytes + (=image->height*image->widthStep in case of interleaved data) + + + + + pointer to aligned image data + + + + + size of aligned image row in bytes + + + + + border completion mode, ignored by OpenCV + + + + + border completion mode, ignored by OpenCV + + + + + border completion mode, ignored by OpenCV + + + + + border completion mode, ignored by OpenCV + + + + + border const, ignored by OpenCV + + + + + border const, ignored by OpenCV + + + + + border const, ignored by OpenCV + + + + + border const, ignored by OpenCV + + + + + pointer to a very origin of image data (not necessarily aligned) - it is needed for correct image deallocation + + + + + OpenCV's KeyPoint class + + + + + The location of the keypoint + + + + + Size of the keypoint + + + + + Orientation of the keypoint + + + + + Response of the keypoint + + + + + octave + + + + + class id + + + + + The range use to setup the histogram + + + + + return the full range. + + + + + Create a range of the specific min/max value + + The start value of this range + The max value of this range + + + + The start value of this range + + + + + The end value of this range + + + + + Return true if the two Range equals + + The other Range to compare with + True if the two Range equals + + + + The range use to setup the histogram + + + + + Create a range of the specific min/max value + + The min value of this range + The max value of this range + + + + The minimum value of this range + + + + + The Maximum value of this range + + + + + Return true if the two RangeF equals + + The other RangeF to compare with + True if the two RangeF equals + + + + Managed structure equivalent to CvBox2D + + + + + The center of the box + + + + + The size of the box + + + + + The angle between the horizontal axis and the first side (i.e. width) in degrees + + Possitive value means counter-clock wise rotation + + + + Create a RotatedRect structure with the specific parameters + + The center of the box + The size of the box + The angle of the box in degrees. Possitive value means counter-clock wise rotation + + + + Shift the box by the specific amount + + The x value to be offseted + The y value to be offseted + + + + Represent an uninitialized RotatedRect + + + + + Get the 4 verticies of this Box. + + The vertives of this RotatedRect + + + + Get the minimum enclosing rectangle for this Box + + The minimum enclosing rectangle for this Box + + + + Returns true if the two box are equal + + The other box to compare with + True if two boxes are equal + + + + Convert a RectangleF to RotatedRect + + The rectangle + The equivalent RotatedRect + + + + A 2D triangle + + + + + One of the vertex of the triangle + + + + + One of the vertex of the triangle + + + + + One of the vertex of the triangle + + + + + Create a triangle using the specific vertices + + The first vertex + The second vertex + The third vertex + + + + Get the area of this triangle + + + + + Returns the centroid of this triangle + + + + + Compare two triangles and return true if equal + + the other triangles to compare with + true if the two triangles equals, false otherwise + + + + Get the vertices of this triangle + + The vertices of this triangle + + + + A 3D triangle + + + + + One of the vertex of the triangle + + + + + One of the vertex of the triangle + + + + + One of the vertex of the triangle + + + + + Get the area of this triangle + + + + + Get the normal of this triangle + + + + + Returns the centroid of this triangle + + + + + Create a triangle using the specific vertices + + The first vertex + The second vertex + The third vertex + + + + Compare two triangles and return true if equal + + the other triangles to compare with + true if the two triangles equals, false otherwise + + + + Attribute used to specify color information + + + + + The code which is used for color conversion + + + + + The code which is used for color conversion + + + + + The code which is used for color conversion + + + + + The display color + + blue + green + red + + + + Get or set the display color + + + + + A color type + + + + + The equivalent MCvScalar value + + + + + Get the dimension of the color type + + + + + The base class for algorithms that align images of the same scene with different exposures + + + + + The pointer to the native AlignExposures object + + + + + Aligns images. + + vector of input images + vector of aligned images + vector of exposure time values for each image + 256x1 matrix with inverse camera response function for each pixel value, it should have the same number of channels as images. + + + + Reset the pointer that points to the CalibrateCRF object. + + + + + This algorithm converts images to median threshold bitmaps (1 for pixels brighter than median luminance and 0 otherwise) and than aligns the resulting bitmaps using bit operations. + + + + + Create an AlignMTB object + + logarithm to the base 2 of maximal shift in each dimension. Values of 5 and 6 are usually good enough (31 and 63 pixels shift respectively). + range for exclusion bitmap that is constructed to suppress noise around the median value. + if true cuts images, otherwise fills the new regions with zeros. + + + + Release the unmanaged memory associated with this AlignMTB object + + + + + The base class for camera response calibration algorithms. + + + + + The pointer to the calibrateCRF object + + + + + Recovers inverse camera response. + + Vector of input images + 256x1 matrix with inverse camera response function + Vector of exposure time values for each image + + + + Reset the pointer that points to the CalibrateCRF object. + + + + + Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. Objective function is constructed using pixel values on the same position in all images, extra term is added to make the result smoother. + + + + + Creates CalibrateDebevec object. + + Number of pixel locations to use + Smoothness term weight. Greater values produce smoother results, but can alter the response. + If true sample pixel locations are chosen at random, otherwise the form a rectangular grid. + + + + Release the unmanaged memory associated with this CalibrateCRF object + + + + + Inverse camera response function is extracted for each brightness value by minimizing an objective function as linear system. This algorithm uses all image pixels. + + + + + Creates CalibrateRobertson object. + + maximal number of Gauss-Seidel solver iterations. + get difference between results of two successive steps of the minimization. + + + + Release the unmanaged memory associated with this CalibrateCRF object + + + + + The base class algorithms that can merge exposure sequence to a single image. + + + + + The pointer to the unmanaged MergeExposure object + + + + + Merges images. + + Vector of input images + Result image + Vector of exposure time values for each image + 256x1 matrix with inverse camera response function for each pixel value, it should have the same number of channels as images. + + + + Reset the native pointer to the MergeExposure object + + + + + The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response. + + + + + Creates MergeDebevec object. + + + + + Release the MergeDebevec object + + + + + Pixels are weighted using contrast, saturation and well-exposedness measures, than images are combined using laplacian pyramids. + The resulting image weight is constructed as weighted average of contrast, saturation and well-exposedness measures. + The resulting image doesn't require tonemapping and can be converted to 8-bit image by multiplying by 255, but it's recommended to apply gamma correction and/or linear tonemapping. + + + + + Creates MergeMertens object. + + contrast measure weight. + saturation measure weight + well-exposedness measure weight + + + + Merges images. + + Vector of input images + Result image + + + + Release the unmanaged memory associated with this MergeMertens object + + + + + The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response + + + + + Creates MergeRobertson object. + + + + + Release the unmanaged memory associated with this MergeRobertson object + + + + + Base class for tonemapping algorithms - tools that are used to map HDR image to 8-bit range. + + + + + The pointer to the unmanaged Tonemap object + + + + + The pointer to the unmanaged Algorithm object + + + + + The pointer to the unamanged Algorith object + + + + + Default constructor that creates empty Tonemap + + The pointer to the unmanaged object + The pointer to the tonemap object + + + + Creates simple linear mapper with gamma correction. + + positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma equal to 2.2f is suitable for most displays. Generally gamma > 1 brightens the image and gamma < 1 darkens it. + + + + Tonemaps image. + + Source image - 32-bit 3-channel Mat + destination image - 32-bit 3-channel Mat with values in [0, 1] range + + + + Release the unmanaged memory associated with this Tonemap + + + + + Positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma equal to 2.2f is suitable for most displays. + + + + + Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in logarithmic domain. + Since it's a global operator the same function is applied to all the pixels, it is controlled by the bias parameter. + + + + + Creates TonemapDrago object. + + gamma value for gamma correction. + positive saturation enhancement value. 1.0 preserves saturation, values greater than 1 increase saturation and values less than 1 decrease it. + value for bias function in [0, 1] range. Values from 0.7 to 0.9 usually give best results, default value is 0.85. + + + + Release the unmanaged memory associated with this TonemapDrago + + + + + Positive saturation enhancement value. 1.0 preserves saturation, values greater than 1 increase saturation and values less than 1 decrease it. + + + + + Value for bias function in [0, 1] range. Values from 0.7 to 0.9 usually give best results, default value is 0.85. + + + + + This algorithm transforms image to contrast using gradients on all levels of gaussian pyramid, transforms contrast values to HVS response and scales the response. After this the image is reconstructed from new contrast values. + + + + + Creates TonemapMantiuk object + + gamma value for gamma correction. + contrast scale factor. HVS response is multiplied by this parameter, thus compressing dynamic range. Values from 0.6 to 0.9 produce best results. + saturation enhancement value. + + + + Release the unmanaged memory associated with this TonemapMantiuk + + + + + Saturation enhancement value. + + + + + Contrast scale factor. HVS response is multiplied by this parameter, thus compressing dynamic range. Values from 0.6 to 0.9 produce best results. + + + + + This is a global tonemapping operator that models human visual system. + Mapping function is controlled by adaptation parameter, that is computed using light adaptation and color adaptation. + + + + + Creates TonemapReinhard object. + + gamma value for gamma correction + result intensity in [-8, 8] range. Greater intensity produces brighter results. + light adaptation in [0, 1] range. If 1 adaptation is based only on pixel value, if 0 it's global, otherwise it's a weighted mean of this two cases. + chromatic adaptation in [0, 1] range. If 1 channels are treated independently, if 0 adaptation level is the same for each channel. + + + + Release the unmanaged memory associated with this TonemapReinhard + + + + + Result intensity in [-8, 8] range. Greater intensity produces brighter results. + + + + + Light adaptation in [0, 1] range. If 1 adaptation is based only on pixel value, if 0 it is global, otherwise it is a weighted mean of this two cases. + + + + + chromatic adaptation in [0, 1] range. If 1 channels are treated independently, if 0 adaptation level is the same for each channel. + + + + + Interface for all widgets + + + + + Get the pointer to the widget object + + + + + Interface for all widget3D + + + + + Get the pointer to the widget3D object + + + + + Interface for all widget2D + + + + + Get the pointer to the widget2D object + + + + + Represents a 3D visualizer window. + + + + + Create a new 3D visualizer windows + + The name of the windows + + + + Show a widget in the window + + A unique id for the widget. + The widget to be displayed in the window. + Pose of the widget. + + + + Removes a widget from the window. + + The id of the widget that will be removed. + + + + Sets pose of a widget in the window. + + The id of the widget whose pose will be set. + The new pose of the widget. + + + + The window renders and starts the event loop. + + + + + Starts the event loop for a given time. + + Amount of time in milliseconds for the event loop to keep running. + If true, window renders. + + + + Returns whether the event loop has been stopped. + + + + + Set the background color + + + + + Release the unmanaged memory associated with this Viz3d object + + + + + This 3D Widget defines an arrow. + + + + + Constructs an WArrow. + + Start point of the arrow. + End point of the arrow. + Thickness of the arrow. Thickness of arrow head is also adjusted accordingly. + Color of the arrow. + + + + Get the pointer to the Widget3D obj + + + + + Get the pointer to the Widget obj + + + + + Release the unmanaged memory associated with this WArrow object + + + + + This 3D Widget defines a circle. + + + + + Constructs default planar circle centred at origin with plane normal along z-axis. + + Radius of the circle. + Thickness of the circle. + Color of the circle. + + + + Constructs repositioned planar circle. + + Radius of the circle. + Center of the circle. + Normal of the plane in which the circle lies. + Thickness of the circle. + Color of the circle. + + + + Get the pointer to the Widget3D obj + + + + + Get the pointer to the Widget obj + + + + + Release the unmanaged memory associated with this WCircle object + + + + + This 3D Widget defines a point cloud. + + + + + Constructs a WCloud. + + Set of points which can be of type: CV_32FC3, CV_32FC4, CV_64FC3, CV_64FC4. + Set of colors. It has to be of the same size with cloud. + + + + Constructs a WCloud. + + Set of points which can be of type: CV_32FC3, CV_32FC4, CV_64FC3, CV_64FC4. + A single Color for the whole cloud. + + + + Get the pointer to the Widget3D obj + + + + + Get the pointer to the Widget obj + + + + + Release the unmanaged memory associated with this WCloud + + + + + This 3D Widget defines a cone. + + + + + Constructs default cone oriented along x-axis with center of its base located at origin. + + Length of the cone. + Radius of the cone. + Resolution of the cone. + Color of the cone. + + + + Constructs repositioned planar cone. + + Radius of the cone. + Center of the cone base. + Tip of the cone. + Resolution of the cone. + Color of the cone. + + + + Get the pointer to the Widget3D obj + + + + + Get the pointer to the Widget obj + + + + + Release the unmanaged memory associated with this WCone object + + + + + This 3D Widget represents a coordinate system. + + + + + Constructs a WCoordinateSystem. + + Determines the size of the axes. + + + + Get the pointer to the Widget3D obj + + + + + Get the pointer to the Widget obj + + + + + Release the unmanaged memory associated with this WCoordinateSysyem object + + + + + This 3D Widget defines a cube. + + + + + Constructs a WCube. + + Specifies minimum point of the bounding box. + Specifies maximum point of the bounding box. + If true, cube is represented as wireframe. + Color of the cube. + + + + Get the pointer to the Widget3D obj + + + + + Get the pointer to the Widget obj + + + + + Release the unmanaged memory associated with this WCube object + + + + + This 3D Widget defines a cylinder. + + + + + Constructs a WCylinder. + + A point1 on the axis of the cylinder. + A point2 on the axis of the cylinder. + Radius of the cylinder. + Resolution of the cylinder. + Color of the cylinder. + + + + Get the pointer to the Widget3D obj + + + + + Get the pointer to the Widget obj + + + + + Release the unmanaged memory associated with this WCylinder object + + + + + This 2D Widget represents text overlay. + + + + + Constructs a WText. + + Text content of the widget. + Position of the text. + Font size. + Color of the text. + + + + Get the pointer to the widget2D object + + + + + Get the pointer to the widget object. + + + + + Release the unmanaged memory associated with this Viz3d object + + + + + A collection of points + + + + + Fit an ellipse to the points collection + + The points to be fitted + An ellipse + + + + convert a series of points to LineSegment2D + + the array of points + if true, the last line segment is defined by the last point of the array and the first point of the array + array of LineSegment2D + + + + convert a series of System.Drawing.Point to LineSegment2D + + the array of points + if true, the last line segment is defined by the last point of the array and the first point of the array + array of LineSegment2D + + + + Find the bounding rectangle for the specific array of points + + The collection of points + The bounding rectangle for the array of points + + + + Re-project pixels on a 1-channel disparity map to array of 3D points. + + Disparity map + The re-projection 4x4 matrix, can be arbitrary, e.g. the one, computed by cvStereoRectify + The reprojected 3D points + + + + Generate a random point cloud around the ellipse. + + The region where the point cloud will be generated. The axes of e corresponds to std of the random point cloud. + The number of points to be generated + A random point cloud around the ellipse + + + + Interface to the BackgroundSubtractor class + + + + + Pointer to the native BackgroundSubstractor object + + + + + A static class that provide extension methods to backgroundSubtractor + + + + + Update the background model + + The image that is used to update the background model + Use -1 for default + The background subtractor + The output foreground mask + + + + Computes a background image. + + The output background image + The background subtractor + Sometimes the background image can be very blurry, as it contain the average background statistics. + + + + K-nearest neighbors - based Background/Foreground Segmentation Algorithm. + + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Create a K-nearest neighbors - based Background/Foreground Segmentation Algorithm. + + Length of the history. + Threshold on the squared distance between the pixel and the sample to decide whether a pixel is close to that sample. This parameter does not affect the background update. + If true, the algorithm will detect shadows and mark them. It decreases the speed a bit, so if you do not need this feature, set the parameter to false. + + + + Release all the unmanaged memory associated with this background model. + + + + + The number of last frames that affect the background model + + + + + The number of data samples in the background model + + + + + The threshold on the squared distance between the pixel and the sample to decide whether a pixel is close to a data sample. + + + + + The number of neighbours, the k in the kNN. K is the number of samples that need to be within dist2Threshold in order to decide that pixel is matching the kNN background model. + + + + + If true, the algorithm detects shadows and marks them. + + + + + Shadow value is the value used to mark shadows in the foreground mask. Default value is 127. Value 0 in the mask always means background, 255 means foreground. + + + + + A shadow is detected if pixel is a darker version of the background. The shadow threshold (Tau in the paper) is a threshold defining how much darker the shadow can be. Tau= 0.5 means that if a pixel is more than twice darker then it is not shadow. + + + + + The class implements the following algorithm: + "Improved adaptive Gaussian mixture model for background subtraction" + Z.Zivkovic + International Conference Pattern Recognition, UK, August, 2004. + http://www.zoranz.net/Publications/zivkovic2004ICPR.pdf + + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Create an "Improved adaptive Gaussian mixture model for background subtraction". + + The length of the history. + The maximum allowed number of mixture components. Actual number is determined dynamically per pixel. + If true, the algorithm will detect shadows and mark them. It decreases the speed a bit, so if you do not need this feature, set the parameter to false. + + + + Release all the unmanaged memory associated with this background model. + + + + + The number of last frames that affect the background model + + + + + If true, the algorithm detects shadows and marks them. + + + + + Shadow value is the value used to mark shadows in the foreground mask. Default value is 127. Value 0 in the mask always means background, 255 means foreground. + + + + + A shadow is detected if pixel is a darker version of the background. The shadow threshold (Tau in the paper) is a threshold defining how much darker the shadow can be. Tau= 0.5 means that if a pixel is more than twice darker then it is not shadow. + + + + + The number of gaussian components in the background model + + + + + If a foreground pixel keeps semi-constant value for about backgroundRatio * history frames, it's considered background and added to the model as a center of a new component. It corresponds to TB parameter in the paper. + + + + + The main threshold on the squared Mahalanobis distance to decide if the sample is well described by the background model or not. Related to Cthr from the paper. + + + + + The variance threshold for the pixel-model match used for new mixture component generation. Threshold for the squared Mahalanobis distance that helps decide when a sample is close to the existing components (corresponds to Tg in the paper). If a pixel is not close to any component, it is considered foreground or added as a new component. 3 sigma =%gt + + + + + Tg=3*3=9 is default. A smaller Tg value generates more components. A higher Tg value may result in a small number of components but they can grow too large. + + + + + The initial variance of each gaussian component + + + + + The minimum variance + + + + + The maximum variance + + + + + Dense Optical flow + + + + + Gets the dense optical flow pointer. + + + The dense optical flow . + + + + + Extension methods for IDenseOpticalFlow + + + + + Calculates an optical flow. + + First 8-bit single-channel input image. + Second input image of the same size and the same type as prev. + Computed flow image that has the same size as prev and type CV_32FC2 + The dense optical flow object + + + + DIS optical flow algorithm. + This class implements the Dense Inverse Search(DIS) optical flow algorithm.Includes three presets with preselected parameters to provide reasonable trade-off between speed and quality.However, even the slowest preset is still relatively fast, use DeepFlow if you need better quality and don't care about speed. + More details about the algorithm can be found at: + Till Kroeger, Radu Timofte, Dengxin Dai, and Luc Van Gool. Fast optical flow using dense inverse search. In Proceedings of the European Conference on Computer Vision (ECCV), 2016. + + + + + Preset + + + + + Ultra fast + + + + + Fast + + + + + Medium + + + + + Create an instance of DIS optical flow algorithm. + + Algorithm preset + + + + Release the unmanaged memory associated with this Optical flow algorithm. + + + + + Pointer to cv::Algorithm + + + + + Pointer to native cv::DenseOpticalFlow + + + + + Finest level of the Gaussian pyramid on which the flow is computed (zero level corresponds to the original image resolution). The final flow is obtained by bilinear upscaling. + + + + + Size of an image patch for matching (in pixels). Normally, default 8x8 patches work well enough in most cases. + + + + + Stride between neighbor patches. Must be less than patch size. Lower values correspond to higher flow quality. + + + + + Maximum number of gradient descent iterations in the patch inverse search stage. Higher values may improve quality in some cases. + + + + + Number of fixed point iterations of variational refinement per scale. Set to zero to disable variational refinement completely. Higher values will typically result in more smooth and high-quality flow. + + + + + Weight of the smoothness term + + + + + Weight of the color constancy term + + + + + Weight of the gradient constancy term + + + + + Whether to use mean-normalization of patches when computing patch distance. It is turned on by default as it typically provides a noticeable quality boost because of increased robustness to illumination variations. Turn it off if you are certain that your sequence doesn't contain any changes in illumination. + + + + + Whether to use spatial propagation of good optical flow vectors. This option is turned on by default, as it tends to work better on average and can sometimes help recover from major errors introduced by the coarse-to-fine scheme employed by the DIS optical flow algorithm. Turning this option off can make the output flow field a bit smoother, however. + + + + + Class computing a dense optical flow using the Gunnar Farneback's algorithm. + + + + + Create a FarnebackOpticalFlow object + + Specifies the image scale (!1) to build the pyramids for each image. pyrScale=0.5 means the classical pyramid, where each next layer is twice smaller than the previous + The number of pyramid layers, including the initial image. levels=1 means that no extra layers are created and only the original images are used + The averaging window size; The larger values increase the algorithm robustness to image noise and give more chances for fast motion detection, but yield more blurred motion field + The number of iterations the algorithm does at each pyramid level + Size of the pixel neighborhood used to find polynomial expansion in each pixel. The larger values mean that the image will be approximated with smoother surfaces, yielding more robust algorithm and more blurred motion field. Typically, poly n=5 or 7 + Standard deviation of the Gaussian that is used to smooth derivatives that are used as a basis for the polynomial expansion. For poly n=5 you can set poly sigma=1.1, for poly n=7 a good value would be poly sigma=1.5 + The operation flags + Fast Pyramids + + + + Release the unmanaged resources + + + + + Gets the dense optical flow pointer. + + + The pointer to the dense optical flow object. + + + + + Return the pointer to the algorithm object + + + + + The class implements a standard Kalman filter. However, you can modify transitionMatrix, controlMatrix, and measurementMatrix to get + an extended Kalman filter functionality. + + + + + Initializes a new instance of the class. + + Dimensionality of the state. + Dimensionality of the measurement. + Dimensionality of the control vector. + Type of the created matrices that should be Cv32F or Cv64F + + + + Perform the predict operation using the option control input + + The control. + The predicted state. + + + + Updates the predicted state from the measurement. + + The measured system parameters + + + + + Release the unmanaged resources + + + + + Predicted state (x'(k)): x(k)=A*x(k-1)+B*u(k) + + The result + + + + Corrected state (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k)) + + The result + + + + State transition matrix (A) + + The result + + + + Control matrix (B) (not used if there is no control) + + The result + + + + Measurement matrix (H) + + The result + + + + Process noise covariance matrix (Q) + + The result + + + + Measurement noise covariance matrix (R) + + The result + + + + priori error estimate covariance matrix (P'(k)): P'(k)=A*P(k-1)*At + Q) + + The result + + + + Kalman gain matrix (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R) + + The result + + + + posteriori error estimate covariance matrix (P(k)): P(k)=(I-K(k)*H)*P'(k) + + The result + + + + Sparse Optical flow + + + + + Gets the sparse optical flow pointer. + + + The sparse optical flow . + + + + + Extension methods for ISparseOpticalFlow + + + + + Calculates a sparse optical flow. + + The sparse optical flow + First input image. + Second input image of the same size and the same type as prevImg. + Vector of 2D points for which the flow needs to be found. + Output vector of 2D points containing the calculated new positions of input features in the second image. + Output status vector. Each element of the vector is set to 1 if the flow for the corresponding features has been found.Otherwise, it is set to 0. + Optional output vector that contains error response for each point (inverse confidence). + + + + The class can calculate an optical flow for a sparse feature set using the iterative Lucas-Kanade method with pyramids. + + + + + Create a SparsePyrLKOpticalFlow object + + size of the search window at each pyramid level. + 0-based maximal pyramid level number; if set to 0, pyramids are not used (single level), if set to 1, two levels are used, and so on; if pyramids are passed to input then algorithm will use as many levels as pyramids have but no more than maxLevel. + specifying the termination criteria of the iterative search algorithm (after the specified maximum number of iterations criteria.maxCount or when the search window moves by less than criteria.epsilon. + operation flags + the algorithm calculates the minimum eigen value of a 2x2 normal matrix of optical flow equations, divided by number of pixels in a window; if this value is less than minEigThreshold, then a corresponding feature is filtered out and its flow is not processed, so it allows to remove bad points and get a performance boost. + + + + Release the unmanaged resources + + + + + Pointer to the unmanaged SparseOpticalFlow object + + + + + Return the pointer to the algorithm object + + + + + This class implements variational refinement of the input flow field. + + See: Thomas Brox, Andres Bruhn, Nils Papenberg, and Joachim Weickert. High accuracy optical flow estimation based on a theory for warping. In Computer Vision-ECCV 2004, pages 25-36. Springer, 2004. + + + + Create an instance of Variational Refinement. + + + + + Release the unmanaged memory associated with this Optical flow algorithm. + + + + + Pointer to the unmanaged cv::Algorithm + + + + + Pointer to the unmanaged cv::DenseOpticalFlow + + + + + Number of outer (fixed-point) iterations in the minimization procedure. + + + + + Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system. + + + + + Relaxation factor in SOR + + + + + Weight of the smoothness term + + + + + Weight of the color constancy term + + + + + Weight of the gradient constancy term + + + + + Fast dense optical flow computation based on robust local optical flow (RLOF) algorithms and sparse-to-dense interpolation scheme. + + + + + Interpolation type used to compute the dense optical flow. + + + + + Fast geodesic interpolation + + + + + Edge-preserving interpolation + + + + + Creates instance of DenseRLOFOpticalFlow + + The RLOF optical flow parameters + Threshold for the forward backward confidence check. Use 1.0f for default + Size of the grid to spawn the motion vectors. Use (6, 6) for default + Interpolation used to compute the dense optical flow. + See Ximgproc.EdgeAwareInterpolator() K value. + See Ximgproc.EdgeAwareInterpolator() sigma value. + See Ximgproc.EdgeAwareInterpolator() lambda value. + Enables Ximgproc.fastGlobalSmootherFilter + See Ximgproc.EdgeAwareInterpolator(). + See Ximgproc.EdgeAwareInterpolator(). + + + + Release the unmanaged resources + + + + + Gets the dense optical flow pointer. + + + The pointer to the dense optical flow object. + + + + + Return the pointer to the algorithm object + + + + + Dual TV L1 Optical Flow Algorithm. + + + + + Create Dual TV L1 Optical Flow. + + + + + Release the unmanaged resources + + + + + Gets the dense optical flow pointer. + + + The pointer to the dense optical flow object. + + + + + Return the pointer to the algorithm object + + + + + Time step of the numerical scheme + + + + + Weight parameter for the data term, attachment parameter + + + + + Weight parameter for (u - v)^2, tightness parameter + + + + + Coefficient for additional illumination variation term + + + + + Number of scales used to create the pyramid of images + + + + + Number of warpings per scale + + + + + Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time + + + + + Inner iterations (between outlier filtering) used in the numerical scheme + + + + + Outer iterations (number of inner loops) used in the numerical scheme + + + + + Use initial flow + + + + + Step between scales (less than 1) + + + + + Median filter kernel size (1 = no filter) (3 or 5) + + + + + The motion history class + + + For help on using this class, take a look at the Motion Detection example + + + + + The motion mask. + Do not dispose this image. + + + + + Create a motion history object + + In second, the duration of motion history you wants to keep + In second. Any change happens between a time interval greater than this will not be considered + In second. Any change happens between a time interval smaller than this will not be considered. + + + + Create a motion history object + + In second, the duration of motion history you wants to keep + In second. Any change happens between a time interval larger than this will not be considered + In second. Any change happens between a time interval smaller than this will not be considered. + The start time of the motion history + + + + Update the motion history with the specific image and current timestamp + + The image to be added to history + + + + Update the motion history with the specific image and the specific timestamp + + The foreground of the image to be added to history + The time when the image is captured + + + + Get a sequence of motion component + + The output mask of motion components + The bounding rectangles of the motion components + + + + Given a rectangle area of the motion, output the angle of the motion and the number of pixels that are considered to be motion pixel + + The rectangle area of the motion + The orientation of the motion + Number of motion pixels within silhouette ROI + The foreground mask used to calculate the motion info. + + + + Release unmanaged resources + + + + + Release any images associated with this object + + + + + DeepFlow optical flow algorithm implementation. + + + + + Create an instance of DeepFlow optical flow algorithm. + + + + + Release the unmanaged memory associated with this Object + + + + + Pointer to the unmanaged cv::Algorithm + + + + + Pointer to the unmanaged cv::DenseOpticalFlow + + + + + PCAFlow algorithm. + + + + + Creates an instance of PCAFlow + + + + + Release the memory associated with this PCA Flow algorithm + + + + + Pointer to cv::Algorithm + + + + + Pointer to native cv::DenseOpticalFlow + + + + + This is used store and set up the parameters of the robust local optical flow (RLOF) algorithm. + + + + + The solver type + + + + + Apply standard iterative refinement + + + + + Apply optimized iterative refinement based bilinear equation solutions + + + + + The support region type + + + + + Apply a constant support region + + + + + Apply a adaptive support region obtained by cross-based segmentation + + + + + Create a RLOF Optical Flow Parameter with default parameters. + + + + + Release the unmanaged memory associated with this Object + + + + + parameter of the shrinked Hampel norm + + + + + parameter of the shrinked Hampel norm + + + + + Variable specifies the iterative refinement strategy + + + + + Variable specifies the support region shape extraction or shrinking strategy + + + + + Minimal window size of the support region. This parameter is only used if supportRegionType is Cross + + + + + Maximal window size of the support region. If supportRegionType is Fixed this gives the exact support region size. The speed of the RLOF is related to the applied win sizes. The smaller the window size the lower is the runtime, but the more sensitive to noise is the method. + + + + + Color similarity threshold used by cross-based segmentation. Only used if supportRegionType is Cross. With the cross-bassed segmentation motion boundaries can be computed more accurately + + + + + Maximal number of pyramid level used. The large this value is the more likely it is to obtain accurate solutions for long-range motions. The runtime is linear related to this parameter + + + + + Use next point list as initial values. A good initialization can improve the algorithm accuracy and reduce the runtime by a faster convergence of the iteration refinement + + + + + Use the Gennert and Negahdaripour illumination model instead of the intensity brightness constraint. + + + + + Use global motion prior initialisation. It allows to be more accurate for long-range motion. The computational complexity is slightly increased by enabling the global motion prior initialisation. + + + + + Number of maximal iterations used for the iterative refinement. Lower values can reduce the runtime but also the accuracy. + + + + + Threshold for the minimal eigenvalue of the gradient matrix defines when to abort the iterative refinement. + + + + + To apply the global motion prior motion vectors will be computed on a regularly sampled which are the basis for Homography estimation using RANSAC. The reprojection threshold is based on n-th percentil (given by this value [0 ... 100]) of the motion vectors magnitude. + + + + + Class used for calculation sparse optical flow and feature tracking with robust local optical flow (RLOF) algorithms. + + + + + Creates instance of SparseRLOFOpticalFlow + + The RLOF optical flow parameters + Threshold for the forward backward confidence check. Use 1.0f for default + + + + Release the unmanaged resources + + + + + Gets the sparse optical flow pointer. + + + The pointer to the sparse optical flow object. + + + + + Return the pointer to the algorithm object + + + + + Abstract base class for histogram cost algorithms. + + + + + Pointer native cv::Ptr object. + + + + + Release the histogram cost extractor + + + + + A norm based cost extraction. + + + + + Create a norm based cost extraction. + + Distance type + Number of dummies + Default cost + + + + An EMD based cost extraction. + + + + + Create an EMD based cost extraction. + + Distance type + Number of dummies + Default cost + + + + An Chi based cost extraction. + + + + + Create an Chi based cost extraction. + + Number of dummies + Default cost + + + + An EMD-L1 based cost extraction. + + + + + Create an EMD-L1 based cost extraction. + + Number of dummies + Default cost + + + + Library to invoke functions that belongs to the shape module + + + + + Implementation of the Shape Context descriptor and matching algorithm proposed by Belongie et al. in “Shape Matching and Object Recognition Using Shape Contexts” (PAMI 2002). + + + + + The number of iterations + + + + + The number of angular bins in the shape context descriptor. + + + + + The number of radial bins in the shape context descriptor. + + + + + The value of the inner radius. + + + + + The value of the outer radius. + + + + + Rotation Invariant + + + + + The weight of the shape context distance in the final distance value. + + + + + The weight of the appearance cost in the final distance value. + + + + + The weight of the Bending Energy in the final distance value. + + + + + Standard Deviation. + + + + + Create a shape context distance extractor + + The histogram cost extractor, use ChiHistogramCostExtractor as default + The shape transformer, use ThinPlateSplineSphapeTransformer as default + Establish the number of angular bins for the Shape Context Descriptor used in the shape matching pipeline. + Establish the number of radial bins for the Shape Context Descriptor used in the shape matching pipeline. + Set the inner radius of the shape context descriptor. + Set the outer radius of the shape context descriptor. + Iterations + + + + Release the memory associated with this shape context distance extractor + + + + + Abstract base class for shape distance algorithms. + + + + + Pointer to the unmanaged ShapeDistanceExtractor + + + + + Compute the shape distance between two shapes defined by its contours. + + Contour defining first shape + Contour defining second shape + The shape distance between two shapes defined by its contours. + + + + Compute the shape distance between two shapes defined by its contours. + + Contour defining first shape + Contour defining second shape + The shape distance between two shapes defined by its contours. + + + + Release all memory associated with this ShapeDistanceExtractor + + + + + A simple Hausdorff distance measure between shapes defined by contours, according to the paper “Comparing Images using the Hausdorff distance.” by D.P. Huttenlocher, G.A. Klanderman, and W.J. Rucklidge. (PAMI 1993). + + + + + Create Hausdorff distance extractor + + Rhe norm used to compute the Hausdorff value between two shapes. It can be L1 or L2 norm. + The rank proportion (or fractional value) that establish the Kth ranked value of the partial Hausdorff distance. Experimentally had been shown that 0.6 is a good value to compare shapes. + + + + Release the memory associated with this Hausdorff distance extrator + + + + + Abstract base class for shape transformation algorithms. + + + + + Get the pointer to the unmanaged shape transformer + + + + + Definition of the transformation ocupied in the paper “Principal Warps: Thin-Plate Splines and Decomposition of Deformations”, by F.L. Bookstein (PAMI 1989). + + + + + Create a thin plate spline shape transformer + + The regularization parameter for relaxing the exact interpolation requirements of the TPS algorithm. + + + + Get the pointer the the native ShapeTransformer + + + + + Release the unmanaged memory associated with this ShapeTransformer object + + + + + Wrapper class for the OpenCV Affine Transformation algorithm. + + + + + Create an affine transformer + + Full affine + + + + Release the unmanaged memory associated with this ShapeTransformer object + + + + + Get the pointer to the native ShapeTransformer + + + + + Blender for Image Stitching + + + + + Pointer to the native Blender object. + + + + + Pointer to the native Blender object. + + + + + Reset the unmanaged pointer associated to this object + + + + + Simple blender which mixes images at its borders. + + + + + Create a simple blender which mixes images at its borders + + Sharpness + + + + Release all the unmanaged memory associated with this blender + + + + + Blender which uses multi-band blending algorithm + + + + + Create a multiBandBlender + + If true, will try to use GPU + Number of bands + The weight type + + + + Release all unmanaged resources associated with this blender + + + + + Entry points to the Open CV Stitching module. + + + + + Image Stitching. + + + + + The stitcher statis + + + + + Ok. + + + + + Error, need more images. + + + + + Error, homography estimateion failed. + + + + + Error, camera parameters adjustment failed. + + + + + Wave correction kind + + + + + horizontal + + + + + Vertical + + + + + Stitch mode + + + + + Mode for creating photo panoramas. Expects images under perspective transformation and projects resulting pano to sphere. + + + + + Mode for composing scans. Expects images under affine transformation does not compensate exposure by default. + + + + + Creates a Stitcher configured in one of the stitching modes. + + Scenario for stitcher operation. This is usually determined by source of images to stitch and their transformation. + + + + Compute the panoramic images given the images + + The input images. This can be, for example, a VectorOfMat + The panoramic image + The stitching status + + + + These functions try to match the given images and to estimate rotations of each camera. + + Input images. + Masks for each input image specifying where to look for keypoints (optional). + Status code. + + + + These functions try to match the given images and to estimate rotations of each camera. + + Final pano. + Status code. + + + + These functions try to compose the given images (or images stored internally from the other function calls) into the final pano under the assumption that the image transformations were estimated before. + + Input images + Final pano. + Status code. + + + + Set the features finder for this stitcher. + + The features finder + + + + Set the warper creator for this stitcher. + + The warper creator + + + + Set the blender for this stitcher + + The blender + + + + Get or Set a flag to indicate if the stitcher should apply wave correction + + + + + The wave correction type. + + + + + Get or set the pano confidence threshold + + + + + Get or Set the compositing resolution + + + + + Get or Set the seam estimation resolution + + + + + Get or set the registration resolution + + + + + Release memory associated with this stitcher + + + + + The work scale + + + + + Finds features in the given image. + + + + + Pointer to the unmanaged WarperCreator object + + + + + Pointer to the unmanaged RotationWarper object + + + + + Get a pointer to the unmanaged WarperCreator object + + + + + Reset the unmanaged pointer associated to this object + + + + + Builds the projection maps according to the given camera data. + + Source image size + Camera intrinsic parameters + Camera rotation matrix + Projection map for the x axis + Projection map for the y axis + Projected image minimum bounding box + + + + Projects the image. + + Source image + Camera intrinsic parameters + Camera rotation matrix + Interpolation mode + Border extrapolation mode + Projected image + Project image top-left corner + + + + Warper that maps an image onto the z = 1 plane. + + + + + Construct an instance of the plane warper class. + + Projected image scale multiplier + + + + Release the unmanaged memory associated with this wraper + + + + + Warper that maps an image onto the unit sphere located at the origin. + + + + + Construct an instance of the spherical warper class. + + Radius of the projected sphere, in pixels. An image spanning the whole sphere will have a width of 2 * scale * PI pixels. + + + + Release the unmanaged memory associated with this wraper + + + + + Fisheye Warper + + + + + Create a fisheye warper + + Projected image scale multiplier + + + + Release the unmanaged memory associated with this wraper + + + + + Stereographic Warper + + + + + Create a stereographic warper + + Projected image scale multiplier + + + + Release the unmanaged memory associated with this wraper + + + + + Compressed rectilinear warper + + + + + Create a compressed rectilinear warper + + Projected image scale multiplier + + + + Release the unmanaged memory associated with this wraper + + + + + Panini warper + + + + + Create a Panini warper + + Projected image scale multiplier + + + + Release the unmanaged memory associated with this wraper + + + + + Panini portrait warper + + + + + Create a panini portrait warper + + Projected image scale multiplier + + + + Release the unmanaged memory associated with this wraper + + + + + Mercator warper + + + + + Create a Mercator Warper + + Projected image scale multiplier + + + + Release the unmanaged memory associated with this wraper + + + + + Transverse mercator warper + + + + + Create a transverse mercator warper + + Projected image scale multiplier + + + + Release the unmanaged memory associated with this wraper + + + + + Create a video frame source + + + + + The pointer to the frame source + + + + + Create video frame source from video file + + The name of the file + If true, it will try to create video frame source using gpu + + + Create a framesource using the specific camera + The index of the camera to create capture from, starting from 0 + + + + Get the next frame + + + + + Release all the unmanaged memory associated with this framesource + + + + + Supper resolution + + + + + The type of optical flow algorithms used for super resolution + + + + + BTVL + + + + + BTVL using gpu + + + + + Create a super resolution solver for the given frameSource + + The type of optical flow algorithm to use + The frameSource + + + + Release all the unmanaged memory associated to this object + + + + + Use the Capture class as a FrameSource + + + + + Create a Capture frame source + + The capture object that will be converted to a FrameSource + + + + Release the unmanaged memory associated with this CaptureFrameSource + + + + + A FrameSource that can be used by the Video Stabilizer + + + + + Get or Set the capture type + + + + + The unmanaged pointer the the frameSource + + + + + Retrieve the next frame from the FrameSoure + + The next frame + + + + Release the unmanaged memory associated with this FrameSource + + + + + Gaussian motion filter + + + + + Create a Gaussian motion filter + + The radius, use 15 for default. + The standard deviation, use -1.0f for default + + + + Release all the unmanaged memory associated with this object + + + + + A one pass video stabilizer + + + + + Create a one pass stabilizer + + The capture object to be stabalized + + + + Set the Motion Filter + + The motion filter + + + + Release the unmanaged memory associated with the stabilizer + + + + + A two pass video stabilizer + + + + + Create a two pass video stabilizer. + + The capture object to be stabilized. Should not be a camera stream. + + + + Release the unmanaged memory + + + + + The flags for the neural network training function + + + + + Default + + + + + Update weights + + + + + No input scale + + + + + No output scale + + + + + Splitting criteria, used to choose optimal splits during a weak tree construction + + + + + Use the default criteria for the particular boosting method + + + + + Use Gini index. This is default option for Real AdaBoost; may be also used for Discrete AdaBoost + + + + + Use misclassification rate. This is default option for Discrete AdaBoost; may be also used for Real AdaBoost + + + + + Use least squares criteria. This is default and the only option for LogitBoost and Gentle AdaBoost + + + + + Boosting type + + + + + Discrete AdaBoost + + + + + Real AdaBoost + + + + + LogitBoost + + + + + Gentle AdaBoost + + + + + The data layout type + + + + + Feature vectors are stored as cols + + + + + Feature vectors are stored as rows + + + + + Variable type + + + + + Numerical or Ordered + + + + + Categorical + + + + + Neural network + + + + + Possible activation functions + + + + + Identity function: f(x)=x + + + + + Symmetrical sigmoid: f(x)=beta*(1-e^{-alpha x})/(1+e^{-alpha x}) + + If you are using the default sigmoid activation function with the default parameter values + fparam1 = 0 and fparam2 = 0 then the function used is y = 1.7159 * tanh(2/3 * x), so the output + will range from[-1.7159, 1.7159], instead of[0, 1]. + + + + + Gaussian function: f(x)=beta e^{-alpha x*x} + + + + + ReLU function: f(x)=max(0,x) + + + + + Leaky ReLU function: + for x>0, $f(x)=x; + and x<=0, f(x)=alpha x + + + + + Training method for ANN_MLP + + + + + Back-propagation algorithm + + + + + Batch RPROP algorithm + + + + + The simulated annealing algorithm. + + + + + Create a neural network using the specific parameters + + + + + Release the memory associated with this neural network + + + + + Sets the layer sizes. + + Integer vector specifying the number of neurons in each layer including the input and output layers. The very first element specifies the number of elements in the input layer. The last element - number of elements in the output layer. + + + + Initialize the activation function for each neuron. + + Currently the default and the only fully supported activation function is SigmoidSym + The first parameter of the activation function. + The second parameter of the activation function. + + + + Sets training method and common parameters. + + The training method. + param1 passed to setRpropDW0 for ANN_MLP::RPROP and to setBackpropWeightScale for ANN_MLP::BACKPROP and to initialT for ANN_MLP::ANNEAL. + param2 passed to setRpropDWMin for ANN_MLP::RPROP and to setBackpropMomentumScale for ANN_MLP::BACKPROP and to finalT for ANN_MLP::ANNEAL. + + + + Termination criteria of the training algorithm + + + + + BPROP: Strength of the weight gradient term + + + + + BPROP: Strength of the momentum term (the difference between weights on the 2 previous iterations) + + + + + RPROP: Initial value Delta_0 of update-values Delta_{ij} + + + + + RPROP: Increase factor + + + + + RPROP: Decrease factor + + + + + RPROP: Update-values lower limit + + + + + RPROP: Update-values upper limit + + + + + ANNEAL: Update initial temperature. + + + + + ANNEAL: Update final temperature. + + + + + ANNEAL: Update cooling ratio. + + + + + ANNEAL: Update iteration per step. + + + + + This class contains functions to call into machine learning library + + + + + Create a default EM model + + Pointer to the EM model + + + + Release the EM model + + + + + Given the EM , predict the probability of the + + The EM model + The input samples + The prediction results, should have the same # of rows as the + The result. + + + + Create a default random tree + + Pointer to the random tree + + + + Boost Tree + + + + + Boost Type + + + + + Discrete AdaBoost. + + + + + Real AdaBoost. It is a technique that utilizes confidence-rated predictions and works well with categorical data. + + + + + LogitBoost. It can produce good regression fits. + + + + + Gentle AdaBoost. It puts less weight on outlier data points and for that reason is often good with regression data. + + + + + Create a default Boost classifier + + + + + Release the Boost classifier and all memory associate with it + + + + + Cluster possible values of a categorical variable into K less than or equals maxCategories clusters to find a suboptimal split + + + + + The maximum possible depth of the tree + + + + + If the number of samples in a node is less than this parameter then the node will not be split + + + + + If CVFolds greater than 1 then algorithms prunes the built decision tree using K-fold + + + + + If true then surrogate splits will be built + + + + + If true then a pruning will be harsher + + + + + If true then pruned branches are physically removed from the tree + + + + + Termination criteria for regression trees + + + + + Decision Trees + + + + + Predict options + + + + + Predict auto + + + + + Predict sum + + + + + Predict max vote + + + + + Predict mask + + + + + Create a default decision tree + + + + + Release the decision tree and all the memory associate with it + + + + + Cluster possible values of a categorical variable into K less than or equals maxCategories clusters to find a suboptimal split + + + + + The maximum possible depth of the tree + + + + + If the number of samples in a node is less than this parameter then the node will not be split + + + + + If CVFolds greater than 1 then algorithms prunes the built decision tree using K-fold + + + + + If true then surrogate splits will be built + + + + + If true then a pruning will be harsher + + + + + If true then pruned branches are physically removed from the tree + + + + + Termination criteria for regression trees + + + + + Expectation Maximization model + + + + + The type of the mixture covariation matrices + + + + + A covariation matrix of each mixture is a scaled identity matrix, ?k*I, so the only parameter to be estimated is ?k. The option may be used in special cases, when the constraint is relevant, or as a first step in the optimization (e.g. in case when the data is preprocessed with PCA). The results of such preliminary estimation may be passed again to the optimization procedure, this time with cov_mat_type=COV_MAT_DIAGONAL + + + + + A covariation matrix of each mixture may be arbitrary diagonal matrix with positive diagonal elements, that is, non-diagonal elements are forced to be 0's, so the number of free parameters is d for each matrix. This is most commonly used option yielding good estimation results + + + + + A covariation matrix of each mixture may be arbitrary symmetrical positively defined matrix, so the number of free parameters in each matrix is about d2/2. It is not recommended to use this option, unless there is pretty accurate initial estimation of the parameters and/or a huge number of training samples + + + + + The default + + + + + Create an Expectation Maximization model + + + + + Estimate the Gaussian mixture parameters from a samples set. This variation starts with Expectation step. You need to provide initial means of mixture components. Optionally you can pass initial weights and covariance matrices of mixture components. + + Samples from which the Gaussian mixture model will be estimated. It should be a one-channel matrix, each row of which is a sample. If the matrix does not have CV_64F type it will be converted to the inner matrix of such type for the further computing. + Initial means of mixture components. It is a one-channel matrix of nclusters x dims size. If the matrix does not have CV_64F type it will be converted to the inner matrix of such type for the further computing. + The vector of initial covariance matrices of mixture components. Each of covariance matrices is a one-channel matrix of dims x dims size. If the matrices do not have CV_64F type they will be converted to the inner matrices of such type for the further computing. + Initial weights of mixture components. It should be a one-channel floating-point matrix with 1 x nclusters or nclusters x 1 size. + The optional output matrix that contains a likelihood logarithm value for each sample. It has nsamples x 1 size and CV_64FC1 type. + The optional output "class label" (indices of the most probable mixture component for each sample). It has nsamples x 1 size and CV_32SC1 type. + The optional output matrix that contains posterior probabilities of each Gaussian mixture component given the each sample. It has nsamples x nclusters size and CV_64FC1 type. + + + + Estimate the Gaussian mixture parameters from a samples set. + This variation starts with Expectation step. Initial values of the model parameters will be estimated by the k-means algorithm. + Unlike many of the ML models, EM is an unsupervised learning algorithm and it does not take responses (class labels or function values) as input. Instead, it computes the Maximum Likelihood Estimate of the Gaussian mixture parameters from an input sample set, stores all the parameters inside the structure, and optionally computes the output "class label" for each sample. + The trained model can be used further for prediction, just like any other classifier. + + Samples from which the Gaussian mixture model will be estimated. It should be a one-channel matrix, each row of which is a sample. If the matrix does not have CV_64F type it will be converted to the inner matrix of such type for the further computing. + The probs0. + The optional output matrix that contains a likelihood logarithm value for each sample. It has nsamples x 1 size and CV_64FC1 type. + The optional output "class label" for each sample(indices of the most probable mixture component for each sample). It has nsamples x 1 size and CV_32SC1 type. + The optional output matrix that contains posterior probabilities of each Gaussian mixture component given the each sample. It has nsamples x nclusters size and CV_64FC1 type. + + + + Predict the probability of the + + The input samples + The prediction results, should have the same # of rows as the + The results + + + + Release the memory associated with this EM model + + + + + The number of mixtures + + + + + The type of the mixture covariation matrices + + + + + Termination criteria of the procedure. EM algorithm stops either after a certain number of iterations (term_crit.num_iter), or when the parameters change too little (no more than term_crit.epsilon) from iteration to iteration + + + + + The KNearest classifier + + + + + The type of KNearest search + + + + + Using brute force + + + + + Using kd tree + + + + + Create a default KNearest classifier + + + + + Release the classifier and all the memory associated with it + + + + + Finds the neighbors and predicts responses for input vectors. + + Input samples stored by rows. It is a single-precision floating-point matrix of <number_of_samples> * k size. + Number of used nearest neighbors. Should be greater than 1. + Vector with results of prediction (regression or classification) for each input sample. It is a single-precision floating-point vector with <number_of_samples> elements. + Optional output values for corresponding neighbors. It is a single- precision floating-point matrix of <number_of_samples> * k size. + Optional output distances from the input vectors to the corresponding neighbors. It is a single-precision floating-point matrix of <number_of_samples> * k size. + If only a single input vector is passed, the predicted value is returned by the method. + + + + Default number of neighbors to use in predict method + + + + + Whether classification or regression model should be trained + + + + + Parameter for KDTree implementation + + + + + Algorithm type + + + + + ML implements logistic regression, which is a probabilistic classification technique. + + + + + Specifies the kind of training method used. + + + + + Batch method + + + + + Set MiniBatchSize to a positive integer when using this method. + + + + + Specifies the kind of regularization to be applied. + + + + + Regularization disabled. + + + + + L1 norm + + + + + L2 norm + + + + + Initializes a new instance of the class. + + + + + Return the pointer to the StatModel object + + + + + Return the pointer to the algorithm object + + + + + Release the unmanaged resources + + + + + Learning rate + + + + + Number of iterations + + + + + Kind of regularization to be applied + + + + + Kind of training method to be applied + + + + + Specifies the number of training samples taken in each step of Mini-Batch Gradient Descent + + + + + Termination criteria of the algorithm + + + + + A Normal Bayes Classifier + + + + + Create a normal Bayes classifier + + + + + Release the memory associated with this classifier + + + + + Random trees + + + + + Create a random tree + + + + + Returns the result of each individual tree in the forest. + In case the model is a regression problem, the method will return each of the trees' + results for each of the sample cases.If the model is a classifier, it will return + a Mat with samples + 1 rows, where the first row gives the class number and the + following rows return the votes each class had for each sample. + + Array containing the samples for which votes will be calculated. + Array where the result of the calculation will be written. + Flags for defining the type of RTrees. + + + + Release the random tree and all memory associate with it + + + + + Cluster possible values of a categorical variable into K less than or equals maxCategories clusters to find a suboptimal split + + + + + The maximum possible depth of the tree + + + + + If the number of samples in a node is less than this parameter then the node will not be split + + + + + If CVFolds greater than 1 then algorithms prunes the built decision tree using K-fold + + + + + If true then surrogate splits will be built + + + + + If true then a pruning will be harsher + + + + + If true then pruned branches are physically removed from the tree + + + + + Termination criteria for regression trees + + + + + If true then variable importance will be calculated + + + + + The size of the randomly selected subset of features at each tree node and that are used to find the best split(s) + + + + + The termination criteria that specifies when the training algorithm stops + + + + + Interface for statistical models in OpenCV ML. + + + + + Return the pointer to the StatModel object + + The pointer to the StatModel object + + + + A statistic model + + + + + Trains the statistical model. + + The stat model. + The training samples. + Type of the layout. + Vector of responses associated with the training samples. + True if the training is successful. + + + + Trains the statistical model. + + The model. + The train data. + The flags. + True if the training is successful. + + + + Predicts response(s) for the provided sample(s) + + The model. + The input samples, floating-point matrix. + The optional output matrix of results. + The optional flags, model-dependent. + Response for the provided sample + + + + Wrapped CvParamGrid structure used by SVM + + + + + Minimum value + + + + + Maximum value + + + + + step + + + + + Support Vector Machine + + + + + Type of SVM + + + + + n-class classification (n>=2), allows imperfect separation of classes with penalty multiplier C for outliers + + + + + n-class classification with possible imperfect separation. Parameter nu (in the range 0..1, the larger the value, the smoother the decision boundary) is used instead of C + + + + + one-class SVM. All the training data are from the same class, SVM builds a boundary that separates the class from the rest of the feature space + + + + + Regression. The distance between feature vectors from the training set and the fitting hyper-plane must be less than p. For outliers the penalty multiplier C is used + + + + + Regression; nu is used instead of p. + + + + + SVM kernel type + + + + + Custom svm kernel type + + + + + No mapping is done, linear discrimination (or regression) is done in the original feature space. It is the fastest option. d(x,y) = x y == (x,y) + + + + + polynomial kernel: d(x,y) = (gamma*(xy)+coef0)^degree + + + + + Radial-basis-function kernel; a good choice in most cases: d(x,y) = exp(-gamma*|x-y|^2) + + + + + sigmoid function is used as a kernel: d(x,y) = tanh(gamma*(xy)+coef0) + + + + + Exponential Chi2 kernel, similar to the RBF kernel + + + + + Histogram intersection kernel. A fast kernel. K(xi,xj)=min(xi,xj). + + + + + The type of SVM parameters + + + + + C + + + + + Gamma + + + + + P + + + + + NU + + + + + COEF + + + + + DEGREE + + + + + Create a support Vector Machine + + + + + Release all the memory associated with the SVM + + + + + Get the default parameter grid for the specific SVM type + + The SVM type + The default parameter grid for the specific SVM type + + + + The method trains the SVM model automatically by choosing the optimal parameters C, gamma, p, nu, coef0, degree from CvSVMParams. By the optimality one mean that the cross-validation estimate of the test set error is minimal. + + The training data. + Cross-validation parameter. The training set is divided into k_fold subsets, one subset being used to train the model, the others forming the test set. So, the SVM algorithm is executed k_fold times + True if training is successful. + + + + The method trains the SVM model automatically by choosing the optimal parameters C, gamma, p, nu, coef0, degree from CvSVMParams. By the optimality one mean that the cross-validation estimate of the test set error is minimal. + + The training data. + Cross-validation parameter. The training set is divided into k_fold subsets, one subset being used to train the model, the others forming the test set. So, the SVM algorithm is executed k_fold times + cGrid + grid for gamma + grid for p + grid for nu + grid for coeff + grid for degree + If true and the problem is 2-class classification then the method creates more balanced cross-validation subsets that is proportions between classes in subsets are close to such proportion in the whole train dataset. + True if training is successful. + + + + Retrieves all the support vectors. + + All the support vector as floating-point matrix, where support vectors are stored as matrix rows. + + + + Type of a SVM formulation + + + + + Parameter gamma of a kernel function + + + + + Parameter coef0 of a kernel function + + + + + Parameter degree of a kernel function + + + + + Parameter C of a SVM optimization problem + + + + + Parameter nu of a SVM optimization problem + + + + + Parameter epsilon of a SVM optimization problem + + + + + Initialize with one of predefined kernels + + The value + + + + Termination criteria of the iterative SVM training procedure which solves a partial case of constrained quadratic optimization problem + + + + + Type of a SVM kernel + + + + + Support Vector Machine + + + + + SVMSGD type. + ASGD is often the preferable choice. + + + + + Stochastic Gradient Descent + + + + + Average Stochastic Gradient Descent + + + + + Margin type + + + + + General case, suits to the case of non-linearly separable sets, allows outliers. + + + + + More accurate for the case of linearly separable sets. + + + + + Create a support Vector Machine + + + + + Set the optimal parameters for the given model type + + SVMSGD type + Margin type + + + + Release all the memory associated with the SVMSGD model + + + + + Algorithm type + + + + + Margin type + + + + + marginRegularization of a SVMSGD optimization problem + + + + + initialStepSize of a SVMSGD optimization problem + + + + + stepDecreasingPower of a SVMSGD optimization problem + + + + + Termination criteria of the training algorithm. + + + + + Train data + + + + + Creates training data from in-memory arrays. + + Matrix of samples. It should have CV_32F type. + Type of the layout. + Matrix of responses. If the responses are scalar, they should be stored as a single row or as a single column. The matrix should have type CV_32F or CV_32S (in the former case the responses are considered as ordered by default; in the latter case - as categorical) + Vector specifying which variables to use for training. It can be an integer vector (CV_32S) containing 0-based variable indices or byte vector (CV_8U) containing a mask of active variables. + Vector specifying which samples to use for training. It can be an integer vector (CV_32S) containing 0-based sample indices or byte vector (CV_8U) containing a mask of training samples. + Optional vector with weights for each sample. It should have CV_32F type. + Optional vector of type CV_8U and size <number_of_variables_in_samples> + <number_of_variables_in_responses>, containing types of each input and output variable. + + + + Release the unmanaged resources + + + + + Dnn backend. + + + + + Default equals to InferenceEngine if + OpenCV is built with Intel's Inference Engine library or + Opencv otherwise. + + + + + Halide backend + + + + + Intel's Inference Engine library + + + + + OpenCV's implementation + + + + + DNN Backend and Target pair + + + + + Dnn Backend and Target pair + + The backend + The target + + + + The backend + + + + + The target + + + + + Entry points to the Open CV Dnn module + + + + + Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels. + + Input image (with 1- or 3-channels). + Multiplier for image values. + Spatial size for output image + Scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true. + Flag which indicates that swap first and last channels in 3-channel image is necessary. + Flag which indicates whether image will be cropped after resize or not + Depth of output blob. Choose CV_32F or CV_8U. + 4-dimensional Mat with NCHW dimensions order. + + + + Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels. + + Input image (with 1- or 3-channels). + 4-dimensional output array with NCHW dimensions order. + Multiplier for image values. + Spatial size for output image + Scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true. + Flag which indicates that swap first and last channels in 3-channel image is necessary. + Flag which indicates whether image will be cropped after resize or not + Depth of output blob. Choose CV_32F or CV_8U. + + + + Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels. + + Input images (all with 1- or 3-channels). + Multiplier for images values. + Spatial size for output image + Scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true. + Flag which indicates that swap first and last channels in 3-channel image is necessary. + Flag which indicates whether image will be cropped after resize or not + Depth of output blob. Choose CV_32F or CV_8U. + Input image is resized so one side after resize is equal to corresponding dimension in size and another one is equal or larger. Then, crop from the center is performed. + + + + Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scale factor, swap Blue and Red channels. + + input images (all with 1-, 3- or 4-channels). + 4-dimensional OutputArray with NCHW dimensions order. + multiplier for images values. + spatial size for output image + scalar with mean values which are subtracted from channels. Values are intended to be in (mean-R, mean-G, mean-B) order if image has BGR ordering and swapRB is true. + flag which indicates that swap first and last channels in 3-channel image is necessary. + flag which indicates whether image will be cropped after resize or not + Depth of output blob. Choose CV_32F or CV_8U. + + + + Parse a 4D blob and output the images it contains as 2D arrays through a simpler data structure (std::vector<cv::Mat>). + + 4 dimensional array (images, channels, height, width) in floating point precision (CV_32F) from which you would like to extract the images. + Array of 2D Mat containing the images extracted from the blob in floating point precision (CV_32F). They are non normalized neither mean added. The number of returned images equals the first dimension of the blob (batch size). Every image has a number of channels equals to the second dimension of the blob (depth). + + + + Reads a network model stored in Darknet model files. + + path to the .cfg file with text description of the network architecture. + path to the .weights file with learned network. + Network object that ready to do forward, throw an exception in failure cases. + + + + Reads a network model stored in Darknet model files. + + Buffer containing the content of the .cfg file with text description of the network architecture. + Buffer containing the content of the the .weights file with learned network. + Net object. + + + + Reads a network model stored in Caffe framework's format. + + Buffer containing the content of the .prototxt file + Buffer containing the content of the .caffemodel file + Net object. + + + + Reads a network model stored in Caffe framework's format. + + path to the .prototxt file with text description of the network architecture. + path to the .caffemodel file with learned network. + Net object. + + + + Reads a network model stored in TensorFlow framework's format. + + path to the .pb file with binary protobuf description of the network architecture + path to the .pbtxt file that contains text graph definition in protobuf format. Resulting Net object is built by text graph using weights from a binary one that let us make it more flexible. + Net object. + + + + Reads a network model stored in TensorFlow framework's format. + + buffer containing the content of the pb file + buffer containing the content of the pbtxt file + Net object. + + + + Reads a network model ONNX. + + Path to the .onnx file with text description of the network architecture. + Network object that ready to do forward, throw an exception in failure cases. + + + + Creates blob from .pb file. + + Path to the .pb file with input tensor. + The blob + + + + Read deep learning network represented in one of the supported formats. + + + Binary file contains trained weights. The following file extensions are expected for models from different frameworks: + *.caffemodel(Caffe, http://caffe.berkeleyvision.org/) + *.pb (TensorFlow, https://www.tensorflow.org/) + *.t7 | *.net (Torch, http://torch.ch/) + *.weights (Darknet, https://pjreddie.com/darknet/) + *.bin (DLDT, https://software.intel.com/openvino-toolkit) + + Text file contains network configuration. It could be a file with the following extensions: + *.prototxt(Caffe, http://caffe.berkeleyvision.org/) + *.pbtxt (TensorFlow, https://www.tensorflow.org/) + *.cfg (Darknet, https://pjreddie.com/darknet/) + *.xml (DLDT, https://software.intel.com/openvino-toolkit) + + Explicit framework name tag to determine a format. + Net object. + + + + Load a network from Intel's Model Optimizer intermediate representation. + + XML configuration file with network's topology. + Binary file with trained weights. + Net object. Networks imported from Intel's Model Optimizer are launched in Intel's Inference Engine backend. + + + + Convert all weights of Caffe network to half precision floating point + + Path to origin model from Caffe framework contains single precision floating point weights (usually has .caffemodel extension). + Path to destination model with updated weights. + + + + Create a text representation for a binary network stored in protocol buffer format. + + A path to binary network. + A path to output text file to be created. + + + + Performs non maximum suppression given boxes and corresponding scores. + + A set of bounding boxes to apply NMS. + A set of corresponding confidences. + A threshold used to filter boxes by score. + A threshold used in non maximum suppression. + The kept indices of bboxes after NMS. + A coefficient in adaptive threshold + If >0, keep at most top_k picked indices. + + + + Get the list of available DNN Backends + + The available backend and target pair + + + + This interface class allows to build new Layers - are building blocks of networks. + + + + + List of learned parameters must be stored here to allow read them by using Net::getParam(). + + + + + Release the unmanaged memory associated with this Layer. + + + + + The name of the layer + + + + + The layer type + + + + + The preferable target + + + + + This class allows to create and manipulate comprehensive artificial neural networks. + + + + + Default constructor. + + + + + Sets the new value for the layer output blob. + + Descriptor of the updating layer output blob. + Input blob + An optional normalization scale. + An optional mean subtraction values. + + + + Runs forward pass for the whole network. + + name for layer which output is needed to get + blob for first output of specified layer + + + + Runs forward pass to compute output of layer with name outputName. + + Contains all output blobs for specified layer. + Name for layer which output is needed to get + + + + Runs forward pass to compute outputs of layers listed in outBlobNames. + + Contains blobs for first outputs of specified layers. + Names for layers which outputs are needed to get + + + + Release the memory associated with this network. + + + + + Return the LayerNames + + + + + Converts string name of the layer to the integer identifier. + + The name of the layer + The id of the layer + + + + Returns layer with specified name which the network use. + + The name of the layer + Layer with specified name which the network use. + + + + Returns layer with specified id which the network use. + + The id of the layer + Layer with specified id which the network use. + + + + Returns indexes of layers with unconnected outputs. + + + + + Returns names of layers with unconnected outputs. + + + + + Dump net to String + + + String with structure, hyperparameters, backend, target and fusion + Call method after setInput(). + To see correct backend, target and fusion run after forward(). + + + + + Dump net structure, hyperparameters, backend, target and fusion to dot file + + Path to output file with .dot extension + + + + Returns overall time for inference and timings (in ticks) for layers. Indexes in returned vector correspond to layers ids. Some layers can be fused with others, in this case zero ticks count will be return for that skipped layers. + + Vector for tick timings for all layers. + Overall ticks for model inference. + + + + Ask network to use specific computation backend where it supported. + + The value + + + + Ask network to make computations on specific target device. + + The value + + + + Enables or disables layer fusion in the network. + + The value + + + + Returns true if there are no layers in the network. + + + + + Schedule layers that support Halide backend. Then compile them for specific target. For layers that not represented in scheduling file or if no manual scheduling used at all, automatic scheduling will be applied. + + The value + + + + Target devices for computations. + + + + + CPU + + + + + OpenCL + + + + + Will fall back to OPENCL if the hardware does not support FP16 + + + + + Myraid + + + + + The Cascade Classifier + + + + + Create a cascade classifier + + + + Create a CascadeClassifier from the specific file + The name of the file that contains the CascadeClassifier + + + + Load the cascade classifier from a file node + + The file node, The file may contain a new cascade classifier only. + True if the classifier can be imported. + + + + Finds rectangular regions in the given image that are likely to contain objects the cascade has been trained for and returns those regions as a sequence of rectangles. + The function scans the image several times at different scales. Each time it considers overlapping regions in the image. + It may also apply some heuristics to reduce number of analyzed regions, such as Canny prunning. + After it has proceeded and collected the candidate rectangles (regions that passed the classifier cascade), it groups them and returns a sequence of average rectangles for each large enough group. + + The image where the objects are to be detected from + The factor by which the search window is scaled between the subsequent scans, for example, 1.1 means increasing window by 10% + Minimum number (minus 1) of neighbor rectangles that makes up an object. All the groups of a smaller number of rectangles than min_neighbors-1 are rejected. If min_neighbors is 0, the function does not any grouping at all and returns all the detected candidate rectangles, which may be useful if the user wants to apply a customized grouping procedure. Use 3 for default. + Minimum window size. Use Size.Empty for default, where it is set to the size of samples the classifier has been trained on (~20x20 for face detection) + Maximum window size. Use Size.Empty for default, where the parameter will be ignored. + The objects detected, one array per channel + + + + Get if the cascade is old format + + + + + Get the original window size + + + + + Release the CascadeClassifier Object and all the memory associate with it + + + + + A HOG descriptor + + + + + Create a new HOGDescriptor + + + + + Create a new HOGDescriptor using the specific parameters. + + Block size in cells. Use (16, 16) for default. + Cell size. Use (8, 8) for default. + Block stride. Must be a multiple of cell size. Use (8,8) for default. + Do gamma correction preprocessing or not. + L2-Hys normalization method shrinkage. + Number of bins. + Gaussian smoothing window parameter. + Detection window size. Must be aligned to block size and block stride. Must match the size of the training image. Use (64, 128) for default. + Deriv Aperture + + + + Return the default people detector + + The default people detector + + + + Set the SVM detector + + The SVM detector + + + + Performs object detection with increasing detection window. + + The image to search in + Threshold for the distance between features and SVM classifying plane. Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient). But if the free coefficient is omitted (which is allowed), you can specify it manually here. + Window stride. Must be a multiple of block stride. + Padding + Coefficient of the detection window increase. + After detection some objects could be covered by many rectangles. This coefficient regulates similarity threshold. 0 means don't perform grouping. Should be an integer if not using meanshift grouping. + If true, it will use meanshift grouping. + The regions where positives are found + + + + Computes HOG descriptors of given image. + + The image + Window stride. Must be a multiple of block stride. Use Size.Empty for default + Padding. Use Size.Empty for default + Locations for the computation. Can be null if not needed + The descriptor vector + + + + Release the unmanaged memory associated with this HOGDescriptor + + + + + Get the size of the descriptor + + + + + A QR code detector + + + + + Create a new QR code detector + + + + + Release the unmanaged memory associated with this HOGDescriptor + + + + + Detector the location of the QR code + + The input image + The location of the QR code in the image + True if a QRCode is found. + + + + Decodes QR code in image once it's found by the detect() method. + + grayscale or color (BGR) image containing QR code. + Quadrangle vertices found by detect() method (or some other algorithm). + The optional output image containing rectified and binarized QR code + UTF8-encoded output string or empty string if the code cannot be decoded. + + + + EpsX + + The value + + + + EpsY + + The value + + + + A convolution kernel + + + + + The center of the convolution kernel + + + + + Create a convolution kernel with the specific number of and + + The number of raws for the convolution kernel + The number of columns for the convolution kernel + + + + Create a convolution kernel using the specific matrix and center + + The values for the convolution kernel + The center of the kernel + + + + Create a convolution kernel using the specific floating point matrix + + The values for the convolution kernel + + + + Create a convolution kernel using the specific floating point matrix and center + + The values for the convolution kernel + The center for the convolution kernel + + + Get a flipped copy of the convolution kernel + The type of the flipping + The flipped copy of this image + + + + The center of the convolution kernel + + + + + Obtain the transpose of the convolution kernel + + A transposed convolution kernel + + + + The class is used to iterate over all the pixels on the raster line segment connecting two specified points. + + + + + Create a LineIterator that can be used to get each pixel of a raster line. The line will be clipped on the image boundaries + + The image + The first point + The second point + 8-connected or 4-connected + If true, then the iteration is always done from the left-most point to the right most, not to depend on the ordering of pt1 and pt2 parameters + + + + Native pointer to the pixel data at the current position + + + + + Get or set the pixel data in the current position + + + + + returns the current position in the image + + + + + Move to the next point + + + + + Release unmanaged resources + + + + + Copy the pixel data in the line to a new Mat that is of the same type. + + The image to sample from + The first point + The second point + 8-connected or 4-connected + If true, then the iteration is always done from the left-most point to the right most, not to depend on the ordering of pt1 and pt2 parameters + A new single column Mat of the same data type. The number of rows equals to the number of points on the sample line. + + + + The total number of pixels in the line + + + + + Planar Subdivision, can be use to compute Delaunnay's triangulation or Voroni diagram. + + + + + Start the Delaunay's triangulation in the specific region of interest. + + The region of interest of the triangulation + + + + Create a planar subdivision from the given points. The ROI is computed as the minimum bounding Rectangle for the input points + + If true, any exception during insert will be ignored + The points to be inserted to this planar subdivision + + + + Insert a collection of points to this planar subdivision + + The points to be inserted to this planar subdivision + If true, any exception during insert will be ignored + + + + Insert a point to the triangulation. + + The point to be inserted + + + + Locates input point within subdivision + + The point to locate + The output edge the point falls onto or right to + Optional output vertex double pointer the input point coincides with + The type of location for the point + + + + Finds subdivision vertex that is the closest to the input point. It is not necessarily one of vertices of the facet containing the input point, though the facet (located using cvSubdiv2DLocate) is used as a starting point. + + Input point + The nearest subdivision vertex + The location type of the point + + + + Obtains the list of Voronoi Facets + + Vector of vertices IDs to consider. For all vertices you can pass empty vector. + The list of Voronoi Facets + + + + Returns the triangles subdivision of the current planar subdivision. + + If true, will include the virtual points in the resulting triangles + The triangles might contains virtual points that do not belongs to the inserted points, if you do not want those points, set to false + The triangles subdivision in the current planar subdivision + + + + Release unmanaged resources + + + + + A Voronoi Facet + + + + + Create a Voronoi facet using the specific and + + The point this facet associate with + The points that defines the contour of this facet + + + + The point this facet associates to + + + + + Get or set the vertices of this facet + + + + + The stereo matcher interface + + + + + Pointer to the stereo matcher + + + + + Class for computing stereo correspondence using the block matching algorithm, introduced and contributed to OpenCV by K. Konolige. + + + + + Create a stereoBM object + + the linear size of the blocks compared by the algorithm. The size should be odd (as the block is centered at the current pixel). Larger block size implies smoother, though less accurate disparity map. Smaller block size gives more detailed disparity map, but there is higher chance for algorithm to find a wrong correspondence. + the disparity search range. For each pixel algorithm will find the best disparity from 0 (default minimum disparity) to . The search range can then be shifted by changing the minimum disparity. + + + + Release the stereo state and all the memory associate with it + + + + + Pointer to the stereo matcher + + + + + This is a variation of + "Stereo Processing by Semiglobal Matching and Mutual Information" + by Heiko Hirschmuller. + We match blocks rather than individual pixels, thus the algorithm is called + SGBM (Semi-global block matching) + + + + + The SGBM mode + + + + + This is the default mode, the algorithm is single-pass, which means that you consider only 5 directions instead of 8 + + + + + Run the full-scale two-pass dynamic programming algorithm. It will consume O(W*H*numDisparities) bytes, which is large for 640x480 stereo and huge for HD-size pictures. + + + + + Create a stereo disparity solver using StereoSGBM algorithm (combination of H. Hirschmuller + K. Konolige approaches) + + Minimum possible disparity value. Normally, it is zero but sometimes rectification algorithms can shift images, so this parameter needs to be adjusted accordingly. + Maximum disparity minus minimum disparity. The value is always greater than zero. In the current implementation, this parameter must be divisible by 16. + Matched block size. It must be an odd number >=1 . Normally, it should be somewhere in the 3..11 range. Use 0 for default. + The first parameter controlling the disparity smoothness. It is the penalty on the disparity change by plus or minus 1 between neighbor pixels. Reasonably good value is 8*number_of_image_channels*SADWindowSize*SADWindowSize. Use 0 for default + The second parameter controlling the disparity smoothness. It is the penalty on the disparity change by more than 1 between neighbor pixels. The algorithm requires > . Reasonably good value is 32*number_of_image_channels*SADWindowSize*SADWindowSize. Use 0 for default + Maximum allowed difference (in integer pixel units) in the left-right disparity check. Set it to a non-positive value to disable the check. + Truncation value for the prefiltered image pixels. The algorithm first computes x-derivative at each pixel and clips its value by [-preFilterCap, preFilterCap] interval. The result values are passed to the Birchfield-Tomasi pixel cost function. + Margin in percentage by which the best (minimum) computed cost function value should “win” the second best value to consider the found match correct. Normally, a value within the 5-15 range is good enough. + Maximum size of smooth disparity regions to consider their noise speckles and invalidate. Set it to 0 to disable speckle filtering. Otherwise, set it somewhere in the 50-200 range + Maximum disparity variation within each connected component. If you do speckle filtering, set the parameter to a positive value, it will be implicitly multiplied by 16. Normally, 1 or 2 is good enough. + Set it to HH to run the full-scale two-pass dynamic programming algorithm. It will consume O(W*H*numDisparities) bytes, which is large for 640x480 stereo and huge for HD-size pictures. By default, it is set to false. + + + + Release the unmanaged memory associated with this stereo solver + + + + + Pointer to the StereoMatcher + + + + + An interface for the convex polygon + + + + + Get the vertices of this convex polygon + + The vertices of this convex polygon + + + + An interface for the convex polygon + + + + + Get the vertices of this convex polygon + + The vertices of this convex polygon + + + + A unit quaternions that defines rotation in 3D + + + + + Create a quaternion with the specific values + + The W component of the quaternion: the value for cos(rotation angle / 2) + The X component of the vector: rotation axis * sin(rotation angle / 2) + The Y component of the vector: rotation axis * sin(rotation angle / 2) + The Z component of the vector: rotation axis * sin(rotation angle / 2) + + + + The W component of the quaternion: the value for cos(rotation angle / 2) + + + + + The X component of the vector: rotation axis * sin(rotation angle / 2) + + + + + The Y component of the vector: rotation axis * sin(rotation angle / 2) + + + + + The Z component of the vector: rotation axis * sin(rotation angle / 2) + + + + + Set the value of the quaternions using euler angle + + Rotation around x-axis (roll) in radian + Rotation around y-axis (pitch) in radian + rotation around z-axis (yaw) in radian + + + + Get the equivalent euler angle + + Rotation around x-axis (roll) in radian + Rotation around y-axis (pitch) in radian + rotation around z-axis (yaw) in radian + + + + Get or set the equivalent axis angle representation. (x,y,z) is the rotation axis and |(x,y,z)| is the rotation angle in radians + + + + + Fill the (3x3) rotation matrix with the value such that it represent the quaternions + + The (3x3) rotation matrix which values will be set to represent this quaternions + + + + Rotate the points in and save the result in . In-place operation is supported ( == ). + + The points to be rotated + The result of the rotation, should be the same size as , can be as well for inplace rotation + + + + Rotate the specific point and return the result + + The point to be rotated + The rotated point + + + + Get the rotation axis of the quaternion + + + + + Get the rotation angle in radian + + + + + Multiply the current Quaternions with + + The other rotation + A composition of the two rotations + + + + Perform quaternions linear interpolation + + The other quaternions to interpolate with + If 0.0, the result is the same as this quaternions. If 1.0 the result is the same as + The linear interpolated quaternions + + + + Computes the multiplication of two quaternions + + The quaternions to be multiplied + The quaternions to be multiplied + The multiplication of two quaternions + + + + Get the quaternions that represent a rotation of 0 degrees. + + + + + Compute the conjugate of the quaternions + + + + + Check if this quaternions equals to + + The quaternions to be compared + True if two quaternions equals, false otherwise + + + + Get the string representation of the Quaternions + + The string representation + + + + A (2x3) 2D rotation matrix. This Matrix defines an Affine Transform + + + + + Create an empty (2x3) 2D rotation matrix + + + + + Create a (2x3) 2D rotation matrix + + Center of the rotation in the source image + The rotation angle in degrees. Positive values mean couter-clockwise rotation (the coordiate origin is assumed at top-left corner). + Isotropic scale factor. + + + + Set the values of the rotation matrix + + Center of the rotation in the source image + The rotation angle in degrees. Positive values mean couter-clockwise rotation (the coordiate origin is assumed at top-left corner). + Isotropic scale factor. + + + + Rotate the , the value of the input will be changed. + + The points to be rotated, its value will be modified + + + + Rotate the , the value of the input will be changed. + + The points to be rotated, its value will be modified + + + + Rotate the , the value of the input will be changed. + + The line segments to be rotated + + + + Rotate the single channel Nx2 matrix where N is the number of 2D points. The value of the matrix is changed after rotation. + + The depth of the points, must be double or float + The N 2D-points to be rotated + + + + Return a clone of the Matrix + + A clone of the Matrix + + + + Create a rotation matrix for rotating an image + + The rotation angle in degrees. Positive values mean couter-clockwise rotation (the coordiate origin is assumed at image centre). + The rotation center + The source image size + The minimun size of the destination image + The rotation matrix that rotate the source image to the destination image. + + + + A (3x1) Rodrigues rotation vector. Rotation vector is a compact representation of rotation matrix. Direction of the rotation vector is the rotation axis and the length of the vector is the rotation angle around the axis. + + + + + Constructor used to deserialize 3D rotation vector + + The serialization info + The streaming context + + + + Create a 3D rotation vector (3x1 Matrix). + + + + + Create a rotation vector using the specific values + + The values of the (3 x 1) Rodrigues rotation vector + + + + Get or Set the (3x3) rotation matrix represented by this rotation vector. + + + + + Access type + + + + + Read + + + + + Write + + + + + Read and write + + + + + Mask + + + + + Fast + + + + + Types of Adaptive Threshold + + + + + Indicates that Mean minus C should be used for adaptive threshold. + + + + + Indicates that Gaussian minus C should be used for adaptive threshold. + + + + + Specific if it is back or front + + + + + Back + + + + + Front + + + + + The type for CopyMakeBorder function + + + + + Used by some cuda methods, will pass the value -1 to the function + + + + + Border is filled with the fixed value, passed as last parameter of the function + + + + + The pixels from the top and bottom rows, the left-most and right-most columns are replicated to fill the border + + + + + Reflect + + + + + Wrap + + + + + Reflect 101 + + + + + Transparent + + + + + The default border interpolation type. + + + + + Do not look outside of ROI + + + + + Type of chessboard calibration + + + + + Default type + + + + + Use adaptive thresholding to convert the image to black-n-white, rather than a fixed threshold level (computed from the average image brightness) + + + + + Normalize the image using cvNormalizeHist before applying fixed or adaptive thresholding. + + + + + Use additional criteria (like contour area, perimeter, square-like shape) to filter out false quads that are extracted at the contour retrieval stage + + + + + If it is on, then this check is performed before the main algorithm and if a chessboard is not found, the function returns 0 instead of wasting 0.3-1s on doing the full search. + + + + + Run an exhaustive search to improve detection rate. + + + + + Up sample input image to improve sub-pixel accuracy due to aliasing effects. This should be used if an accurate camera calibration is required. + + + + + Type of circles grid calibration + + + + + Symmetric grid + + + + + Asymmetric grid + + + + + Clustering + + + + + Various camera calibration flags + + + + + The default value + + + + + intrinsic_matrix contains valid initial values of fx, fy, cx, cy that are optimized further. Otherwise, (cx, cy) is initially set to the image center (image_size is used here), and focal distances are computed in some least-squares fashion + + + + + The optimization procedure consider only one of fx and fy as independent variable and keeps the aspect ratio fx/fy the same as it was set initially in intrinsic_matrix. In this case the actual initial values of (fx, fy) are either taken from the matrix (when CV_CALIB_USE_INTRINSIC_GUESS is set) or estimated somehow (in the latter case fx, fy may be set to arbitrary values, only their ratio is used) + + + + + The principal point is not changed during the global optimization, it stays at the center and at the other location specified (when CV_CALIB_FIX_FOCAL_LENGTH - Both fx and fy are fixed. + CV_CALIB_USE_INTRINSIC_GUESS is set as well) + + + + + Tangential distortion coefficients are set to zeros and do not change during the optimization + + + + + The focal length is fixed + + + + + The 1st distortion coefficient (k1) is fixed to 0 or to the initial passed value if CV_CALIB_USE_INTRINSIC_GUESS is passed + + + + + The 2nd distortion coefficient (k2) is fixed to 0 or to the initial passed value if CV_CALIB_USE_INTRINSIC_GUESS is passed + + + + + The 3rd distortion coefficient (k3) is fixed to 0 or to the initial passed value if CV_CALIB_USE_INTRINSIC_GUESS is passed + + + + + The 4th distortion coefficient (k4) is fixed (see above) + + + + + The 5th distortion coefficient (k5) is fixed to 0 or to the initial passed value if CV_CALIB_USE_INTRINSIC_GUESS is passed + + + + + The 6th distortion coefficient (k6) is fixed to 0 or to the initial passed value if CV_CALIB_USE_INTRINSIC_GUESS is passed + + + + + Rational model + + + + + Thin prism model + + + + + Fix S1, S2, S3, S4 + + + + + Tilted model + + + + + Fix Taux Tauy + + + + + Use QR instead of SVD decomposition for solving. Faster but potentially less precise + + + + + Only for stereo: Fix intrinsic + + + + + Only for stereo: Same focal length + + + + + For stereo rectification: Zero disparity + + + + + For stereo rectification: use LU instead of SVD decomposition for solving. much faster but potentially less precise + + + + + CV Capture property identifier + + + + + Turn the feature off (not controlled manually nor automatically) + + + + + Set automatically when a value of the feature is set by the user + + + + + DC1394 mode auto + + + + + DC1394 mode one push auto + + + + + Film current position in milliseconds or video capture timestamp + + + + + 0-based index of the frame to be decoded/captured next + + + + + Relative position of the video file: 0=start of the film, 1=end of the film. + + + + + Width of frames in the video stream + + + + + Height of frames in the video stream + + + + + Frame rate + + + + + 4-character code of codec + + + + + Number of frames in video file + + + + + Format of the %Mat objects returned by VideoCapture::retrieve(). + + + + + Backend-specific value indicating the current capture mode. + + + + + Brightness of the image (only for those cameras that support). + + + + + Contrast of the image (only for cameras). + + + + + Saturation of the image (only for cameras). + + + + + Hue of the image (only for cameras). + + + + + Gain of the image (only for those cameras that support). + + + + + Exposure (only for those cameras that support). + + + + + Boolean flags indicating whether images should be converted to RGB. + + + + + Currently unsupported. + + + + + Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently). + + + + + Monochrome + + + + + Sharpness + + + + + Exposure control done by camera, user can adjust reference level using this feature + + + + + Gamma + + + + + Temperature + + + + + Trigger + + + + + Trigger delay + + + + + White balance red v + + + + + Zoom + + + + + Focus + + + + + GUID + + + + + ISO SPEED + + + + + MAX DC1394 + + + + + Backlight + + + + + Pan + + + + + Tilt + + + + + Roll + + + + + Iris + + + + + Pop up video/camera filter dialog (note: only supported by DSHOW backend currently. The property value is ignored) + + + + + Buffer size + + + + + Auto focus + + + + + Sample aspect ratio: num/den (num) + + + + + Sample aspect ratio: num/den (den) + + + + + Current backend (enum VideoCaptureAPIs). Read-only property + + + + + Video input or Channel Number (only for those cameras that support) + + + + + Enable/ disable auto white-balance + + + + + White-balance color temperature + + + + + property for highgui class CvCapture_Android only + + + + + readonly, tricky property, returns cpnst char* indeed + + + + + readonly, tricky property, returns cpnst char* indeed + + + + + OpenNI depth generator + + + + + OpenNI image generator + + + + + OpenNI IR generator + + + + + OpenNI map generators + + + + + Properties of cameras available through OpenNI interfaces + + + + + Properties of cameras available through OpenNI interfaces, in mm. + + + + + Properties of cameras available through OpenNI interfaces, in mm. + + + + + Properties of cameras available through OpenNI interfaces, in pixels. + + + + + Flag that synchronizes the remapping depth map to image map + by changing depth generator's view point (if the flag is "on") or + sets this view point to its normal one (if the flag is "off"). + + + + + Flag that synchronizes the remapping depth map to image map + by changing depth generator's view point (if the flag is "on") or + sets this view point to its normal one (if the flag is "off"). + + + + + Approx frame sync + + + + + Max buffer size + + + + + Circle buffer + + + + + Max time duration + + + + + Generator present + + + + + OpenNI2 Sync + + + + + OpenNI2 Mirror + + + + + Openni image generator present + + + + + Image generator output mode + + + + + Depth generator present + + + + + Depth generator baseline, in mm. + + + + + Depth generator focal length, in pixels. + + + + + Openni generator registration + + + + + Openni generator registration on + + + + + Openni IR generator present + + + + + Properties of cameras available through GStreamer interface. Default is 1 + + + + + Ip for enable multicast master mode. 0 for disable multicast + + + + + FrameStartTriggerMode: Determines how a frame is initiated + + + + + Horizontal sub-sampling of the image + + + + + Vertical sub-sampling of the image + + + + + Horizontal binning factor + + + + + Vertical binning factor + + + + + Pixel format + + + + + Change image resolution by binning or skipping. + + + + + Output data format + + + + + Horizontal offset from the origin to the area of interest (in pixels). + + + + + Vertical offset from the origin to the area of interest (in pixels). + + + + + Defines source of trigger. + + + + + Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE. + + + + + Selects general purpose input + + + + + Set general purpose input mode + + + + + Get general purpose level + + + + + Selects general purpose output + + + + + Set general purpose output mode + + + + + Selects camera signaling LED + + + + + Define camera signaling LED functionality + + + + + Calculates White Balance(must be called during acquisition) + + + + + Automatic white balance + + + + + Automatic exposure/gain + + + + + Exposure priority (0.5 - exposure 50%, gain 50%). + + + + + Maximum limit of exposure in AEAG procedure + + + + + Maximum limit of gain in AEAG procedure + + + + + Average intensity of output signal AEAG should achieve(in %) + + + + + Image capture timeout in milliseconds + + + + + Exposure time in microseconds + + + + + Sets the number of times of exposure in one frame. + + + + + Gain selector for parameter Gain allows to select different type of gains. + + + + + Gain in dB + + + + + Change image downsampling type. + + + + + Binning engine selector. + + + + + Vertical Binning - number of vertical photo-sensitive cells to combine together. + + + + + Horizontal Binning - number of horizontal photo-sensitive cells to combine together. + + + + + Binning pattern type. + + + + + Decimation engine selector. + + + + + Vertical Decimation - vertical sub-sampling of the image - reduces the vertical resolution of the image by the specified vertical decimation factor. + + + + + Horizontal Decimation - horizontal sub-sampling of the image - reduces the horizontal resolution of the image by the specified vertical decimation factor. + + + + + Decimation pattern type. + + + + + Selects which test pattern generator is controlled by the TestPattern feature. + + + + + Selects which test pattern type is generated by the selected generator. + + + + + Output data format. + + + + + Change sensor shutter type(CMOS sensor). + + + + + Number of taps + + + + + Automatic exposure/gain ROI offset X + + + + + Automatic exposure/gain ROI offset Y + + + + + Automatic exposure/gain ROI Width + + + + + Automatic exposure/gain ROI Height + + + + + Correction of bad pixels + + + + + White balance red coefficient + + + + + White balance green coefficient + + + + + White balance blue coefficient + + + + + Width of the Image provided by the device (in pixels). + + + + + Height of the Image provided by the device (in pixels). + + + + + Selects Region in Multiple ROI which parameters are set by width, height, ... ,region mode + + + + + Activates/deactivates Region selected by Region Selector + + + + + Set/get bandwidth(datarate)(in Megabits) + + + + + Sensor output data bit depth. + + + + + Device output data bit depth. + + + + + bitdepth of data returned by function xiGetImage + + + + + Device output data packing (or grouping) enabled. Packing could be enabled if output_data_bit_depth > 8 and packing capability is available. + + + + + Data packing type. Some cameras supports only specific packing type. + + + + + Returns 1 for cameras that support cooling. + + + + + Start camera cooling. + + + + + Set sensor target temperature for cooling. + + + + + Camera sensor temperature + + + + + Camera housing temperature + + + + + Camera housing back side temperature + + + + + Camera sensor board temperature + + + + + Mode of color management system. + + + + + Enable applying of CMS profiles to xiGetImage (see XI_PRM_INPUT_CMS_PROFILE, XI_PRM_OUTPUT_CMS_PROFILE). + + + + + Returns 1 for color cameras. + + + + + Returns color filter array type of RAW data. + + + + + Luminosity gamma + + + + + Chromaticity gamma + + + + + Sharpness Strength + + + + + Color Correction Matrix element [0][0] + + + + + Color Correction Matrix element [0][1] + + + + + Color Correction Matrix element [0][2] + + + + + Color Correction Matrix element [0][3] + + + + + Color Correction Matrix element [1][0] + + + + + Color Correction Matrix element [1][1] + + + + + Color Correction Matrix element [1][2] + + + + + Color Correction Matrix element [1][3] + + + + + Color Correction Matrix element [2][0] + + + + + Color Correction Matrix element [2][1] + + + + + Color Correction Matrix element [2][2] + + + + + Color Correction Matrix element [2][3] + + + + + Color Correction Matrix element [3][0] + + + + + Color Correction Matrix element [3][1] + + + + + Color Correction Matrix element [3][2] + + + + + Color Correction Matrix element [3][3] + + + + + Set default Color Correction Matrix + + + + + Selects the type of trigger. + + + + + Sets number of frames acquired by burst. This burst is used only if trigger is set to FrameBurstStart + + + + + Enable/Disable debounce to selected GPI + + + + + Debounce time (x * 10us) + + + + + Debounce time (x * 10us) + + + + + Debounce polarity (pol = 1 t0 - falling edge, t1 - rising edge) + + + + + Status of lens control interface. This shall be set to XI_ON before any Lens operations. + + + + + Current lens aperture value in stops. Examples: 2.8, 4, 5.6, 8, 11 + + + + + Lens current focus movement value to be used by XI_PRM_LENS_FOCUS_MOVE in motor steps. + + + + + Moves lens focus motor by steps set in XI_PRM_LENS_FOCUS_MOVEMENT_VALUE. + + + + + Lens focus distance in cm. + + + + + Lens focal distance in mm. + + + + + Selects the current feature which is accessible by XI_PRM_LENS_FEATURE. + + + + + Allows access to lens feature value currently selected by XI_PRM_LENS_FEATURE_SELECTOR. + + + + + Return device model id + + + + + Return device serial number + + + + + The alpha channel of RGB32 output image format. + + + + + Buffer size in bytes sufficient for output image returned by xiGetImage + + + + + Current format of pixels on transport layer. + + + + + Sensor clock frequency in Hz. + + + + + Sensor clock frequency index. Sensor with selected frequencies have possibility to set the frequency only by this index. + + + + + Number of output channels from sensor used for data transfer. + + + + + Define framerate in Hz + + + + + Select counter + + + + + Counter status + + + + + Type of sensor frames timing. + + + + + Calculate and return available interface bandwidth(int Megabits) + + + + + Data move policy + + + + + Activates LUT. + + + + + Control the index (offset) of the coefficient to access in the LUT. + + + + + Value at entry LUTIndex of the LUT + + + + + Specifies the delay in microseconds (us) to apply after the trigger reception before activating it. + + + + + Defines how time stamp reset engine will be armed + + + + + Defines which source will be used for timestamp reset. Writing this parameter will trigger settings of engine (arming) + + + + + Returns 1 if camera connected and works properly. + + + + + Acquisition buffer size in buffer_size_unit. Default bytes. + + + + + Acquisition buffer size unit in bytes. Default 1. E.g. Value 1024 means that buffer_size is in KiBytes + + + + + Acquisition transport buffer size in bytes + + + + + Queue of field/frame buffers + + + + + Number of buffers to commit to low level + + + + + GetImage returns most recent frame + + + + + Resets the camera to default state. + + + + + Correction of column FPN + + + + + Correction of row FPN + + + + + Current sensor mode. Allows to select sensor mode by one integer. Setting of this parameter affects: image dimensions and downsampling. + + + + + Enable High Dynamic Range feature. + + + + + The number of kneepoints in the PWLR. + + + + + position of first kneepoint(in % of XI_PRM_EXPOSURE) + + + + + position of second kneepoint (in % of XI_PRM_EXPOSURE) + + + + + value of first kneepoint (% of sensor saturation) + + + + + value of second kneepoint (% of sensor saturation) + + + + + Last image black level counts. Can be used for Offline processing to recall it. + + + + + Returns hardware revision number. + + + + + Set debug level + + + + + Automatic bandwidth calculation, + + + + + File number. + + + + + Size of file. + + + + + Size of free camera FFS. + + + + + Size of used camera FFS. + + + + + Setting of key enables file operations on some cameras. + + + + + Selects the current feature which is accessible by XI_PRM_SENSOR_FEATURE_VALUE. + + + + + Allows access to sensor feature value currently selected by XI_PRM_SENSOR_FEATURE_SELECTOR. + + + + + Android flash mode + + + + + Android focus mode + + + + + Android white balance + + + + + Android anti banding + + + + + Android focal length + + + + + Android focus distance near + + + + + Android focus distance optimal + + + + + Android focus distance far + + + + + Android expose lock + + + + + Android white balance lock + + + + + iOS device focus + + + + + iOS device exposure + + + + + iOS device flash + + + + + iOS device white-balance + + + + + iOS device torch + + + + + Smartek Giganetix Ethernet Vision: frame offset X + + + + + Smartek Giganetix Ethernet Vision: frame offset Y + + + + + Smartek Giganetix Ethernet Vision: frame width max + + + + + Smartek Giganetix Ethernet Vision: frame height max + + + + + Smartek Giganetix Ethernet Vision: frame sens width + + + + + Smartek Giganetix Ethernet Vision: frame sens height + + + + + Intelperc Profile Count + + + + + Intelperc Profile Idx + + + + + Intelperc Depth Low Confidence Value + + + + + Intelperc Depth Saturation Value + + + + + Intelperc Depth Confidence Threshold + + + + + Intelperc Depth Focal Length Horz + + + + + Intelperc Depth Focal Length Vert + + + + + Intelperc Depth Generator + + + + + Intelperc Image Generator + + + + + Intelperc Generators Mask + + + + + contour approximation method + + + + + output contours in the Freeman chain code. All other methods output polygons (sequences of vertices). + + + + + translate all the points from the chain code into points; + + + + + compress horizontal, vertical, and diagonal segments, that is, the function leaves only their ending points; + + + + + + + + + + apply one of the flavors of Teh-Chin chain approximation algorithm + + + + + use completely different contour retrieval algorithm via linking of horizontal segments of 1s. Only LIST retrieval mode can be used with this method + + + + + Enumeration used by cvCheckArr + + + + + Checks that every element is neither NaN nor Infinity + + + + + If set, the function checks that every value of array is within [minVal,maxVal) range, otherwise it just checks that every element is neither NaN nor Infinity + + + + + If set, the function does not raises an error if an element is invalid or out of range + + + + + Seamless clone method + + + + + The power of the method is fully expressed when inserting objects with complex outlines into a new background + + + + + The classic method, color-based selection and alpha masking might be time consuming and often leaves an undesirable halo. Seamless cloning, even averaged with the original image, is not effective. Mixed seamless cloning based on a loose selection proves effective. + + + + + Monochrome transfer + + + + + Type used for cvCmp function + + + + + src1(I) "equal to" src2(I) + + + + + src1(I) "greater than" src2(I) + + + + + src1(I) "greater or equal" src2(I) + + + + + src1(I) "less than" src2(I) + + + + + src1(I) "less or equal" src2(I) + + + + + src1(I) "not equal to" src2(I) + + + + + Color Conversion code + + + + + Convert BGR color to BGRA color + + + + + Convert RGB color to RGBA color + + + + + Convert BGRA color to BGR color + + + + + Convert RGBA color to RGB color + + + + + Convert BGR color to RGBA color + + + + + Convert RGB color to BGRA color + + + + + Convert RGBA color to BGR color + + + + + Convert BGRA color to RGB color + + + + + Convert BGR color to RGB color + + + + + Convert RGB color to BGR color + + + + + Convert BGRA color to RGBA color + + + + + Convert RGBA color to BGRA color + + + + + Convert BGR color to GRAY color + + + + + Convert RGB color to GRAY color + + + + + Convert GRAY color to BGR color + + + + + Convert GRAY color to RGB color + + + + + Convert GRAY color to BGRA color + + + + + Convert GRAY color to RGBA color + + + + + Convert BGRA color to GRAY color + + + + + Convert RGBA color to GRAY color + + + + + Convert BGR color to BGR565 color + + + + + Convert RGB color to BGR565 color + + + + + Convert BGR565 color to BGR color + + + + + Convert BGR565 color to RGB color + + + + + Convert BGRA color to BGR565 color + + + + + Convert RGBA color to BGR565 color + + + + + Convert BGR565 color to BGRA color + + + + + Convert BGR565 color to RGBA color + + + + + Convert GRAY color to BGR565 color + + + + + Convert BGR565 color to GRAY color + + + + + Convert BGR color to BGR555 color + + + + + Convert RGB color to BGR555 color + + + + + Convert BGR555 color to BGR color + + + + + Convert BGR555 color to RGB color + + + + + Convert BGRA color to BGR555 color + + + + + Convert RGBA color to BGR555 color + + + + + Convert BGR555 color to BGRA color + + + + + Convert BGR555 color to RGBA color + + + + + Convert GRAY color to BGR555 color + + + + + Convert BGR555 color to GRAY color + + + + + Convert BGR color to XYZ color + + + + + Convert RGB color to XYZ color + + + + + Convert XYZ color to BGR color + + + + + Convert XYZ color to RGB color + + + + + Convert BGR color to YCrCb color + + + + + Convert RGB color to YCrCb color + + + + + Convert YCrCb color to BGR color + + + + + Convert YCrCb color to RGB color + + + + + Convert BGR color to HSV color + + + + + Convert RGB colot to HSV color + + + + + Convert BGR color to Lab color + + + + + Convert RGB color to Lab color + + + + + Convert BayerBG color to BGR color + + + + + Convert BayerGB color to BGR color + + + + + Convert BayerRG color to BGR color + + + + + Convert BayerGR color to BGR color + + + + + Convert BayerBG color to BGR color + + + + + Convert BayerRG color to BGR color + + + + + Convert BayerRG color to RGB color + + + + + Convert BayerGR color to RGB color + + + + + Convert BGR color to Luv color + + + + + Convert RGB color to Luv color + + + + + Convert BGR color to HLS color + + + + + Convert RGB color to HLS color + + + + + Convert HSV color to BGR color + + + + + Convert HSV color to RGB color + + + + + Convert Lab color to BGR color + + + + + Convert Lab color to RGB color + + + + + Convert Luv color to BGR color + + + + + Convert Luv color to RGB color + + + + + Convert HLS color to BGR color + + + + + Convert HLS color to RGB color + + + + + Convert BayerBG pattern to BGR color using VNG + + + + + Convert BayerGB pattern to BGR color using VNG + + + + + Convert BayerRG pattern to BGR color using VNG + + + + + Convert BayerGR pattern to BGR color using VNG + + + + + Convert BayerBG pattern to RGB color using VNG + + + + + Convert BayerGB pattern to RGB color using VNG + + + + + Convert BayerRG pattern to RGB color using VNG + + + + + Convert BayerGR pattern to RGB color using VNG + + + + + Convert BGR to HSV + + + + + Convert RGB to HSV + + + + + Convert BGR to HLS + + + + + Convert RGB to HLS + + + + + Convert HSV color to BGR color + + + + + Convert HSV color to RGB color + + + + + Convert HLS color to BGR color + + + + + Convert HLS color to RGB color + + + + + Convert sBGR color to Lab color + + + + + Convert sRGB color to Lab color + + + + + Convert sBGR color to Luv color + + + + + Convert sRGB color to Luv color + + + + + Convert Lab color to sBGR color + + + + + Convert Lab color to sRGB color + + + + + Convert Luv color to sBGR color + + + + + Convert Luv color to sRGB color + + + + + Convert BGR color to YUV + + + + + Convert RGB color to YUV + + + + + Convert YUV color to BGR + + + + + Convert YUV color to RGB + + + + + Convert BayerBG to GRAY + + + + + Convert BayerGB to GRAY + + + + + Convert BayerRG to GRAY + + + + + Convert BayerGR to GRAY + + + + + Convert YUV420i to RGB + + + + + Convert YUV420i to BGR + + + + + Convert YUV420sp to RGB + + + + + Convert YUV320sp to BGR + + + + + Convert YUV320i to RGBA + + + + + Convert YUV420i to BGRA + + + + + Convert YUV420sp to RGBA + + + + + Convert YUV420sp to BGRA + + + + + Convert YUV (YV12) to RGB + + + + + Convert YUV (YV12) to BGR + + + + + Convert YUV (iYUV) to RGB + + + + + Convert YUV (iYUV) to BGR + + + + + Convert YUV (i420) to RGB + + + + + Convert YUV (i420) to BGR + + + + + Convert YUV (420p) to RGB + + + + + Convert YUV (420p) to BGR + + + + + Convert YUV (YV12) to RGBA + + + + + Convert YUV (YV12) to BGRA + + + + + Convert YUV (iYUV) to RGBA + + + + + Convert YUV (iYUV) to BGRA + + + + + Convert YUV (i420) to RGBA + + + + + Convert YUV (i420) to BGRA + + + + + Convert YUV (420p) to RGBA + + + + + Convert YUV (420p) to BGRA + + + + + Convert YUV 420 to Gray + + + + + Convert YUV NV21 to Gray + + + + + Convert YUV NV12 to Gray + + + + + Convert YUV YV12 to Gray + + + + + Convert YUV (iYUV) to Gray + + + + + Convert YUV (i420) to Gray + + + + + Convert YUV (420sp) to Gray + + + + + Convert YUV (420p) to Gray + + + + + Convert YUV (UYVY) to RGB + + + + + Convert YUV (UYVY) to BGR + + + + + Convert YUV (Y422) to RGB + + + + + Convert YUV (Y422) to BGR + + + + + Convert YUV (UYNY) to RGB + + + + + Convert YUV (UYNV) to BGR + + + + + Convert YUV (UYVY) to RGBA + + + + + Convert YUV (VYUY) to BGRA + + + + + Convert YUV (Y422) to RGBA + + + + + Convert YUV (Y422) to BGRA + + + + + Convert YUV (UYNV) to RGBA + + + + + Convert YUV (UYNV) to BGRA + + + + + Convert YUV (YUY2) to RGB + + + + + Convert YUV (YUY2) to BGR + + + + + Convert YUV (YVYU) to RGB + + + + + Convert YUV (YVYU) to BGR + + + + + Convert YUV (YUYV) to RGB + + + + + Convert YUV (YUYV) to BGR + + + + + Convert YUV (YUNV) to RGB + + + + + Convert YUV (YUNV) to BGR + + + + + Convert YUV (YUY2) to RGBA + + + + + Convert YUV (YUY2) to BGRA + + + + + Convert YUV (YVYU) to RGBA + + + + + Convert YUV (YVYU) to BGRA + + + + + Convert YUV (YUYV) to RGBA + + + + + Convert YUV (YUYV) to BGRA + + + + + Convert YUV (YUNV) to RGBA + + + + + Convert YUV (YUNV) to BGRA + + + + + Convert YUV (UYVY) to Gray + + + + + Convert YUV (YUY2) to Gray + + + + + Convert YUV (Y422) to Gray + + + + + Convert YUV (UYNV) to Gray + + + + + Convert YUV (YVYU) to Gray + + + + + Convert YUV (YUYV) to Gray + + + + + Convert YUV (YUNV) to Gray + + + + + Alpha premultiplication + + + + + Alpha premultiplication + + + + + Convert RGB to YUV_I420 + + + + + Convert BGR to YUV_I420 + + + + + Convert RGB to YUV_IYUV + + + + + Convert BGR to YUV_IYUV + + + + + Convert RGBA to YUV_I420 + + + + + Convert BGRA to YUV_I420 + + + + + Convert RGBA to YUV_IYUV + + + + + Convert BGRA to YUV_IYUV + + + + + Convert RGB to YUV_YV12 + + + + + Convert BGR to YUV_YV12 + + + + + Convert RGBA to YUV_YV12 + + + + + Convert BGRA to YUV_YV12 + + + + + Convert BayerBG to BGR (Edge-Aware Demosaicing) + + + + + Convert BayerGB to BGR (Edge-Aware Demosaicing) + + + + + Convert BayerRG to BGR (Edge-Aware Demosaicing) + + + + + Convert BayerGR to BGR (Edge-Aware Demosaicing) + + + + + Convert BayerBG to RGB (Edge-Aware Demosaicing) + + + + + Convert BayerGB to RGB (Edge-Aware Demosaicing) + + + + + Convert BayerRG to RGB (Edge-Aware Demosaicing) + + + + + Convert BayerGR to RGB (Edge-Aware Demosaicing) + + + + + The max number, do not use + + + + + The type of color map + + + + + Autumn + + + + + Bone + + + + + Jet + + + + + Winter + + + + + Rainbow + + + + + Ocean + + + + + Summer + + + + + Spring + + + + + Cool + + + + + Hsv + + + + + Pink + + + + + Hot + + + + + Parula + + + + + Magma + + + + + Inferno + + + + + Plasma + + + + + Viridis + + + + + Cividis + + + + + Twilight + + + + + TwilightShifted + + + + + Connected components algorithm output formats + + + + + The leftmost (x) coordinate which is the inclusive start of the bounding box in the horizontal direction. + + + + + The topmost (y) coordinate which is the inclusive start of the bounding box in the vertical direction. + + + + + The horizontal size of the bounding box. + + + + + The vertical size of the bounding box. + + + + + The total area (in pixels) of the connected component. + + + + + Max + + + + + The type for cvSampleLine + + + + + 8-connected + + + + + 4-connected + + + + + Type used by cvMatchShapes + + + + + I_1(A,B)=sum_{i=1..7} abs(1/m^A_i - 1/m^B_i) where m^A_i=sign(h^A_i) log(h^A_i), m^B_i=sign(h^B_i) log(h^B_i), h^A_i, h^B_i - Hu moments of A and B, respectively + + + + + I_2(A,B)=sum_{i=1..7} abs(m^A_i - m^B_i) where m^A_i=sign(h^A_i) log(h^A_i), m^B_i=sign(h^B_i) log(h^B_i), h^A_i, h^B_i - Hu moments of A and B, respectively + + + + + I_3(A,B)=sum_{i=1..7} abs(m^A_i - m^B_i)/abs(m^A_i) where m^A_i=sign(h^A_i) log(h^A_i), m^B_i=sign(h^B_i) log(h^B_i), h^A_i, h^B_i - Hu moments of A and B, respectively + + + + + cvCalcCovarMatrix method types + + + + + Calculates covariation matrix for a set of vectors + transpose([v1-avg, v2-avg,...]) * [v1-avg,v2-avg,...] + + + + + [v1-avg, v2-avg,...] * transpose([v1-avg,v2-avg,...]) + + + + + Do not calc average (i.e. mean vector) - use the input vector instead + (useful for calculating covariance matrix by parts) + + + + + Scale the covariance matrix coefficients by number of the vectors + + + + + All the input vectors are stored in a single matrix, as its rows + + + + + All the input vectors are stored in a single matrix, as its columns + + + + + Flag used for cvDCT + + + + + Do forward 1D or 2D transform. The result is not scaled + + + + + Do inverse 1D or 2D transform. The result is not scaled. CV_DXT_FORWARD and CV_DXT_INVERSE are mutually exclusive, of course + + + + + Do forward or inverse transform of every individual row of the input matrix. This flag allows user to transform multiple vectors simultaneously and can be used to decrease the overhead (which is sometimes several times larger than the processing itself), to do 3D and higher-dimensional transforms etc + + + + + cvInvert method + + + + + Gaussian elimination with optimal pivot element chose + In case of LU method the function returns src1 determinant (src1 must be square). If it is 0, the matrix is not inverted and src2 is filled with zeros. + + + + + Singular value decomposition (SVD) method + In case of SVD methods the function returns the inversed condition number of src1 (ratio of the smallest singular value to the largest singular value) and 0 if src1 is all zeros. The SVD methods calculate a pseudo-inverse matrix if src1 is singular + + + + + Eig + + + + + method for a symmetric positively-defined matrix + + + + + QR decomposition + + + + + Normal + + + + + OpenCV depth type + + + + + Default + + + + + Byte + + + + + SByte + + + + + UInt16 + + + + + Int16 + + + + + Int32 + + + + + float + + + + + double + + + + + Distance transform algorithm flags + + + + + Connected component + + + + + The pixel + + + + + Defines for Distance Transform + + + + + User defined distance + + + + + distance = |x1-x2| + |y1-y2| + + + + + Simple euclidean distance + + + + + distance = max(|x1-x2|,|y1-y2|) + + + + + L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1)) + + + + + distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998 + + + + + distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846 + + + + + distance = |x|<c ? x^2/2 : c(|x|-c/2), c=1.345 + + + + + Flag used for cvDFT + + + + + Do forward 1D or 2D transform. The result is not scaled + + + + + Do inverse 1D or 2D transform. The result is not scaled. CV_DXT_FORWARD and CV_DXT_INVERSE are mutually exclusive, of course + + + + + Scale the result: divide it by the number of array elements. Usually, it is combined with CV_DXT_INVERSE, and one may use a shortcut + + + + + Do forward or inverse transform of every individual row of the input matrix. This flag allows user to transform multiple vectors simultaneously and can be used to decrease the overhead (which is sometimes several times larger than the processing itself), to do 3D and higher-dimensional transforms etc + + + + + Inverse and scale + + + + + Edge preserving filter flag + + + + + Recurs filter + + + + + Norm conv filter + + + + + IO type for eigen object related functions + + + + + No callback + + + + + Input callback + + + + + Output callback + + + + + Both callback + + + + + Shape of the Structuring Element + + + + + A rectangular element. + + + + + A cross-shaped element. + + + + + An elliptic element. + + + + + A user-defined element. + + + + + Error codes + + + + + Ok + + + + + Back trace + + + + + Error + + + + + Internal + + + + + No memory + + + + + Bad argument + + + + + Bad function + + + + + No Conv + + + + + Auto trace + + + + + Header is Null + + + + + Bad image size + + + + + Bad Offset + + + + + Bad Data pointer + + + + + Bad step + + + + + Bad model or chseq + + + + + Bad number of channels + + + + + Bad number of channels 1U + + + + + Bad depth + + + + + Bad Alpha channel + + + + + Bad Order + + + + + Bad origin + + + + + Bad Align + + + + + Bad callback + + + + + Bad tile size + + + + + Bad COI + + + + + Bad ROI size + + + + + Mask is tiled + + + + + Null Pointer + + + + + Vec length error + + + + + Filter Structure Content Error + + + + + Kernel Structure Content Error + + + + + Filter Offset Error + + + + + Bad Size + + + + + Division by zero + + + + + Inplace not supported + + + + + Object Not Found + + + + + Unmatched formats + + + + + Bad flag + + + + + Bad point + + + + + Bad mask + + + + + Unmatched sizes + + + + + Unsupported format + + + + + Out of range + + + + + Parse Error + + + + + Not Implemented + + + + + Bad memory block + + + + + Enumeration used by cvFlip + + + + + No flipping + + + + + Flip horizontally + + + + + Flip vertically + + + + + Type of floodfill operation + + + + + The default type + + + + + If set the difference between the current pixel and seed pixel is considered, + otherwise difference between neighbor pixels is considered (the range is floating). + + + + + If set, the function does not fill the image (new_val is ignored), + but the fills mask (that must be non-NULL in this case). + + + + + Calculates fundamental matrix given a set of corresponding points + + + + + for 7-point algorithm. N == 7 + + + + + for 8-point algorithm. N >= 8 + + + + + for LMedS algorithm. N >= 8 + + + + + for RANSAC algorithm. N >= 8 + + + + + CV_FM_LMEDS_ONLY | CV_FM_8POINT + + + + + CV_FM_RANSAC_ONLY | CV_FM_8POINT + + + + + Fonts + + + + + Hershey simplex + + + + + Hershey plain + + + + + Hershey duplex + + + + + Hershey complex + + + + + Hershey triplex + + + + + Hershey complex small + + + + + Hershey script simplex + + + + + Hershey script complex + + + + + Flags used for GEMM function + + + + + Do not apply transpose to neither matrices + + + + + transpose src1 + + + + + transpose src2 + + + + + transpose src3 + + + + + General enumeration + + + + + Max dim + + + + + Seq magic val + + + + + Set magic val + + + + + Grabcut initialization type + + + + + Initialize with rectangle + + + + + Initialize with mask + + + + + Eval + + + + + The types for haar detection + + + + + The default type where no optimization is done. + + + + + If it is set, the function uses Canny edge detector to reject some image regions that contain too few or too much edges and thus can not contain the searched object. The particular threshold values are tuned for face detection and in this case the pruning speeds up the processing + + + + + For each scale factor used the function will downscale the image rather than "zoom" the feature coordinates in the classifier cascade. Currently, the option can only be used alone, i.e. the flag can not be set together with the others + + + + + If it is set, the function finds the largest object (if any) in the image. That is, the output sequence will contain one (or zero) element(s) + + + + + It should be used only when CV_HAAR_FIND_BIGGEST_OBJECT is set and min_neighbors > 0. If the flag is set, the function does not look for candidates of a smaller size as soon as it has found the object (with enough neighbor candidates) at the current scale. Typically, when min_neighbors is fixed, the mode yields less accurate (a bit larger) object rectangle than the regular single-object mode (flags=CV_HAAR_FIND_BIGGEST_OBJECT), but it is much faster, up to an order of magnitude. A greater value of min_neighbors may be specified to improve the accuracy + + + + + HandEyeCalibration Method + + + + + A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration + + + + + Robot Sensor Calibration: Solving AX = XB on the Euclidean Group + + + + + Hand-eye Calibration + + + + + On-line Hand-Eye Calibration + + + + + Hand-Eye Calibration Using Dual Quaternions + + + + + Histogram comparison method + + + + + Correlation + + + + + Chi-Square + + + + + Intersection + + + + + Bhattacharyya distance + + + + + Synonym for Bhattacharyya + + + + + Alternative Chi-Square + + + + + Hough detection type + + + + + Gradient + + + + + cvLoadImage type + + + + + If set, return the loaded image as is (with alpha channel, otherwise it gets cropped). + + + + + If set, always convert image to the single channel grayscale image. + + + + + If set, always convert image to the 3 channel BGR color image. + + + + + If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit. + + + + + If set, the image is read in any possible color format. + + + + + If set, use the gdal driver for loading the image. + + + + + If set, always convert image to the single channel grayscale image and the image size reduced 1/2. + + + + + If set, always convert image to the 3 channel BGR color image and the image size reduced 1/2. + + + + + If set, always convert image to the single channel grayscale image and the image size reduced 1/4. + + + + + If set, always convert image to the 3 channel BGR color image and the image size reduced 1/4. + + + + + If set, always convert image to the single channel grayscale image and the image size reduced 1/8. + + + + + If set, always convert image to the 3 channel BGR color image and the image size reduced 1/8. + + + + + Flags for Imwrite function + + + + + For JPEG, it can be a quality from 0 to 100 (the higher is the better). Default value is 95. + + + + + Enable JPEG features, 0 or 1, default is False. + + + + + Enable JPEG features, 0 or 1, default is False. + + + + + JPEG restart interval, 0 - 65535, default is 0 - no restart. + + + + + Separate luma quality level, 0 - 100, default is 0 - don't use. + + + + + Separate chroma quality level, 0 - 100, default is 0 - don't use. + + + + + For PNG, it can be the compression level from 0 to 9. A higher value means a smaller size and longer compression time. Default value is 3. + + + + + One of cv::ImwritePNGFlags, default is IMWRITE_PNG_STRATEGY_DEFAULT. + + + + + Binary level PNG, 0 or 1, default is 0. + + + + + For PPM, PGM, or PBM, it can be a binary format flag, 0 or 1. Default value is 1. + + + + + For WEBP, it can be a quality from 1 to 100 (the higher is the better). By default (without any parameter) and for quality above 100 the lossless compression is used. + + + + + Inpaint type + + + + + Navier-Stokes based method. + + + + + The method by Alexandru Telea + + + + + Interpolation types + + + + + Nearest-neighbor interpolation + + + + + Bilinear interpolation + + + + + Resampling using pixel area relation. It is the preferred method for image decimation that gives moire-free results. In case of zooming it is similar to CV_INTER_NN method + + + + + Bicubic interpolation + + + + + Lanczos interpolation over 8x8 neighborhood + + + + + Bit exact bilinear interpolation + + + + + IPL_DEPTH + + + + + Indicates if the value is signed + + + + + 1bit unsigned + + + + + 8bit unsigned (Byte) + + + + + 16bit unsigned + + + + + 32bit float (Single) + + + + + 8bit signed + + + + + 16bit signed + + + + + 32bit signed + + + + + double + + + + + KMeans initialization type + + + + + Chooses random centers for k-Means initialization + + + + + Uses the user-provided labels for K-Means initialization + + + + + Uses k-Means++ algorithm for initialization + + + + + The type of line for drawing + + + + + Filled + + + + + 8-connected + + + + + 4-connected + + + + + Anti-alias + + + + + Type for cvCalcOpticalFlowPyrLK + + + + + The default type + + + + + Uses initial estimations, stored in nextPts; if the flag is not set, then prevPts is copied to nextPts and is considered the initial estimate. + + + + + use minimum eigen values as an error measure (see minEigThreshold description); if the flag is not set, then L1 distance between patches around the original and a moved point, divided by number of pixels in a window, is used as a error measure. + + + + + Morphology operation type + + + + + Erode + + + + + Dilate + + + + + Open + + + + + Close + + + + + Gradient + + + + + Top hat + + + + + Black hat + + + + + Hit or miss. Only supported for CV_8UC1 binary images. + + + + + Motion type for the FindTransformECC function + + + + + Sets a translational motion model; warpMatrix is 2x3 with the first 2x2 part being the unity matrix and the rest two parameters being estimated. + + + + + Sets a Euclidean (rigid) transformation as motion model; three parameters are estimated; warpMatrix is 2x3. + + + + + Sets an affine motion model (DEFAULT); six parameters are estimated; warpMatrix is 2x3. + + + + + Sets a homography as a motion model; eight parameters are estimated; warpMatrix is 3x3. + + + + + The types for MulSpectrums + + + + + The default type + + + + + Do forward or inverse transform of every individual row of the input matrix. This flag allows user to transform multiple vectors simultaneously and can be used to decrease the overhead (which is sometimes several times larger than the processing itself), to do 3D and higher-dimensional transforms etc + + + + + Conjugate the second argument of cvMulSpectrums + + + + + The named window type + + + + + The user can resize the window (no constraint) / also use to switch a fullscreen window to a normal size + + + + + The user cannot resize the window, the size is constrainted by the image displayed + + + + + Window with opengl support + + + + + Change the window to fullscreen + + + + + The image expends as much as it can (no ratio constraint) + + + + + the ratio of the image is respected + + + + + Type for Norm + + + + + if arr2 is NULL, norm = ||arr1||_C = max_I abs(arr1(I)); + if arr2 is not NULL, norm = ||arr1-arr2||_C = max_I abs(arr1(I)-arr2(I)) + + + + + if arr2 is NULL, norm = ||arr1||_L1 = sum_I abs(arr1(I)); + if arr2 is not NULL, norm = ||arr1-arr2||_L1 = sum_I abs(arr1(I)-arr2(I)) + + + + + if arr2 is NULL, norm = ||arr1||_L2 = sqrt( sum_I arr1(I)^2); + if arr2 is not NULL, norm = ||arr1-arr2||_L2 = sqrt( sum_I (arr1(I)-arr2(I))^2 ) + + + + + Norm mask + + + + + It is used in combination with either CV_C, CV_L1 or CV_L2 + + + + + It is used in combination with either CV_C, CV_L1 or CV_L2 + + + + + Min Max + + + + + Diff C + + + + + Diff L1 + + + + + Diff L2 + + + + + norm = ||arr1-arr2||_C/||arr2||_C + + + + + norm = ||arr1-arr2||_L1/||arr2||_L1 + + + + + norm = ||arr1-arr2||_L2/||arr2||_L2 + + + + + The available flags for Farneback optical flow computation + + + + + Default + + + + + Use the input flow as the initial flow approximation + + + + + Use a Gaussian winsize x winsizefilter instead of box + filter of the same size for optical flow estimation. Usually, this option gives more accurate + flow than with a box filter, at the cost of lower speed (and normally winsize for a + Gaussian window should be set to a larger value to achieve the same level of robustness) + + + + + Orientation + + + + + Clockwise + + + + + Counter clockwise + + + + + PCA Type + + + + + the vectors are stored as rows (i.e. all the components of a certain vector are stored continously) + + + + + the vectors are stored as columns (i.e. values of a certain vector component are stored continuously) + + + + + use pre-computed average vector + + + + + Rectangle intersect type + + + + + No intersection + + + + + There is a partial intersection + + + + + One of the rectangle is fully enclosed in the other + + + + + Type used for Reduce function + + + + + The matrix is reduced to a single row + + + + + The matrix is reduced to a single column + + + + + The dimension is chosen automatically by analysing the dst size + + + + + Type used for Reduce function + + + + + The output is the sum of all the matrix rows/columns + + + + + The output is the mean vector of all the matrix rows/columns + + + + + The output is the maximum (column/row-wise) of all the matrix rows/columns + + + + + The output is the minimum (column/row-wise) of all the matrix rows/columns + + + + + Contour retrieval mode + + + + + Retrieve only the extreme outer contours + + + + + Retrieve all the contours and puts them in the list + + + + + Retrieve all the contours and organizes them into two-level hierarchy: top level are external boundaries of the components, second level are bounda boundaries of the holes + + + + + Retrieve all the contours and reconstructs the full hierarchy of nested contours + + + + + Type of Robust Estimation Algorithm + + + + + regular method using all the point pairs + + + + + Least-Median robust method + + + + + RANSAC-based robust method + + + + + RHO algorithm + + + + + The rotation type + + + + + Rotate 90 degrees clockwise + + + + + Rotate 180 degrees clockwise + + + + + Rotate 270 degrees clockwise + + + + + Sequence constants + + + + + The bit to shift for SEQ_ELTYPE + + + + + The mask of CV_SEQ_ELTYPE + + + + + The bits to shift for SEQ_KIND + + + + + The bits to shift for SEQ_FLAG + + + + + Sequence element type + + + + + (x,y) + + + + + freeman code: 0..7 + + + + + unspecified type of sequence elements + + + + + =6 + + + + + pointer to element of other sequence + + + + + index of element of some other sequence + + + + + next_o, next_d, vtx_o, vtx_d + + + + + first_edge, (x,y) + + + + + vertex of the binary tree + + + + + connected component + + + + + (x,y,z) + + + + + Sequence flag + + + + + Close sequence + + + + + Simple sequence + + + + + Convex sequence + + + + + Hole + + + + + The kind of sequence available + + + + + Generic (unspecified) kind of sequence + + + + + Dense sequence subtypes + + + + + Dense sequence subtypes + + + + + Sparse sequence (or set) subtypes + + + + + Sparse sequence (or set) subtypes + + + + + Sequence type for point sets + + + + + Point set + + + + + Point 3D set + + + + + Polyline + + + + + Polygon + + + + + Simple Polygon + + + + + Interpolation type + + + + + (simple blur with no scaling) - summation over a pixel param1 x param2 neighborhood. If the neighborhood size may vary, one may precompute integral image with cvIntegral function + + + + + (simple blur) - summation over a pixel param1 x param2 neighborhood with subsequent scaling by 1/(param1 x param2). + + + + + (Gaussian blur) - convolving image with param1 x param2 Gaussian kernel. + + + + + (median blur) - finding median of param1 x param1 neighborhood (i.e. the neighborhood is square). + + + + + (bilateral filter) - applying bilateral 3x3 filtering with color sigma=param1 and space sigma=param2. Information about bilateral filtering can be found + + + + + The return value for solveLP function + + + + + Problem is unbounded (target function can achieve arbitrary high values) + + + + + Problem is unfeasible (there are no points that satisfy all the constraints imposed) + + + + + There is only one maximum for target function + + + + + there are multiple maxima for target function - the arbitrary one is returned + + + + + Method for solving a PnP problem + + + + + Iterative + + + + + EPnP: Efficient Perspective-n-Point Camera Pose Estimation + F.Moreno-Noguer, V.Lepetit and P.Fua "EPnP: Efficient Perspective-n-Point Camera Pose Estimation" + + + + + Complete Solution Classification for the Perspective-Three-Point Problem + X.S. Gao, X.-R. Hou, J. Tang, H.-F. Chang; "Complete Solution Classification for the Perspective-Three-Point Problem" + + + + + A Direct Least-Squares (DLS) Method for PnP + + + + + Exhaustive Linearization for Robust Camera Pose and Focal Length Estimation + + + + + An Efficient Algebraic Solution to the Perspective-Three-Point Problem + + + + + Infinitesimal Plane-Based Pose Estimation. Object points must be coplanar. + + + + + Infinitesimal Plane-Based Pose Estimation. This is a special case suitable for marker pose estimation. + 4 coplanar object points must be defined in the following order: + - point 0: [-squareLength / 2, squareLength / 2, 0] + - point 1: [ squareLength / 2, squareLength / 2, 0] + - point 2: [ squareLength / 2, -squareLength / 2, 0] + - point 3: [-squareLength / 2, -squareLength / 2, 0] + + + + + Flags for sorting + + + + + Each matrix row is sorted independently + + + + + Each matrix column is sorted + independently; this flag and SortEveryRow are + mutually exclusive. + + + + + Each matrix row is sorted in the ascending order. + + + + + Each matrix row is sorted in the + descending order; this flag and SortAscending are also + mutually exclusive. + + + + + Stereo Block Matching Prefilter type + + + + + No prefilter + + + + + XSobel + + + + + Type used in cvStereoRectify + + + + + Shift one of the image in horizontal or vertical direction (depending on the orientation of epipolar lines) in order to maximise the useful image area + + + + + Makes the principal points of each camera have the same pixel coordinates in the rectified views + + + + + The file storage operation type + + + + + The storage is open for reading + + + + + The storage is open for writing + + + + + The storage is open for append + + + + + The result type of cvSubdiv2DLocate. + + + + + One of input arguments is invalid. + + + + + Point is outside the subdivision reference rectangle + + + + + Point falls into some facet + + + + + Point coincides with one of subdivision vertices + + + + + Point falls onto the edge + + + + + Type for cvSVD + + + + + The default type + + + + + Enables modification of matrix src1 during the operation. It speeds up the processing. + + + + + indicates that only a vector of singular values 'w' is to be processed, while u and vt will be set to empty matrices + + + + + when the matrix is not square, by default the algorithm produces u and vt matrices of + sufficiently large size for the further A reconstruction; if, however, FULL_UV flag is + specified, u and vt will be full-size square orthogonal matrices. + + + + + Methods for comparing two array + + + + + R(x,y)=sumx',y'[T(x',y')-I(x+x',y+y')]2 + + + + + R(x,y)=sumx',y'[T(x',y')-I(x+x',y+y')]2/sqrt[sumx',y'T(x',y')2 sumx',y'I(x+x',y+y')2] + + + + + R(x,y)=sumx',y'[T(x',y') I(x+x',y+y')] + + + + + R(x,y)=sumx',y'[T(x',y') I(x+x',y+y')]/sqrt[sumx',y'T(x',y')2 sumx',y'I(x+x',y+y')2] + + + + + R(x,y)=sumx',y'[T'(x',y') I'(x+x',y+y')], + where T'(x',y')=T(x',y') - 1/(wxh) sumx",y"T(x",y") + I'(x+x',y+y')=I(x+x',y+y') - 1/(wxh) sumx",y"I(x+x",y+y") + + + + + R(x,y)=sumx',y'[T'(x',y') I'(x+x',y+y')]/sqrt[sumx',y'T'(x',y')2 sumx',y'I'(x+x',y+y')2] + + + + + CV TERMCRIT type + + + + + Iteration + + + + + Epsilon + + + + + Types of thresholding + + + + + value = value > threshold ? max_value : 0 + + + + + value = value > threshold ? 0 : max_value + + + + + value = value > threshold ? threshold : value + + + + + value = value > threshold ? value : 0 + + + + + value = value > threshold ? 0 : value + + + + + Mask + + + + + use Otsu algorithm to choose the optimal threshold value; + combine the flag with one of the above CV_THRESH_* values + + + + + Use Triangle algorithm to choose the optimal threshold value + + + + + Types for WarpAffine + + + + + Neither FILL_OUTLIERS nor CV_WRAP_INVERSE_MAP + + + + + Fill all the destination image pixels. If some of them correspond to outliers in the source image, they are set to fillval. + + + + + Indicates that matrix is inverse transform from destination image to source and, thus, can be used directly for pixel interpolation. Otherwise, the function finds the inverse transform from map_matrix. + + + + + A deformable parts model detector + + + + + Create a new dpm detector with the specified files and classes + + A set of file names storing the trained detectors (models). Each file contains one model. + A set of trained models names. If it's empty then the name of each model will be constructed from the name of file containing the model. E.g. the model stored in "/home/user/cat.xml" will get the name "cat". + + + + Return true if the detector is empty + + + + + Get the class names + + + + + get the number of classes + + + + + Perform detection on the image + + The image for detection. + The detection result + + + + Dispose the unmanaged memory associated with this DPM + + + + + Provide interfaces to the Open CV DPM functions + + + + + A DPM detection + + + + + rectangle + + + + + detection score + + + + + class of the detection + + + + + create a detection + + The rectangle + The score + The class id + + + + Provide interfaces to the Open CV Saliency functions + + + + + Compute the saliency. + + The Saliency object + The image. + The computed saliency map. + true if the saliency map is computed, false otherwise + + + + Perform a binary map of given saliency map + + the saliency map obtained through one of the specialized algorithms + the binary map + The StatucSaliency object + True if the binary map is sucessfully computed + + + + A Fast Self-tuning Background Subtraction Algorithm. + + This background subtraction algorithm is inspired to the work of B. Wang and P. Dudek [2] [2] B. Wang and P. Dudek "A Fast Self-tuning Background Subtraction Algorithm", in proc of IEEE Workshop on Change Detection, 2014 + + + + Image width + + + + + Image height + + + + + This function allows the correct initialization of all data structures that will be used by the algorithm. + + The result + + + + constructor + + + + + Pointer to the unmanaged MotionSaliency object + + + + + Pointer to the unmanaged Saliency object + + + + + Pointer to the unmanaged Algorithm object + + + + + Release the unmanaged memory associated with this object + + + + + Objectness algorithms based on [3] [3] Cheng, Ming-Ming, et al. "BING: Binarized normed gradients for objectness estimation at 300fps." IEEE CVPR. 2014 + + + + + W + + + + + NSS + + + + + constructor + + + + + Pointer to the unmanaged Objectness object + + + + + Pointer to the unmanaged Saliency object + + + + + Pointer to the unmanaged Algorithm object + + + + + Release the unmanaged memory associated with this object + + + + + Return the list of the rectangles' objectness value. + + The list of the rectangles' objectness value. + + + + set the correct path from which the algorithm will load the trained model. + + The training path + + + + Base interface for Saliency algorithms + + + + + Pointer to the unmanaged Saliency object + + + + + Base interface for StaticSaliency algorithms + + + + + Pointer to the unmanaged StaticSaliency object + + + + + Base interface for MotionSaliency algorithms + + + + + Pointer to the unmanaged MotionSaliency object + + + + + Base interface for Objectness algorithms + + + + + Pointer to the unmanaged Objectness object + + + + + simulate the behavior of pre-attentive visual search + + + + + constructor + + + + + Pointer to the unmanaged StaticSaliency object + + + + + Pointer to the unmanaged Saliency object + + + + + Pointer to the unmanaged Algorithm object + + + + + Release the unmanaged memory associated with this object + + + + + The Fine Grained Saliency approach from + Sebastian Montabone and Alvaro Soto. Human detection using a mobile platform and novel features derived from a visual saliency mechanism. In Image and Vision Computing, Vol. 28 Issue 3, pages 391–402. Elsevier, 2010. + + This method calculates saliency based on center-surround differences. High resolution saliency maps are generated in real time by using integral images. + + + + constructor + + + + + Pointer to the unmanaged StaticSaliency object + + + + + Pointer to the unmanaged Saliency object + + + + + Pointer to the unmanaged Algorithm object + + + + + Release the unmanaged memory associated with this object + + + + + Class implementing BoostDesc (Learning Image Descriptors with Boosting). + + + See: + V. Lepetit T. Trzcinski, M. Christoudias and P. Fua. Boosting Binary Keypoint Descriptors. In Computer Vision and Pattern Recognition, 2013. + M. Christoudias T. Trzcinski and V. Lepetit. Learning Image Descriptors with Boosting. submitted to IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 2013. + + + + + The type of descriptor + + + + + BGM is the base descriptor where each binary dimension is computed as the output of a single weak learner. + + + + + BGM_HARD refers to same BGM but use different type of gradient binning. In the BGM_HARD that use ASSIGN_HARD binning type the gradient is assigned to the nearest orientation bin. + + + + + BGM_BILINEAR refers to same BGM but use different type of gradient binning. In the BGM_BILINEAR that use ASSIGN_BILINEAR binning type the gradient is assigned to the two neighbouring bins. + + + + + LBGM (alias FP-Boost) is the floating point extension where each dimension is computed as a linear combination of the weak learner responses. + + + + + BINBOOST and subvariants are the binary extensions of LBGM where each bit is computed as a thresholded linear combination of a set of weak learners. + + + + + BINBOOST and subvariants are the binary extensions of LBGM where each bit is computed as a thresholded linear combination of a set of weak learners. + + + + + BINBOOST and subvariants are the binary extensions of LBGM where each bit is computed as a thresholded linear combination of a set of weak learners. + + + + + Create an instance of Boost Descriptor + + type of descriptor to use + sample patterns using keypoints orientation + adjust the sampling window of detected keypoints 6.25f is default and fits for KAZE, SURF detected keypoints window ratio 6.75f should be the scale for SIFT detected keypoints window ratio 5.00f should be the scale for AKAZE, MSD, AGAST, FAST, BRISK keypoints window ratio 0.75f should be the scale for ORB keypoints ratio 1.50f was the default in original implementation + + + + Release all the unmanaged resource associated with BRIEF + + + + + This class wraps the functional calls to the OpenCV XFeatures2D modules + + + + + GMS (Grid-based Motion Statistics) feature matching strategy + + Input size of image1. + Input size of image2. + Input keypoints of image1. + Input keypoints of image2. + Input 1-nearest neighbor matches. + Matches returned by the GMS matching strategy. + Take rotation transformation into account. + Take scale transformation into account. + The higher, the less matches. + + + + BRIEF Descriptor + + + + + Create a BRIEF descriptor extractor. + + The size of descriptor. It can be equal 16, 32 or 64 bytes. + + + + Release all the unmanaged resource associated with BRIEF + + + + + Daisy descriptor. + + + + + Create DAISY descriptor extractor + + Radius of the descriptor at the initial scale. + Amount of radial range division quantity. + Amount of angular range division quantity. + Amount of gradient orientations range division quantity. + Descriptors normalization type. + optional 3x3 homography matrix used to warp the grid of daisy but sampling keypoints remains unwarped on image + Switch to disable interpolation for speed improvement at minor quality loss + Sample patterns using keypoints orientation, disabled by default. + + + + Normalization type + + + + + Will not do any normalization (default) + + + + + Histograms are normalized independently for L2 norm equal to 1.0 + + + + + Descriptors are normalized for L2 norm equal to 1.0 + + + + + Descriptors are normalized for L2 norm equal to 1.0 but no individual one is bigger than 0.154 as in SIFT + + + + + Release all the unmanaged resource associated with BRIEF + + + + + The FREAK (Fast Retina Keypoint) keypoint descriptor: + Alahi, R. Ortiz, and P. Vandergheynst. FREAK: Fast Retina Keypoint. In IEEE Conference on Computer + Vision and Pattern Recognition, 2012. CVPR 2012 Open Source Award Winner. + The algorithm + propose a novel keypoint descriptor inspired by the human visual system and more precisely the retina, coined Fast + Retina Key- point (FREAK). A cascade of binary strings is computed by efficiently comparing image intensities over a + retinal sampling pattern. FREAKs are in general faster to compute with lower memory load and also more robust than + SIFT, SURF or BRISK. They are competitive alternatives to existing keypoints in particular for embedded applications. + + + + + Create a Freak descriptor extractor. + + Enable orientation normalization + Enable scale normalization + Scaling of the description pattern + Number of octaves covered by the detected keypoints. + + + + Release all the unmanaged resource associated with FREAK + + + + + Class implementing the Harris-Laplace feature detector + + + + + Create a HarrisLaplaceFeatureDetector + + the number of octaves in the scale-space pyramid + the threshold for the Harris cornerness measure + the threshold for the Difference-of-Gaussians scale selection + the maximum number of corners to consider + the number of intermediate scales per octave + + + + Release all the unmanaged resource associated with FREAK + + + + + latch Class for computing the LATCH descriptor. + If you find this code useful, please add a reference to the following paper in your work: + Gil Levi and Tal Hassner, "LATCH: Learned Arrangements of Three Patch Codes", arXiv preprint arXiv:1501.03719, 15 Jan. 2015 + LATCH is a binary descriptor based on learned comparisons of triplets of image patches. + + + + + Create LATCH descriptor extractor + + The size of the descriptor - can be 64, 32, 16, 8, 4, 2 or 1 + Whether or not the descriptor should compensate for orientation changes. + the size of half of the mini-patches size. For example, if we would like to compare triplets of patches of size 7x7x + then the half_ssd_size should be (7-1)/2 = 3. + + + + Release all the unmanaged resource associated with BRIEF + + + + + The locally uniform comparison image descriptor: + An image descriptor that can be computed very fast, while being + about as robust as, for example, SURF or BRIEF. + + + + + Create a locally uniform comparison image descriptor. + + Kernel for descriptor construction, where 1=3x3, 2=5x5, 3=7x7 and so forth + kernel for blurring image prior to descriptor construction, where 1=3x3, 2=5x5, 3=7x7 and so forth + + + + Release all the unmanaged resource associated with BRIEF + + + + + Class implementing the MSD (Maximal Self-Dissimilarity) keypoint detector, described in "Federico Tombari and Luigi Di Stefano. Interest points via maximal self-dissimilarities. In Asian Conference on Computer Vision - ACCV 2014, 2014". + + The algorithm implements a novel interest point detector stemming from the intuition that image patches which are highly dissimilar over a relatively large extent of their surroundings hold the property of being repeatable and distinctive. This concept of "contextual self-dissimilarity" reverses the key paradigm of recent successful techniques such as the Local Self-Similarity descriptor and the Non-Local Means filter, which build upon the presence of similar - rather than dissimilar - patches. Moreover, it extends to contextual information the local self-dissimilarity notion embedded in established detectors of corner-like interest points, thereby achieving enhanced repeatability, distinctiveness and localization accuracy. + + + + Create a MSD (Maximal Self-Dissimilarity) keypoint detector. + + Patch radius + Search area raduis + Nms radius + Nms scale radius + Th saliency + Knn + Scale factor + N scales + Compute orientation + + + + Release all the unmanaged resource associated with MSDDetector + + + + + Class implementing PCT (position-color-texture) signature extraction as described in: + Martin Krulis, Jakub Lokoc, and Tomas Skopal. Efficient extraction of clustering-based feature signatures using GPU architectures. Multimedia Tools Appl., 75(13):8071–8103, 2016. + The algorithm is divided to a feature sampler and a clusterizer. Feature sampler produces samples at given set of coordinates. Clusterizer then produces clusters of these samples using k-means algorithm. Resulting set of clusters is the signature of the input image. + A signature is an array of SIGNATURE_DIMENSION-dimensional points.Used dimensions are: weight, x, y position; lab color, contrast, entropy. + + + + + Color resolution of the greyscale bitmap represented in allocated bits (i.e., value 4 means that 16 shades of grey are used). The greyscale bitmap is used for computing contrast and entropy values. + + + + + Size of the texture sampling window used to compute contrast and entropy. (center of the window is always in the pixel selected by x,y coordinates of the corresponding feature sample). + + + + + Weights (multiplicative constants) that linearly stretch individual axes of the feature space. (x,y = position. L,a,b = color in CIE Lab space. c = contrast. e = entropy) + + + + + Weights (multiplicative constants) that linearly stretch individual axes of the feature space. (x,y = position. L,a,b = color in CIE Lab space. c = contrast. e = entropy) + + + + + Weights (multiplicative constants) that linearly stretch individual axes of the feature space. (x,y = position. L,a,b = color in CIE Lab space. c = contrast. e = entropy) + + + + + Weights (multiplicative constants) that linearly stretch individual axes of the feature space. (x,y = position. L,a,b = color in CIE Lab space. c = contrast. e = entropy) + + + + + Weights (multiplicative constants) that linearly stretch individual axes of the feature space. (x,y = position. L,a,b = color in CIE Lab space. c = contrast. e = entropy) + + + + + Weights (multiplicative constants) that linearly stretch individual axes of the feature space. (x,y = position. L,a,b = color in CIE Lab space. c = contrast. e = entropy) + + + + + Number of iterations of the k-means clustering. We use fixed number of iterations, since the modified clustering is pruning clusters (not iteratively refining k clusters). + + + + + Maximal number of generated clusters. If the number is exceeded, the clusters are sorted by their weights and the smallest clusters are cropped. + + + + + This parameter multiplied by the index of iteration gives lower limit for cluster size. Clusters containing fewer points than specified by the limit have their centroid dismissed and points are reassigned. + + + + + Threshold euclidean distance between two centroids. If two cluster centers are closer than this distance, one of the centroid is dismissed and points are reassigned. + + + + + Remove centroids in k-means whose weight is lesser or equal to given threshold. + + + + + Distance function selector used for measuring distance between two points in k-means. + + + + + Point distributions supported by random point generator. + + + + + Generate numbers uniformly. + + + + + Generate points in a regular grid. + + + + Generate points with normal (gaussian) distribution. + + + + Creates PCTSignatures algorithm using sample and seed count. It generates its own sets of sampling points and clusterization seed indexes. + + Number of points used for image sampling. + Number of initial clusterization seeds. Must be lower or equal to initSampleCount + Distribution of generated points. + + + + Creates PCTSignatures algorithm using pre-generated sampling points and number of clusterization seeds. It uses the provided sampling points and generates its own clusterization seed indexes. + + Sampling points used in image sampling. + Number of initial clusterization seeds. Must be lower or equal to initSamplingPoints.size(). + + + + Creates PCTSignatures algorithm using pre-generated sampling points and clusterization seeds indexes. + + Sampling points used in image sampling. + Indexes of initial clusterization seeds. Its size must be lower or equal to initSamplingPoints.size(). + + + + Release the unmanaged memory associated with this PCTSignatures object + + + + + Computes signature of given image. + + Input image of CV_8U type. + Output computed signature. + + + + Draws signature in the source image and outputs the result. Signatures are visualized as a circle with radius based on signature weight and color based on signature color. Contrast and entropy are not visualized. + + Source image. + Image signature. + Output result. + Determines maximal radius of signature in the output image. + Border thickness of the visualized signature. + + + + Class implementing Signature Quadratic Form Distance (SQFD). + + See also: Christian Beecks, Merih Seran Uysal, Thomas Seidl. Signature quadratic form distance. In Proceedings of the ACM International Conference on Image and Video Retrieval, pages 438-445. ACM, 2010. + + + + Lp distance function selector. + + + + + L0_25 + + + + + L0_5 + + + + + L1 + + + + + L2 + + + + + L2 squared + + + + + L5 + + + + + L infinity + + + + + Similarity function selector. + + + + + -d(c_i, c_j) + + + + + e^{ -alpha * d^2(c_i, c_j)} + + + + + 1 / (alpha + d(c_i, c_j)) + + + + + Creates the algorithm instance using selected distance function, similarity function and similarity function parameter. + + Distance function selector. + Similarity function selector. + Parameter of the similarity function. + + + + Computes Signature Quadratic Form Distance of two signatures. + + The first signature. + The second signature. + The Signature Quadratic Form Distance of two signatures + + + + Computes Signature Quadratic Form Distance between the reference signature and each of the other image signatures. + + The signature to measure distance of other signatures from. + Vector of signatures to measure distance from the source signature. + Output vector of measured distances. + + + + Release the unmanaged memory associated with this PCTSignaturesSQFD object + + + + + StarDetector + + + + + Create a star detector with the specific parameters + + + Maximum size of the features. The following + values of the parameter are supported: + 4, 6, 8, 11, 12, 16, 22, 23, 32, 45, 46, 64, 90, 128 + + Threshold for the approximated laplacian, + used to eliminate weak features. The larger it is, + the less features will be retrieved + + + Another threshold for the laplacian to eliminate edges. + The larger the threshold, the more points you get. + + + Another threshold for the feature size to eliminate edges. + The larger the threshold, the more points you get. + + Suppress Nonmax Size + + + + + Release the unmanaged memory associated with this detector. + + + + + Class implementing VGG (Oxford Visual Geometry Group) descriptor trained end to end using "Descriptor Learning Using Convex Optimisation" (DLCO) aparatus + + See: K. Simonyan, A. Vedaldi, and A. Zisserman. Learning local feature descriptors using convex optimisation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014. + + + + The VGG descriptor type + + + + + 120 dimension float + + + + + 80 dimension float + + + + + 64 dimension float + + + + + 48 dimension float + + + + + Create an instance of VGG + + Type of descriptor to use + gaussian kernel value for image blur + use image sample intensity normalization + sample patterns using keypoints orientation + adjust the sampling window of detected keypoints to 64.0f (VGG sampling window) 6.25f is default and fits for KAZE, SURF detected keypoints window ratio 6.75f should be the scale for SIFT detected keypoints window ratio 5.00f should be the scale for AKAZE, MSD, AGAST, FAST, BRISK keypoints window ratio 0.75f should be the scale for ORB keypoints ratio + clamp descriptors to 255 and convert to uchar CV_8UC1 + + + + Release all the unmanaged resource associated with VGG + + + + + Basic Face Recognizer + + + + + The native pointer to the BasicFaceRecognizer object + + + + + Implementation of bio-inspired features (BIF) from the paper: Guo, Guodong, et al. "Human age estimation using bio-inspired features." Computer Vision and Pattern Recognition, 2009. CVPR 2009. + + + + + Create an instance of bio-inspired features + + The number of filter bands used for computing BIF. + The number of image rotations. + + + + Computes features by input image. + + Input image (CV_32FC1) + Feature vector (CV_32FC1) + + + + Release the unmanaged memory associated with this BIF + + + + + Class that contains entry points for the Face module. + + + Class that contains entry points for the Face module. + + + Class that contains entry points for the Face module. + + + Class that contains entry points for the Face module. + + + + + A function to load the trained model before the fitting process. + + The facemark object + A string represent the filename of a trained model. + + + + Trains a Facemark algorithm using the given dataset. + + The facemark object + Input image. + Represent region of interest of the detected faces. Each face is stored in cv::Rect container. + The detected landmark points for each faces. + True if successful + + + + Utility to draw the detected facial landmark points. + + The input image to be processed. + Contains the data of points which will be drawn. + The color of points in BGR format + + + + Eigen face recognizer + + + + + Create an EigenFaceRecognizer + + The number of components + The distance threshold + + + + Release the unmanaged memory associated with this EigenFaceRecognizer + + + + + Parameters for the FacemarkAAM model + + + + + Create the paramaters with the default values. + + + + + Release the unmanaged memory associated with this object. + + + + + filename where the trained model will be saved + + + + + M + + + + + N + + + + + Number of iteration + + + + + show the training print-out + + + + + flag to save the trained model or not + + + + + The maximum value of M + + + + + The maximum value of N + + + + + The Facemark AMM model + + + + + Pointer to the unmanaged Facemark object + + + + + Pointer to the unmanaged Algorithm object + + + + + Create an instance of FacemarkAAM model + + The model parameters + + + + Release all the unmanaged memory associated with this Facemark + + + + + Parameters for the FacemarkLBF model + + + + + Create the paramaters with the default values. + + + + + Release the unmanaged memory associated with this object. + + + + + offset for the loaded face landmark points + + + + + show the training print-out + + + + + number of landmark points + + + + + multiplier for augment the training data + + + + + number of refinement stages + + + + + number of tree in the model for each landmark point refinement + + + + + the depth of decision tree, defines the size of feature + + + + + overlap ratio for training the LBF feature + + + + + flag to save the trained model or not + + + + + filename of the face detector model + + + + + filename where the trained model will be saved + + + + + The FacemarkLBF model + + + + + Pointer to the unmanaged Facemark object + + + + + Pointer to the unmanaged Algorithm object + + + + + Create an instance of the FacemarkLBF model + + The model parameters + + + + Release all the unmanaged memory associated with this Facemark + + + + + Face Recognizer + + + + + The native pointer to the FaceRecognizer object + + + + + Train the face recognizer with the specific images and labels + + The images used in the training. This can be a VectorOfMat + The labels of the images. This can be a VectorOfInt + + + + Train the face recognizer with the specific images and labels + + The images used in the training. + The labels of the images. + + + + Predict the label of the image + + The image where prediction will be based on + The prediction label + + + + The prediction result + + + + + The label + + + + + The distance + + + + + Save the FaceRecognizer to a file + + The file name to be saved to + + + + Load the FaceRecognizer from the file + + The file where the FaceRecognizer will be loaded from + + + + Release the unmanaged memory associated with this FaceRecognizer + + + + + Fisher face recognizer + + + + + Create a FisherFaceRecognizer + + The number of components + The distance threshold + + + + Release the unmanaged memory associated with this FisherFaceRecognizer + + + + + Interface to the Facemark class + + + + + Return the pointer to the Facemark object + + The pointer to the Facemark object + + + + LBPH face recognizer + + + + + Create a LBPH face recognizer + + Radius + Neighbors + Grid X + Grid Y + The distance threshold + + + + Updates a FaceRecognizer with given data and associated labels. + + The training images, that means the faces you want to learn. The data has to be given as a VectorOfMat. + The labels corresponding to the images + + + + Update the face recognizer with the specific images and labels + + The images used for updating the face recognizer + The labels of the images + + + + Release the unmanaged memory associated with this FisherFaceRecognizer + + + + + Minimum Average Correlation Energy Filter useful for authentication with (cancellable) biometrical features. (does not need many positives to train (10-50), and no negatives at all, also robust to noise/salting) + + + + + Create a new MACE object + + images will get resized to this (should be an even number) + + + + optionally encrypt images with random convolution + + a crc64 random seed will get generated from this + + + + train it on positive features compute the mace filter: h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C also calculate a minimal threshold for this class, the smallest self-similarity from the train images + + A VectorOfMat with the train images + + + + correlate query img and threshold to min class value + + a Mat with query image + True if the query is the same + + + + Release the unmanaged memory associated with this BIF + + + + + Base class for 1st and 2nd stages of Neumann and Matas scene text detection algorithm + + + + + The native pointer to the shared object. + + + + + Release all the unmanaged memory associate with this ERFilter + + + + + Takes image on input and returns the selected regions in a vector of ERStat only distinctive ERs which correspond to characters are selected by a sequential classifier + + Single channel image CV_8UC1 + Output for the 1st stage and Input/Output for the 2nd. The selected Extremal Regions are stored here. + + + + The grouping method + + + + + Only perform grouping horizontally. + + + + + Perform grouping in any orientation. + + + + + Find groups of Extremal Regions that are organized as text blocks. + + The image where ER grouping is to be perform on + Array of single channel images from which the regions were extracted + Vector of ER’s retrieved from the ERFilter algorithm from each channel + The XML or YAML file with the classifier model (e.g. trained_classifier_erGrouping.xml) + The minimum probability for accepting a group. + The grouping methods + The output of the algorithm that indicates the text regions + + + + Extremal Region Filter for the 1st stage classifier of N&M algorithm + + + + + Create an Extremal Region Filter for the 1st stage classifier of N&M algorithm + + The file name of the classifier + Threshold step in subsequent thresholds when extracting the component tree. + The minimum area (% of image size) allowed for retreived ER’s. + The maximum area (% of image size) allowed for retreived ER’s. + The minimum probability P(er|character) allowed for retreived ER’s. + Whenever non-maximum suppression is done over the branch probabilities. + The minimum probability difference between local maxima and local minima ERs. + + + + Extremal Region Filter for the 2nd stage classifier of N&M algorithm + + + + + Create an Extremal Region Filter for the 2nd stage classifier of N&M algorithm + + The file name of the classifier + The minimum probability P(er|character) allowed for retreived ER’s. + + + + computeNMChannels operation modes + + + + + A combination of red (R), green (G), blue (B), lightness (L), and gradient + magnitude (Grad). + + + + + In N&M algorithm, the combination of intensity (I), hue (H), saturation (S), and gradient magnitude + channels (Grad) are used in order to obtain high localization recall. + + + + + This class wraps the functional calls to the OpenCV Text modules + + + + + Converts MSER contours (vector of point) to ERStat regions. + + Source image CV_8UC1 from which the MSERs where extracted. + Input vector with all the contours (vector of Point). + Output where the ERStat regions are stored. + + + + Compute the different channels to be processed independently in the N&M algorithm. + + Source image. Must be RGB CV_8UC3. + Output vector of Mat where computed channels are stored. + Mode of operation + + + + The ERStat structure represents a class-specific Extremal Region (ER). + An ER is a 4-connected set of pixels with all its grey-level values smaller than the values in its outer boundary. + A class-specific ER is selected (using a classifier) from all the ER’s in the component tree of the image. + + + + + Seed point + + + + + Threshold (max grey-level value) + + + + + Area + + + + + Perimeter + + + + + Euler number + + + + + Bounding box + + + + + Order 1 raw moments to derive the centroid + + + + + Order 1 raw moments to derive the centroid + + + + + Order 2 central moments to construct the covariance matrix + + + + + Order 2 central moments to construct the covariance matrix + + + + + Order 2 central moments to construct the covariance matrix + + + + + Pointer owner to horizontal crossings + + + + + Pointer to horizontal crossings + + + + + Median of the crossings at three different height levels + + + + + Hole area ratio + + + + + Convex hull ratio + + + + + Number of inflexion points + + + + + Get the pixels list. + + + + + Probability that the ER belongs to the class we are looking for + + + + + Pointer to the parent ERStat + + + + + Pointer to the child ERStat + + + + + Pointer to the next ERStat + + + + + Pointer to the previous ERStat + + + + + If or not the regions is a local maxima of the probability + + + + + Pointer to the ERStat that is the max probability ancestor + + + + + Pointer to the ERStat that is the min probability ancestor + + + + + Get the center of the region + + The source image width + The center of the region + + + + Wrapped class of the C++ standard vector of ERStat. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of ERStat + + + + + Create an standard vector of ERStat of the specific size + + The size of the vector + + + + Create an standard vector of ERStat with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of ERStat + + An array of ERStat + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Wrapped class of the C++ standard vector of VectorOfERStat. + + + + + Create an empty standard vector of VectorOfERStat + + + + + Create an standard vector of VectorOfERStat of the specific size + + The size of the vector + + + + Create an standard vector of VectorOfERStat with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Create the standard vector of VectorOfERStat + + + + + Convert the standard vector to arrays of int + + Arrays of int + + + + Draw UTF-8 strings with freetype/harfbuzz. + + + + + Create instance to draw UTF-8 strings. + + + + + Native algorithm pointer + + + + + Load font data. + + FontFile Name + Face index to select a font faces in a single file. + + + + Set the number of split points from bezier-curve to line. If you want to draw large glyph, large is better. If you want to draw small glyph, small is better. + + Number of split points from bezier-curve to line + + + + Renders the specified text string in the image. Symbols that cannot be rendered using the specified font are replaced by "Tofu" or non-drawn. + + Image. + Text string to be drawn. + Bottom-left/Top-left corner of the text string in the image. + Drawing font size by pixel unit. + Text color. + Thickness of the lines used to draw a text when negative, the glyph is filled. Otherwise, the glyph is drawn with this thickness. + Line type + When true, the image data origin is at the bottom-left corner. Otherwise, it is at the top-left corner. + + + + Calculates the width and height of a text string. + + Input text string. + Drawing font size by pixel unit. + Thickness of lines used to render the text. + y-coordinate of the baseline relative to the bottom-most text point. + The approximate size of a box that contains the specified text + + + + Release all the unmanaged memory associate with this object + + + + + This class wraps the functional calls to the OpenCV Freetype modules + + + + + Background subtraction based on counting. + + About as fast as MOG2 on a high end system. More than twice faster than MOG2 on cheap hardware (benchmarked on Raspberry Pi3). + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Creates a CNT Background Subtractor. + + number of frames with same pixel color to consider stable + determines if we're giving a pixel credit for being stable for a long time + maximum allowed credit for a pixel in history + determines if we're parallelizing the algorithm + + + + Release all the unmanaged memory associated with this background model. + + + + + Background Subtractor module based on the algorithm given in: + Andrew B. Godbehere, Akihiro Matsukawa, Ken Goldberg, + "Visual Tracking of Human Visitors under Variable-Lighting Conditions for a Responsive Audio Art Installation", + American Control Conference, Montreal, June 2012. + + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Create a background subtractor module based on GMG + + Number of frames used to initialize the background models. + Threshold value, above which it is marked foreground, else background. + + + + Release all the unmanaged memory associated with this background model. + + + + + Implementation of the different yet better algorithm which is called GSOC, as it was implemented during GSOC and was not originated from any paper. + + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Creates an instance of BackgroundSubtractorGSOC algorithm. + + Whether to use camera motion compensation. + Number of samples to maintain at each point of the frame. + Probability of replacing the old sample - how fast the model will update itself. + Probability of propagating to neighbors. + How many positives the sample must get before it will be considered as a possible replacement. + Scale coefficient for threshold. + Bias coefficient for threshold. + Blinking supression decay factor. + Blinking supression multiplier. + Strength of the noise removal for background points. + Strength of the noise removal for foreground points. + + + + Release all the unmanaged memory associated with this background model. + + + + + Background Subtraction using Local SVD Binary Pattern. + + More details about the algorithm can be found at: L. Guo, D. Xu, and Z. Qiang. Background subtraction using local svd binary pattern. In 2016 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), pages 1159–1167, June 2016. + + + + Camera Motion compensation mode + + + + + None + + + + + Use LK camera compensation + + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Creates an instance of BackgroundSubtractorLSBP algorithm. + + Whether to use camera motion compensation. + Number of samples to maintain at each point of the frame. + LSBP descriptor radius. + Lower bound for T-values. + Upper bound for T-values. + Increase step for T-values. + Decrease step for T-values. + Scale coefficient for threshold values. + Increase/Decrease step for threshold values. + Strength of the noise removal for background points. + Strength of the noise removal for foreground points. + Threshold for LSBP binary string. + Minimal number of matches for sample to be considered as foreground. + + + + Release all the unmanaged memory associated with this background model. + + + + + Gaussian Mixture-based Background/Foreground Segmentation Algorithm. + The class implements the following algorithm: + "An improved adaptive background mixture model for real-time tracking with shadow detection" + P. KadewTraKuPong and R. Bowden, + Proc. 2nd European Workshp on Advanced Video-Based Surveillance Systems, 2001." + + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Create an "Improved adaptive Gaussian mixture model for background subtraction". + + The length of the history. + The maximum number of gaussian mixtures. + Background ratio + Noise strength (standard deviation of the brightness or each color channel). 0 means some automatic value. + + + + Release all the unmanaged memory associated with this background model. + + + + + Class that contains entry points for the Contrib module. + + + + + Disparity map filter based on Weighted Least Squares filter (in form of Fast Global Smoother that is a lot faster than traditional Weighted Least Squares filter implementations) and optional use of left-right-consistency-based confidence to refine the results in half-occlusions and uniform areas. + + + + + Pointer to cv::Algorithm + + + + + Pointer to the native DisparityFilter + + + + + Creates an instance of DisparityWLSFilter and sets up all the relevant filter parameters automatically based on the matcher instance. Currently supports only StereoBM and StereoSGBM. + + stereo matcher instance that will be used with the filter + + + + Create instance of DisparityWLSFilter and execute basic initialization routines. When using this method you will need to set-up the ROI, matchers and other parameters by yourself. + + Filtering with confidence requires two disparity maps (for the left and right views) and is approximately two times slower. However, quality is typically significantly better. + + + + Release the unmanaged memory associated with this DisparityWLSFilter + + + + + The matcher for computing the right-view disparity map that is required in case of filtering with confidence. + + + + + Pointer to the stereo matcher + + + + + Set up the matcher for computing the right-view disparity map that is required in case of filtering with confidence. + + Main stereo matcher instance that will be used with the filter + + + + Release the unmanaged memory associated with the RightMatcher + + + + + Library to invoke XImgproc functions + + + Extended Image Processing + + + + + Apply filtering to the disparity map. + + The disparity filter + Disparity map of the left view, 1 channel, CV_16S type. Implicitly assumes that disparity values are scaled by 16 (one-pixel disparity corresponds to the value of 16 in the disparity map). Disparity map can have any resolution, it will be automatically resized to fit left_view resolution. + Left view of the original stereo-pair to guide the filtering process, 8-bit single-channel or three-channel image. + Output disparity map. + Optional argument, some implementations might also use the disparity map of the right view to compute confidence maps, for instance. + Region of the disparity map to filter. Optional, usually it should be set automatically. + Optional argument, some implementations might also use the right view of the original stereo-pair. + + + + Applies the joint bilateral filter to an image. + + Joint 8-bit or floating-point, 1-channel or 3-channel image. + Source 8-bit or floating-point, 1-channel or 3-channel image with the same depth as joint image. + Destination image of the same size and type as src . + Diameter of each pixel neighborhood that is used during filtering. If it is non-positive, it is computed from sigmaSpace . + Filter sigma in the color space. A larger value of the parameter means that farther colors within the pixel neighborhood (see sigmaSpace ) will be mixed together, resulting in larger areas of semi-equal color. + Filter sigma in the coordinate space. A larger value of the parameter means that farther pixels will influence each other as long as their colors are close enough (see sigmaColor ). When d>0 , it specifies the neighborhood size regardless of sigmaSpace . Otherwise, d is proportional to sigmaSpace . + Border type + + + + Applies the bilateral texture filter to an image. It performs structure-preserving texture filter. + + Source image whose depth is 8-bit UINT or 32-bit FLOAT + Destination image of the same size and type as src. + Radius of kernel to be used for filtering. It should be positive integer + Number of iterations of algorithm, It should be positive integer + Controls the sharpness of the weight transition from edges to smooth/texture regions, where a bigger value means sharper transition. When the value is negative, it is automatically calculated. + Range blur parameter for texture blurring. Larger value makes result to be more blurred. When the value is negative, it is automatically calculated as described in the paper. + For more details about this filter see: Hojin Cho, Hyunjoon Lee, Henry Kang, and Seungyong Lee. Bilateral texture filtering. ACM Transactions on Graphics, 33(4):128:1–128:8, July 2014. + + + + Applies the rolling guidance filter to an image + + Source 8-bit or floating-point, 1-channel or 3-channel image. + Destination image of the same size and type as src. + Diameter of each pixel neighborhood that is used during filtering. If it is non-positive, it is computed from sigmaSpace . + Filter sigma in the color space. A larger value of the parameter means that farther colors within the pixel neighborhood (see sigmaSpace ) will be mixed together, resulting in larger areas of semi-equal color. + Filter sigma in the coordinate space. A larger value of the parameter means that farther pixels will influence each other as long as their colors are close enough (see sigmaColor ). When d>0 , it specifies the neighborhood size regardless of sigmaSpace . Otherwise, d is proportional to sigmaSpace . + Number of iterations of joint edge-preserving filtering applied on the source image. + Border type + + + + Simple one-line Fast Global Smoother filter call. + + image serving as guide for filtering. It should have 8-bit depth and either 1 or 3 channels. + source image for filtering with unsigned 8-bit or signed 16-bit or floating-point 32-bit depth and up to 4 channels. + destination image. + parameter defining the amount of regularization + parameter, that is similar to color space sigma in bilateralFilter. + internal parameter, defining how much lambda decreases after each iteration. Normally, it should be 0.25. Setting it to 1.0 may lead to streaking artifacts. + number of iterations used for filtering, 3 is usually enough. + + + + Global image smoothing via L0 gradient minimization. + + Source image for filtering with unsigned 8-bit or signed 16-bit or floating-point depth. + Destination image. + Parameter defining the smooth term weight. + Parameter defining the increasing factor of the weight of the gradient data term. + + + + Simple one-line Adaptive Manifold Filter call. + + joint (also called as guided) image or array of images with any numbers of channels. + filtering image with any numbers of channels. + output image. + spatial standard deviation. + color space standard deviation, it is similar to the sigma in the color space into bilateralFilter. + optional, specify perform outliers adjust operation or not, (Eq. 9) in the original paper. + + + + Simple one-line Guided Filter call. + + guided image (or array of images) with up to 3 channels, if it have more then 3 channels then only first 3 channels will be used. + filtering image with any numbers of channels. + output image. + radius of Guided Filter. + regularization term of Guided Filter. eps^2 is similar to the sigma in the color space into bilateralFilter. + optional depth of the output image. + + + + Simple one-line Domain Transform filter call. + + guided image (also called as joint image) with unsigned 8-bit or floating-point 32-bit depth and up to 4 channels. + filtering image with unsigned 8-bit or floating-point 32-bit depth and up to 4 channels. + output image + parameter in the original article, it's similar to the sigma in the coordinate space into bilateralFilter. + parameter in the original article, it's similar to the sigma in the color space into bilateralFilter. + Dt filter mode + optional number of iterations used for filtering, 3 is quite enough. + + + + Niblack threshold + + The source image + The output result + Value that defines which local binarization algorithm should be used. + Block size + delta + Maximum value to use with CV_THRESH_BINARY and CV_THRESH_BINARY_INV thresholding types + + + + Computes the estimated covariance matrix of an image using the sliding window forumlation. + + The source image. Input image must be of a complex type. + The destination estimated covariance matrix. Output matrix will be size (windowRows*windowCols, windowRows*windowCols). + The number of rows in the window. + The number of cols in the window. The window size parameters control the accuracy of the estimation. The sliding window moves over the entire image from the top-left corner to the bottom right corner. Each location of the window represents a sample. If the window is the size of the image, then this gives the exact covariance matrix. For all other cases, the sizes of the window will impact the number of samples and the number of elements in the estimated covariance matrix. + + + + Applies weighted median filter to an image. + + Joint 8-bit, 1-channel or 3-channel image. + Source 8-bit or floating-point, 1-channel or 3-channel image. + Destination image. + Radius of filtering kernel, should be a positive integer. + Filter range standard deviation for the joint image. + The type of weight definition + A 0-1 mask that has the same size with I. This mask is used to ignore the effect of some pixels. If the pixel value on mask is 0, the pixel will be ignored when maintaining the joint-histogram. This is useful for applications like optical flow occlusion handling. + For more details about this implementation, please see: Qi Zhang, Li Xu, and Jiaya Jia. 100+ times faster weighted median filter (wmf). In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 2830–2837. IEEE, 2014. + + + + Applies Paillou filter to an image. + + Source 8-bit or 16bit image, 1-channel or 3-channel image. + result CV_32F image with same number of channel than op. + see paper + see paper + For more details about this implementation, please see: Philippe Paillou. Detecting step edges in noisy sar images: a new linear operator. IEEE transactions on geoscience and remote sensing, 35(1):191–196, 1997. + + + + Applies Paillou filter to an image. + + Source 8-bit or 16bit image, 1-channel or 3-channel image. + result CV_32F image with same number of channel than op. + see paper + see paper + For more details about this implementation, please see: Philippe Paillou. Detecting step edges in noisy sar images: a new linear operator. IEEE transactions on geoscience and remote sensing, 35(1):191–196, 1997. + + + + Applies Y Deriche filter to an image. + + Source 8-bit or 16bit image, 1-channel or 3-channel image. + result CV_32FC image with same number of channel than _op. + see paper + see paper + For more details about this implementation, please see here + + + + Applies X Deriche filter to an image. + + Source 8-bit or 16bit image, 1-channel or 3-channel image. + result CV_32FC image with same number of channel than _op. + see paper + see paper + For more details about this implementation, please see http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.476.5736&rep=rep1&type=pdf + + + + Applies a binary blob thinning operation, to achieve a skeletization of the input image. + The function transforms a binary blob image into a skeletized form using the technique of Zhang-Suen. + + Source 8-bit single-channel image, containing binary blobs, with blobs having 255 pixel values. + Destination image of the same size and the same type as src. The function can work in-place. + Value that defines which thinning algorithm should be used. + + + + Performs anisotropic diffusion on an image. + + Grayscale Source image. + Destination image of the same size and the same number of channels as src . + The amount of time to step forward by on each iteration (normally, it's between 0 and 1). + sensitivity to the edges + The number of iterations + + + + Brighten the edges of the image + + The source image + The result + Contrast + Short Range + Long Range + + + + Interface for realizations of Domain Transform filter. + + + + + The three modes for filtering 2D signals in the article. + + + + + NC + + + + + IC + + + + + RF + + + + + Create instance of DTFilter and produce initialization routines. + + Guided image (used to build transformed distance, which describes edge structure of guided image). + Parameter in the original article, it's similar to the sigma in the coordinate space into bilateralFilter. + Parameter in the original article, it's similar to the sigma in the color space into bilateralFilter. + One form three modes DTF_NC, DTF_RF and DTF_IC which corresponds to three modes for filtering 2D signals in the article. + Optional number of iterations used for filtering, 3 is quite enough. + + + + Produce domain transform filtering operation on source image. + + Filtering image with unsigned 8-bit or floating-point 32-bit depth and up to 4 channels. + Destination image. + Optional depth of the output image. dDepth can be set to Default, which will be equivalent to src.depth(). + + + + Release the unmanaged memory associated with this object + + + + + Domain Transform filter type + + + + + NC + + + + + IC + + + + + RF + + + + + Class implementing EdgeBoxes algorithm from C. Lawrence Zitnick and Piotr Dollár. Edge boxes: Locating object proposals from edges. In ECCV, 2014. + + + + + Pointer to cv::Algorithm + + + + + Create an EdgeBox + + Step size of sliding window search. + Nms threshold for object proposals. + Adaptation rate for nms threshold. + Min score of boxes to detect. + Max number of boxes to detect. + Edge min magnitude. Increase to trade off accuracy for speed. + Edge merge threshold. Increase to trade off accuracy for speed. + Cluster min magnitude. Increase to trade off accuracy for speed. + Max aspect ratio of boxes. + Minimum area of boxes. + Affinity sensitivity. + Scale sensitivity. + + + + Returns array containing proposal boxes. + + edge image. + orientation map. + Proposal boxes. + + + + + + + Class implementing the FLD (Fast Line Detector) algorithm + + + + + Initializes a new instance of the FastLineDetector object. + + Segment shorter than this will be discarded. + A point placed from a hypothesis line segment farther than this will be regarded as an outlier. + First threshold for hysteresis procedure in Canny(). + Second threshold for hysteresis procedure in Canny(). + Aperture size for the Sobel operator in Canny(). + If true, incremental merging of segments will be performed + + + + Finds lines in the input image. + + Image to detect lines in. + The detected line segments + + + + Draws the line segments on a given image. + + The image, where the lines will be drawn. Should be bigger or equal to the image, where the lines were found. + A vector of the lines that needed to be drawn. + If true, arrow heads will be drawn. + + + + + + + Graph Based Segmentation Algorithm. The class implements the algorithm described in Pedro F Felzenszwalb and Daniel P Huttenlocher. Efficient graph-based image segmentation. volume 59, pages 167 - 181. Springer, 2004. + + + + + Creates a graph based segmentor. + + The sigma parameter, used to smooth image + The k parameter of the algorithm + The minimum size of segments + + + + Segment an image and store output in dst. + + The input image. Any number of channel (1 (Eg: Gray), 3 (Eg: RGB), 4 (Eg: RGB-D)) can be provided + The output segmentation. It's a CV_32SC1 Mat with the same number of cols and rows as input image, with an unique, sequential, id for each pixel. + + + + Release the unmanaged memory associated with this object. + + + + + Main interface for all disparity map filters. + + + + + Pointer to the native diaprty filter object + + + + + LocalBinarizationMethods type + + + + + Classic Niblack binarization. + + + + + Sauvola's technique. + + + + + Wolf's technique. + + + + + NICK's technique. + + + + + Applies Ridge Detection Filter to an input image. + Implements Ridge detection similar to the one in [Mathematica] (http://reference.wolfram.com/language/ref/RidgeFilter.html) + using the eigen values from the Hessian Matrix of the input image using Sobel Derivatives. + Additional refinement can be done using Skeletonization and Binarization. + + + + + Pointer to cv::Algorithm + + + + + Create a Ridge detection filter. + + Specifies output image depth. + Specifies output image channel. + Order of derivative x + Order of derivative y + Sobel kernel size + Converted format for output + Converted format for output + Optional scale value for derivative values + Optional bias added to output + Pixel extrapolation method + + + + Apply Ridge detection filter on input image. + + InputArray as supported by Sobel. img can be 1-Channel or 3-Channels. + Output image with ridges. + + + + + + + Selective search segmentation algorithm The class implements the algorithm described in: + Jasper RR Uijlings, Koen EA van de Sande, Theo Gevers, and Arnold WM Smeulders. Selective search for object recognition. International journal of computer vision, 104(2):154–171, 2013. + + + + + Selective search segmentation algorithm + + + + + Set a image used by switch* functions to initialize the class. + + The image + + + + Initialize the class with the 'Single stragegy' parameters + + The k parameter for the graph segmentation + The sigma parameter for the graph segmentation + + + + Initialize the class with the 'Selective search fast' parameters + + The k parameter for the first graph segmentation + The increment of the k parameter for all graph segmentations + The sigma parameter for the graph segmentation + + + + Initialize the class with the 'Selective search quality' parameters + + The k parameter for the first graph segmentation + The increment of the k parameter for all graph segmentations + The sigma parameter for the graph segmentation + + + + Add a new image in the list of images to process. + + The image + + + + Based on all images, graph segmentations and stragies, computes all possible rects and return them. + + The list of rects. The first ones are more relevents than the lasts ones. + + + + Release the unmanaged memory associated with this object. + + + + + Class implementing edge detection algorithm from Piotr Dollar and C Lawrence Zitnick. Structured forests for fast edge detection. In Computer Vision (ICCV), 2013 IEEE International Conference on, pages 1841-1848. IEEE, 2013. + + + + + Create an edge detection algorithm. + + name of the file where the model is stored + optional object inheriting from RFFeatureGetter. You need it only if you would like to train your own forest, pass NULL otherwise + + + + The function detects edges in src and draw them to dst. The algorithm underlies this function is much more robust to texture presence, than common approaches, e.g. Sobel + + source image (RGB, float, in [0;1]) to detect edges + destination image (grayscale, float, in [0;1]) where edges are drawn + + + + The function computes orientation from edge image. + + Edge image. + Orientation image. + + + + The function edgenms in edge image and suppress edges where edge is stronger in orthogonal direction. + + edge image from DetectEdges function. + orientation image from ComputeOrientation function. + Suppressed image (grayscale, float, in [0;1]) + Radius for NMS suppression. + Radius for boundary suppression. + Multiplier for conservative suppression. + Enables/disables parallel computing. + + + + Release the unmanaged memory associated with this object. + + + + + Helper class for training part of [P. Dollar and C. L. Zitnick. Structured Forests for Fast Edge Detection, 2013]. + + + + + Create a default RFFeatureGetter + + + + + Release the unmanaged memory associated with this RFFeatureGetter. + + + + + Class implementing the LSC (Linear Spectral Clustering) superpixels algorithm described in "Zhengqin Li and Jiansheng Chen. Superpixel segmentation using linear spectral clustering. June 2015." + + LSC (Linear Spectral Clustering) produces compact and uniform superpixels with low computational costs. Basically, a normalized cuts formulation of the superpixel segmentation is adopted based on a similarity metric that measures the color similarity and space proximity between image pixels. LSC is of linear computational complexity and high memory efficiency and is able to preserve global properties of images + + + + The function initializes a SuperpixelLSC object for the input image. + + Image to segment + Chooses an average superpixel size measured in pixels + Chooses the enforcement of superpixel compactness factor of superpixel + + + + Calculates the actual amount of superpixels on a given segmentation computed and stored in SuperpixelLSC object + + + + + Returns the segmentation labeling of the image. + Each label represents a superpixel, and each pixel is assigned to one superpixel label. + + A CV_32SC1 integer array containing the labels of the superpixel segmentation. The labels are in the range [0, NumberOfSuperpixels]. + + + + Returns the mask of the superpixel segmentation stored in SuperpixelLSC object. + + Return: CV_8U1 image mask where -1 indicates that the pixel is a superpixel border, and 0 otherwise. + If false, the border is only one pixel wide, otherwise all pixels at the border are masked. + + + + Calculates the superpixel segmentation on a given image with the initialized parameters in the SuperpixelLSC object. + This function can be called again without the need of initializing the algorithm with createSuperpixelLSC(). This save the computational cost of allocating memory for all the structures of the algorithm. + + Number of iterations. Higher number improves the result. + + + + Release the unmanaged memory associated with this object. + + + + + Class implementing the SEEDS (Superpixels Extracted via Energy-Driven Sampling) superpixels algorithm described in Michael Van den Bergh, Xavier Boix, Gemma Roig, Benjamin de Capitani, and Luc Van Gool. Seeds: Superpixels extracted via energy-driven sampling. In Computer Vision-ECCV 2012, pages 13-26. Springer, 2012. + + + + + The function initializes a SuperpixelSEEDS object for the input image. + + Image width + Image height + Number of channels of the image. + Desired number of superpixels. Note that the actual number may be smaller due to restrictions (depending on the image size and num_levels). Use getNumberOfSuperpixels() to get the actual number. + Number of block levels. The more levels, the more accurate is the segmentation, but needs more memory and CPU time. + Enable 3x3 shape smoothing term if >0. A larger value leads to smoother shapes. prior must be in the range [0, 5]. + Number of histogram bins. + If true, iterate each block level twice for higher accuracy. + + + + The function computes the superpixels segmentation of an image with the parameters initialized with the function createSuperpixelSEEDS(). + + + + + Returns the segmentation labeling of the image. + Each label represents a superpixel, and each pixel is assigned to one superpixel label. + + Return: A CV_32UC1 integer array containing the labels of the superpixel segmentation. The labels are in the range [0, NumberOfSuperpixels]. + + + + Returns the mask of the superpixel segmentation stored in SuperpixelSEEDS object. + + Return: CV_8UC1 image mask where -1 indicates that the pixel is a superpixel border, and 0 otherwise. + If false, the border is only one pixel wide, otherwise all pixels at the border are masked. + + + + Calculates the superpixel segmentation on a given image with the initialized parameters in the SuperpixelSEEDS object. + + This function can be called again for other images without the need of initializing the algorithm with createSuperpixelSEEDS(). This save the computational cost of allocating memory for all the structures of the algorithm. + Input image. Supported formats: CV_8U, CV_16U, CV_32F. Image size & number of channels must match with the initialized image size & channels with the function createSuperpixelSEEDS(). It should be in HSV or Lab color space. Lab is a bit better, but also slower. + Number of pixel level iterations. Higher number improves the result. + + + + Release the unmanaged memory associated with this object. + + + + + Class implementing the SLIC (Simple Linear Iterative Clustering) superpixels algorithm described in Radhakrishna Achanta, Appu Shaji, Kevin Smith, Aurelien Lucchi, Pascal Fua, and Sabine Susstrunk. Slic superpixels compared to state-of-the-art superpixel methods. IEEE Trans. Pattern Anal. Mach. Intell., 34(11):2274-2282, nov 2012. + + + + + The algorithm to use + + + + + SLIC segments image using a desired region_size + + + + + SLICO will choose an adaptive compactness factor. + + + + + The function initializes a SuperpixelSLIC object for the input image. It sets the parameters of choosed superpixel algorithm, which are: region_size and ruler. It preallocate some buffers for future computing iterations over the given image. + + Image to segment + Chooses the algorithm variant to use + Chooses an average superpixel size measured in pixels + Chooses the enforcement of superpixel smoothness factor of superpixel + + + + Calculates the actual amount of superpixels on a given segmentation computed and stored in SuperpixelSLIC object. + + + + + Returns the segmentation labeling of the image. Each label represents a superpixel, and each pixel is assigned to one superpixel label. + + A CV_32SC1 integer array containing the labels of the superpixel segmentation. The labels are in the range [0, NumberOfSuperpixels]. + + + + Returns the mask of the superpixel segmentation stored in SuperpixelSLIC object. + + CV_8U1 image mask where -1 indicates that the pixel is a superpixel border, and 0 otherwise. + If false, the border is only one pixel wide, otherwise all pixels at the border are masked. + + + + Calculates the superpixel segmentation on a given image with the initialized parameters in the SuperpixelSLIC object. + This function can be called again without the need of initializing the algorithm with createSuperpixelSLIC(). This save the computational cost of allocating memory for all the structures of the algorithm. + + Number of iterations. Higher number improves the result. + + + + The function merge component that is too small, assigning the previously found adjacent label + to this component.Calling this function may change the final number of superpixels. + + + The minimum element size in percents that should be absorbed into a bigger + superpixel.Given resulted average superpixel size valid value should be in 0-100 range, 25 means + that less then a quarter sized superpixel should be absorbed, this is default. + + + + + Release the unmanaged memory associated with this object. + + + + + Thinning type + + + + + Thinning technique of Zhang-Suen + + + + + Thinning technique of Guo-Hall + + + + + Weight type + + + + + exp(-|I1-I2|^2/(2*sigma^2)) + + + + + (|I1-I2|+sigma)^-1 + + + + + (|I1-I2|^2+sigma^2)^-1 + + + + + dot(I1,I2)/(|I1|*|I2|) + + + + + (min(r1,r2)+min(g1,g2)+min(b1,b2))/(max(r1,r2)+max(g1,g2)+max(b1,b2)) + + + + + unweighted + + + + + Gray-world white balance algorithm. + This algorithm scales the values of pixels based on a gray-world assumption which states that the average of all channels should result in a gray image. + It adds a modification which thresholds pixels based on their saturation value and only uses pixels below the provided threshold in finding average pixel values. + Saturation is calculated using the following for a 3-channel RGB image per pixel I and is in the range [0, 1]: + Saturation[I]= max(R,G,B)-min(R,G,B) / max(R,G,B) + A threshold of 1 means that all pixels are used to white-balance, while a threshold of 0 means no pixels are used. Lower thresholds are useful in white-balancing saturated images. + Currently supports images of type CV_8UC3 and CV_16UC3. + + + + + Creates a gray-world white balancer + + + + + Release all the unmanaged memory associated with this white balancer + + + + + Maximum saturation for a pixel to be included in the gray-world assumption + + + + + Class that contains entry points for the XPhoto module. + + + + + The function implements simple dct-based denoising, link: http://www.ipol.im/pub/art/2011/ys-dct/. + + Source image + Destination image + Expected noise standard deviation + Size of block side where dct is computed + + + + Inpaint type + + + + + Shift map + + + + + The function implements different single-image inpainting algorithms + + source image, it could be of any type and any number of channels from 1 to 4. In case of 3- and 4-channels images the function expect them in CIELab colorspace or similar one, where first color component shows intensity, while second and third shows colors. Nonetheless you can try any colorspaces. + mask (CV_8UC1), where non-zero pixels indicate valid image area, while zero pixels indicate area to be inpainted + destination image + algorithm type + + + + Implements an efficient fixed-point approximation for applying channel gains, which is the last step of multiple white balance algorithms. + + Input three-channel image in the BGR color space (either CV_8UC3 or CV_16UC3) + Output image of the same size and type as src. + Gain for the B channel + Gain for the G channel + Gain for the R channel + + + + Performs image denoising using the Block-Matching and 3D-filtering algorithm with several computational optimizations. Noise expected to be a gaussian white noise. + + Input 8-bit or 16-bit 1-channel image. + Output image of the first step of BM3D with the same size and type as src. + Output image of the second step of BM3D with the same size and type as src. + Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise. + Size in pixels of the template patch that is used for block-matching. Should be power of 2. + Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. + Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. + Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. + Maximum size of the 3D group for collaborative filtering. + Sliding step to process every next reference block. + Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. + Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results. + Step of BM3D to be executed. Possible variants are: step 1, step 2, both steps. + Type of the orthogonal transform used in collaborative filtering step. Currently only Haar transform is supported. + + + + + Performs image denoising using the Block-Matching and 3D-filtering algorithm with several computational optimizations. Noise expected to be a gaussian white noise. + + Input 8-bit or 16-bit 1-channel image. + Output image with the same size and type as src. + Parameter regulating filter strength. Big h value perfectly removes noise but also removes image details, smaller h value preserves details but also preserves some noise. + Size in pixels of the template patch that is used for block-matching. Should be power of 2. + Size in pixels of the window that is used to perform block-matching. Affect performance linearly: greater searchWindowsSize - greater denoising time. Must be larger than templateWindowSize. + Block matching threshold for the first step of BM3D (hard thresholding), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. + Block matching threshold for the second step of BM3D (Wiener filtering), i.e. maximum distance for which two blocks are considered similar. Value expressed in euclidean distance. + Maximum size of the 3D group for collaborative filtering. + Sliding step to process every next reference block. + Kaiser window parameter that affects the sidelobe attenuation of the transform of the window. Kaiser window is used in order to reduce border effects. To prevent usage of the window, set beta to zero. + Norm used to calculate distance between blocks. L2 is slower than L1 but yields more accurate results. + Step of BM3D to be executed. Allowed are only BM3D_STEP1 and BM3D_STEPALL. BM3D_STEP2 is not allowed as it requires basic estimate to be present. + Type of the orthogonal transform used in collaborative filtering step. Currently only Haar transform is supported. + + + + + Oil Painting effect + + Input three-channel or one channel image (either CV_8UC3 or CV_8UC1) + Output image of the same size and type as src. + Neighbouring size is 2-size+1 + Image is divided by dynRatio before histogram processing + Color space conversion code(see ColorConversionCodes). Histogram will used only first plane + + + + More sophisticated learning-based automatic white balance algorithm. + As GrayworldWB, this algorithm works by applying different gains to the input image channels, but their computation is a bit more involved compared to the simple gray-world assumption. + More details about the algorithm can be found in: Dongliang Cheng, Brian Price, Scott Cohen, and Michael S Brown. Effective learning-based illuminant estimation using simple features. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1000-1008, 2015. + To mask out saturated pixels this function uses only pixels that satisfy the following condition: + max(R,G,B) / range_max_val < saturation_thresh + Currently supports images of type CV_8UC3 and CV_16UC3. + + + + + Create a learning based white balancer. + + + + + Release all the unmanaged memory associated with this white balancer + + + + + Maximum possible value of the input image (e.g. 255 for 8 bit images, 4095 for 12 bit images) + + + + + Threshold that is used to determine saturated pixels, i.e. pixels where at least one of the channels exceeds saturation_threshold x range_max_val are ignored. + + + + + Defines the size of one dimension of a three-dimensional RGB histogram that is used internally by the algorithm. It often makes sense to increase the number of bins for images with higher bit depth (e.g. 256 bins for a 12 bit image). + + + + + A simple white balance algorithm that works by independently stretching each of the input image channels to the specified range. For increased robustness it ignores the top and bottom p% of pixel values. + + + + + Creates a simple white balancer + + + + + Release all the unmanaged memory associated with this white balancer + + + + + Input image range minimum value + + + + + Input image range maximum value + + + + + Output image range minimum value + + + + + Output image range maximum value + + + + + Percent of top/bottom values to ignore + + + + + This algorithm decomposes image into two layers: base layer and detail layer using bilateral filter and compresses contrast of the base layer thus preserving all the details. + This implementation uses regular bilateral filter from opencv. + + + + + Creates TonemapDurand object. + + gamma value for gamma correction. + resulting contrast on logarithmic scale, i. e. log(max / min), where max and min are maximum and minimum luminance values of the resulting image. + saturation enhancement value. + bilateral filter sigma in color space + bilateral filter sigma in coordinate space + + + + Release the unmanaged memory associated with this TonemapDurand + + + + + Positive saturation enhancement value. 1.0 preserves saturation, values greater than 1 increase saturation and values less than 1 decrease it. + + + + + Resulting contrast on logarithmic scale, i. e. log(max / min), where max and min are maximum and minimum luminance values of the resulting image. + + + + + Bilateral filter sigma in color space + + + + + bilateral filter sigma in coordinate space + + + + + The base class for auto white balance algorithms. + + + + + Pointer to the native white balancer object + + + + + Applies white balancing to the input image. + + Input image + White balancing result + + + + Reset the pointer to the native white balancer object + + + + + BM3D denoising transform types + + + + + Un-normalized Haar transform + + + + + BM3D steps + + + + + Execute all steps of the algorithm + + + + + Execute only first step of the algorithm + + + + + Execute only second step of the algorithm + + + + + This class is used to track multiple objects using the specified tracker algorithm. The MultiTracker is naive implementation of multiple object tracking. It process the tracked objects independently without any optimization accross the tracked objects. + + + + + Constructor. In the case of trackerType is given, it will be set as the default algorithm for all trackers. + + + + + Add a new object to be tracked. The defaultAlgorithm will be used the newly added tracker. + + The tracker to use for tracking the image + Input image + A rectangle represents ROI of the tracked object + True if successfully added + + + + Update the current tracking status. The result will be saved in the internal storage. + + Input image + the tracking result, represent a list of ROIs of the tracked objects. + True id update success + + + + Returns the tracked objects, each object corresponds to one tracker algorithm. + + The tracked objects, each object corresponds to one tracker algorithm. + + + + Release the unmanaged memory associated with this multi-tracker. + + + + + Long-term tracker + + + + + The native pointer to the tracker + + + + + Initialize the tracker with a know bounding box that surrounding the target. + + The initial frame + The initial bounding box + True if successful. + + + + Update the tracker, find the new most likely bounding box for the target. + + The current frame + The bounding box that represent the new target location, if true was returned, not modified otherwise + True means that target was located and false means that tracker cannot locate target in current frame. Note, that latter does not imply that tracker has failed, maybe target is indeed missing from the frame (say, out of sight) + + + + Release the unmanaged memory associated with this tracker + + + + + This is a real-time object tracking based on a novel on-line version of the AdaBoost algorithm. + The classifier uses the surrounding background as negative examples in update step to avoid the drifting problem. + + + + + Create a Boosting Tracker + + The number of classifiers to use in a OnlineBoosting algorithm + Search region parameters to use in a OnlineBoosting algorithm + search region parameters to use in a OnlineBoosting algorithm + The initial iterations + Number of features, a good value would be 10*numClassifiers + iterationInit + + + + Release all the unmanaged memory associated with this Boosting Tracker + + + + + Discriminative Correlation Filter Tracker with Channel and Spatial Reliability + + + + + Creates a CSRT tracker + + Use hog + Use color names + Use Gray + Use RGB + Use channel weights + Use segmentation + Windows function + Kaiser alpha + Cheb attenuation + Template size + Gsl Sigma + Hog orientations + Hog clip + padding + filter Lr + weights Lr + Number of hog channels used + Admm iterations + Histogram bins + Histogram Lr + Background ratio + Number of scales + Scale Sigma factor + Scale Model Max Area + Scale Lr + Scale step + + + + Release the unmanaged resources associated with this tracker + + + + + GOTURN is kind of trackers based on Convolutional Neural Networks (CNN). While taking all advantages of CNN trackers, GOTURN is much faster due to offline training without online fine-tuning nature. GOTURN tracker addresses the problem of single target tracking: given a bounding box label of an object in the first frame of the video, we track that object through the rest of the video. NOTE: Current method of GOTURN does not handle occlusions; however, it is fairly robust to viewpoint changes, lighting changes, and deformations. Inputs of GOTURN are two RGB patches representing Target and Search patches resized to 227x227. Outputs of GOTURN are predicted bounding box coordinates, relative to Search patch coordinate system, in format X1,Y1,X2,Y2. + + Original paper is here: http://davheld.github.io/GOTURN/GOTURN.pdf As long as original authors implementation: https://github.com/davheld/GOTURN#train-the-tracker Implementation of training algorithm is placed in separately here due to 3d-party dependencies: https://github.com/Auron-X/GOTURN_Training_Toolkit GOTURN architecture goturn.prototxt and trained model goturn.caffemodel are accessible on opencv_extra GitHub repository. + + + + Create a GOTURN tracker + + + + + Release the unmanaged resources associated with this tracker + + + + + KCF is a novel tracking framework that utilizes properties of circulant matrix to enhance the processing speed. + The original paper of KCF is available at http://home.isr.uc.pt/~henriques/circulant/index.html + as well as the matlab implementation. + + + + + Feature type to be used in the tracking grayscale, colornames, compressed color-names + The modes available now: + - "GRAY" -- Use grayscale values as the feature + - "CN" -- Color-names feature + + + + + Grayscale + + + + + Color + + + + + Custom + + + + + Creates a KCF Tracker + + detection confidence threshold + gaussian kernel bandwidth + regularization + linear interpolation factor for adaptation + spatial bandwidth (proportional to target) + compression learning rate + activate the resize feature to improve the processing speed + split the training coefficients into two matrices + wrap around the kernel values + activate the pca method to compress the features + threshold for the ROI size + feature size after compression + compressed descriptors of TrackerKCF::MODE + non-compressed descriptors of TrackerKCF::MODE + + + + Release the unmanaged resources associated with this tracker + + + + + Median Flow tracker implementation. + The tracker is suitable for very smooth and predictable movements when object is visible throughout + the whole sequence.It's quite and accurate for this type of problems (in particular, it was shown + by authors to outperform MIL). During the implementation period the code at + http://www.aonsquared.co.uk/node/5, the courtesy of the author Arthur Amarra, was used for the + reference purpose. + + + + Create a median flow tracker + Points in grid, use 10 for default. + Win size, use (3, 3) for default + Max level, use 5 for default. + Termination criteria, use count = 20 and eps = 0.3 for default + win size NCC, use (30, 30) for default + Max median length of displacement difference + + + + Release the unmanaged resources associated with this tracker + + + + + The MIL algorithm trains a classifier in an online manner to separate the object from the background. + Multiple Instance Learning avoids the drift problem for a robust tracking. + Original code can be found here http://vision.ucsd.edu/~bbabenko/project_miltrack.shtml + + + + + Creates a MIL Tracker + + radius for gathering positive instances during init + negative samples to use during init + size of search window + radius for gathering positive instances during tracking + positive samples to use during tracking + negative samples to use during tracking + features + + + + Release all the unmanaged memory associated with this tracker + + + + + MOSSE Visual Object Tracking using Adaptive Correlation Filters + + note, that this tracker works with grayscale images, if passed bgr ones, they will get converted internally. + + + + Create a MOSSE tracker + + + + + Release the unmanaged resources associated with this tracker + + + + + TLD is a novel tracking framework that explicitly decomposes the long-term tracking task into tracking, learning and detection. + + The tracker follows the object from frame to frame. The detector localizes all appearances that have been observed so far and corrects the tracker if necessary. The learning estimates detector's errors and updates it to avoid these errors in the future. + + + + Creates a TLD tracker + + + + + Release the unmanaged resources associated with this tracker + + + + + A 2D plot + + + + + Create 2D plot from data + + The data to be plotted + + + + Create 2D plot for data + + The data for the X-axis + The data for the Y-axis + + + + Render the plot to the resulting Mat + + The output plot + + + + Set the line color + + The plot line color + + + + Set the background color + + The background color + + + + Set the axis color + + the axis color + + + + Set the plot grid color + + The plot grid color + + + + Set the plot text color + + The plot text color + + + + Set the plot size + + The width + The height + + + + Release unmanaged memory associated with this plot2d. + + + + + Min X + + The value + + + + Min Y + + The value + + + + Max X + + The value + + + + Max Y + + The value + + + + Plot line width + + The value + + + + Entry points for the cv::plot functions + + + + + Entry points for the Aruco module. + + + + + Draw a canonical marker image. + + dictionary of markers indicating the type of markers + identifier of the marker that will be returned. It has to be a valid id in the specified dictionary. + size of the image in pixels + output image with the marker + width of the marker border. + + + + Performs marker detection in the input image. Only markers included in the specific dictionary are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation. + + input image + indicates the type of markers that will be searched + Vector of detected marker corners. For each marker, its four corners are provided, (e.g VectorOfVectorOfPointF ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise. + vector of identifiers of the detected markers. The identifier is of type int (e.g. VectorOfInt). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. + marker detection parameters + contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes. + + + + Given the pose estimation of a marker or board, this function draws the axis of the world coordinate system, i.e. the system centered on the marker/board. Useful for debugging purposes. + + input/output image. It must have 1 or 3 channels. The number of channels is not altered. + input 3x3 floating-point camera matrix + vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]]) of 4, 5, 8 or 12 elements + rotation vector of the coordinate system that will be drawn. + translation vector of the coordinate system that will be drawn. + length of the painted axis in the same unit than tvec (usually in meters) + + + + This function receives the detected markers and returns their pose estimation respect to the camera individually. So for each marker, one rotation and translation vector is returned. The returned transformation is the one that transforms points from each marker coordinate system to the camera coordinate system. The marker corrdinate system is centered on the middle of the marker, with the Z axis perpendicular to the marker plane. The coordinates of the four corners of the marker in its own coordinate system are: (-markerLength/2, markerLength/2, 0), (markerLength/2, markerLength/2, 0), (markerLength/2, -markerLength/2, 0), (-markerLength/2, -markerLength/2, 0) + + vector of already detected markers corners. For each marker, its four corners are provided, (e.g VectorOfVectorOfPointF ). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise. + the length of the markers' side. The returning translation vectors will be in the same unit. Normally, unit is meters. + input 3x3 floating-point camera matrix + vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]]) of 4, 5, 8 or 12 elements + array of output rotation vectors. Each element in rvecs corresponds to the specific marker in imgPoints. + array of output translation vectors (e.g. VectorOfPoint3D32F ). Each element in tvecs corresponds to the specific marker in imgPoints. + + + + Refine not detected markers based on the already detected and the board layout. + + Input image + Layout of markers in the board. + Vector of already detected marker corners. + Vector of already detected marker identifiers. + Vector of rejected candidates during the marker detection process + Optional input 3x3 floating-point camera matrix + Optional vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]]) of 4, 5, 8 or 12 elements + Minimum distance between the corners of the rejected candidate and the reprojected marker in order to consider it as a correspondence. (default 10) + Rate of allowed erroneous bits respect to the error correction capability of the used dictionary. -1 ignores the error correction step. (default 3) + Consider the four posible corner orders in the rejectedCorners array. If it set to false, only the provided corner order is considered (default true). + Optional array to returns the indexes of the recovered candidates in the original rejectedCorners array. + marker detection parameters + + + + Draw detected markers in image. + + Input/output image. It must have 1 or 3 channels. The number of channels is not altered. + Positions of marker corners on input image. (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise. + Vector of identifiers for markers in markersCorners . Optional, if not provided, ids are not painted. + Color of marker borders. Rest of colors (text color and first corner color) are calculated based on this one to improve visualization. + + + + Calibrate a camera using aruco markers. + + Vector of detected marker corners in all frames. The corners should have the same format returned by detectMarkers + List of identifiers for each marker in corners + Number of markers in each frame so that corners and ids can be split + Marker Board layout + Size of the image used only to initialize the intrinsic camera matrix. + Output 3x3 floating-point camera matrix. + Output vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]]) of 4, 5, 8 or 12 elements + Output vector of rotation vectors (see Rodrigues ) estimated for each board view (e.g. std::vector<cv::Mat>). That is, each k-th rotation vector together with the corresponding k-th translation vector (see the next output parameter description) brings the board pattern from the model coordinate space (in which object points are specified) to the world coordinate space, that is, a real position of the board pattern in the k-th pattern view (k=0.. M -1). + Output vector of translation vectors estimated for each pattern view. + Flags Different flags for the calibration process + Termination criteria for the iterative optimization algorithm. + The final re-projection error. + + + + Calibrate a camera using aruco markers. + + Vector of detected marker corners in all frames. The corners should have the same format returned by detectMarkers + List of identifiers for each marker in corners + Number of markers in each frame so that corners and ids can be split + Marker Board layout + Size of the image used only to initialize the intrinsic camera matrix. + Output 3x3 floating-point camera matrix. + Output vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]]) of 4, 5, 8 or 12 elements + Output vector of rotation vectors (see Rodrigues ) estimated for each board view (e.g. std::vector<cv::Mat>). That is, each k-th rotation vector together with the corresponding k-th translation vector (see the next output parameter description) brings the board pattern from the model coordinate space (in which object points are specified) to the world coordinate space, that is, a real position of the board pattern in the k-th pattern view (k=0.. M -1). + Output vector of translation vectors estimated for each pattern view. + Output vector of standard deviations estimated for intrinsic parameters. Order of deviations values: (fx,fy,cx,cy,k1,k2,p1,p2,k3,k4,k5,k6,s1,s2,s3,s4,τx,τy) If one of parameters is not estimated, it's deviation is equals to zero. + Output vector of standard deviations estimated for extrinsic parameters. Order of deviations values: (R1,T1,…,RM,TM) where M is number of pattern views, Ri,Ti are concatenated 1x3 vectors. + Output vector of average re-projection errors estimated for each pattern view. + Flags Different flags for the calibration process + Termination criteria for the iterative optimization algorithm. + The final re-projection error. + + + + Calibrate a camera using Charuco corners. + + Vector of detected charuco corners per frame + List of identifiers for each corner in charucoCorners per frame + Marker Board layout + Size of the image used only to initialize the intrinsic camera matrix. + Output 3x3 floating-point camera matrix. + Output vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]]) of 4, 5, 8 or 12 elements + Output vector of rotation vectors (see Rodrigues ) estimated for each board view (e.g. std::vector<cv::Mat>). That is, each k-th rotation vector together with the corresponding k-th translation vector (see the next output parameter description) brings the board pattern from the model coordinate space (in which object points are specified) to the world coordinate space, that is, a real position of the board pattern in the k-th pattern view (k=0.. M -1). + Output vector of translation vectors estimated for each pattern view. + Flags Different flags for the calibration process + Termination criteria for the iterative optimization algorithm. + The final re-projection error. + + + + Calibrate a camera using Charuco corners. + + Vector of detected charuco corners per frame + List of identifiers for each corner in charucoCorners per frame + Marker Board layout + Size of the image used only to initialize the intrinsic camera matrix. + Output 3x3 floating-point camera matrix. + Output vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]]) of 4, 5, 8 or 12 elements + Output vector of rotation vectors (see Rodrigues ) estimated for each board view (e.g. std::vector<cv::Mat>). That is, each k-th rotation vector together with the corresponding k-th translation vector (see the next output parameter description) brings the board pattern from the model coordinate space (in which object points are specified) to the world coordinate space, that is, a real position of the board pattern in the k-th pattern view (k=0.. M -1). + Output vector of translation vectors estimated for each pattern view. + Output vector of standard deviations estimated for intrinsic parameters. Order of deviations values: (fx,fy,cx,cy,k1,k2,p1,p2,k3,k4,k5,k6,s1,s2,s3,s4,τx,τy) If one of parameters is not estimated, it's deviation is equals to zero. + Output vector of standard deviations estimated for extrinsic parameters. Order of deviations values: (R1,T1,…,RM,TM) where M is number of pattern views, Ri,Ti are concatenated 1x3 vectors. + Output vector of average re-projection errors estimated for each pattern view. + Flags Different flags for the calibration process + Termination criteria for the iterative optimization algorithm. + The final re-projection error. + + + + Interpolate position of ChArUco board corners + + vector of already detected markers corners. For each marker, its four corners are provided, (e.g VectorOfVectorOfPointF ). For N detected markers, the dimensions of this array should be Nx4.The order of the corners should be clockwise. + list of identifiers for each marker in corners + input image necesary for corner refinement. Note that markers are not detected and should be sent in corners and ids parameters. + layout of ChArUco board. + interpolated chessboard corners + interpolated chessboard corners identifiers + optional 3x3 floating-point camera matrix + optional vector of distortion coefficients, (k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]]) of 4, 5, 8 or 12 elements + number of adjacent markers that must be detected to return a charuco corner + The number of interpolated corners. + + + + Draws a set of Charuco corners + + image input/output image. It must have 1 or 3 channels. The number of channels is not altered. + vector of detected charuco corners + list of identifiers for each corner in charucoCorners + color of the square surrounding each corner + + + + Pose estimation for a ChArUco board given some of their corners + + vector of detected charuco corners + list of identifiers for each corner in charucoCorners + layout of ChArUco board. + input 3x3 floating-point camera matrix + vector of distortion coefficients, 4, 5, 8 or 12 elements + Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board + Output vector (e.g. cv::Mat) corresponding to the translation vector of the board. + defines whether initial guess for rvec and tvec will be used or not. + If pose estimation is valid, returns true, else returns false. + + + + Detect ChArUco Diamond markers + + input image necessary for corner subpixel. + list of detected marker corners from detectMarkers function. + list of marker ids in markerCorners. + rate between square and marker length: squareMarkerLengthRate = squareLength / markerLength.The real units are not necessary. + output list of detected diamond corners (4 corners per diamond). The order is the same than in marker corners: top left, top right, bottom right and bottom left. Similar format than the corners returned by detectMarkers(e.g VectorOfVectorOfPointF ). + ids of the diamonds in diamondCorners. The id of each diamond is in fact of type Vec4i, so each diamond has 4 ids, which are the ids of the aruco markers composing the diamond. + Optional camera calibration matrix. + Optional camera distortion coefficients. + + + + Draw a set of detected ChArUco Diamond markers + + input/output image. It must have 1 or 3 channels. The number of channels is not altered. + positions of diamond corners in the same format returned by detectCharucoDiamond(). (e.g VectorOfVectorOfPointF ). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise. + vector of identifiers for diamonds in diamondCorners, in the same format returned by detectCharucoDiamond() (e.g. VectorOfMat ). Optional, if not provided, ids are not painted. + color of marker borders. Rest of colors (text color and first corner color) are calculated based on this one. + + + + Draw a ChArUco Diamond marker + + dictionary of markers indicating the type of markers. + list of 4 ids for each ArUco marker in the ChArUco marker. + size of the chessboard squares in pixels. + size of the markers in pixels. + output image with the marker. The size of this image will be 3*squareLength + 2*marginSize. + minimum margins (in pixels) of the marker in the output image + width of the marker borders. + + + + Draw a planar board. + + Layout of the board that will be drawn. The board should be planar, z coordinate is ignored + Size of the output image in pixels. + Output image with the board. The size of this image will be outSize and the board will be on the center, keeping the board proportions. + Minimum margins (in pixels) of the board in the output image + Width of the marker borders. + + + + Pose estimation for a board of markers. + + Vector of already detected markers corners. For each marker, its four corners are provided, (e.g std::vector>std::vector>cv::Point2f< < ). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise. + List of identifiers for each marker in corners + Layout of markers in the board. The layout is composed by the marker identifiers and the positions of each marker corner in the board reference system. + Input 3x3 floating-point camera matrix + Vector of distortion coefficients (k1,k2,p1,p2[,k3[,k4,k5,k6],[s1,s2,s3,s4]]) of 4, 5, 8 or 12 elements + Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board (see cv::Rodrigues). Used as initial guess if not empty. + Output vector (e.g. cv::Mat) corresponding to the translation vector of the board. + Defines whether initial guess for rvec and tvec will be used or not. Used as initial guess if not empty. + The function returns the number of markers from the input employed for the board pose estimation. Note that returning a 0 means the pose has not been estimated. + + + + Given a board configuration and a set of detected markers, returns the corresponding image points and object points to call solvePnP. + + Marker board layout. + List of detected marker corners of the board. + List of identifiers for each marker. + Vector of vectors of board marker points in the board coordinate space. + Vector of vectors of the projections of board marker corner points. + + + + Parameters for the detectMarker process + + + + + Type of corner refinement method + + + + + Default corners + + + + + Refine the corners using subpix + + + + + Refine the corners using the contour-points + + + + + minimum window size for adaptive thresholding before finding contours (default 3) + + + + + maximum window size for adaptive thresholding before finding contours (default 23). + + + + + increments from adaptiveThreshWinSizeMin to adaptiveThreshWinSizeMax during the thresholding (default 10). + + + + + constant for adaptive thresholding before finding contours (default 7) + + + + + determine minimum perimeter for marker contour to be detected. This is defined as a rate respect to the maximum dimension of the input image (default 0.03). + + + + + determine maximum perimeter for marker contour to be detected. This is defined as a rate respect to the maximum dimension of the input image (default 4.0). + + + + + minimum accuracy during the polygonal approximation process to determine which contours are squares. + + + + + minimum distance between corners for detected markers relative to its perimeter (default 0.05) + + + + + minimum distance of any corner to the image border for detected markers (in pixels) (default 3) + + + + + minimum mean distance beetween two marker corners to be considered similar, so that the smaller one is removed. The rate is relative to the smaller perimeter of the two markers (default 0.05). + + + + + Corner refinement method + + + + + window size for the corner refinement process (in pixels) (default 5). + + + + + maximum number of iterations for stop criteria of the corner refinement process (default 30). + + + + + minimum error for the stop criteria of the corner refinement process (default: 0.1) + + + + + number of bits of the marker border, i.e. marker border width (default 1). + + + + + number of bits (per dimension) for each cell of the marker when removing the perspective (default 8). + + + + + width of the margin of pixels on each cell not considered for the determination of the cell bit. Represents the rate respect to the total size of the cell, i.e. perpectiveRemovePixelPerCell (default 0.13) + + + + + maximum number of accepted erroneous bits in the border (i.e. number of allowed white bits in the border). Represented as a rate respect to the total number of bits per marker (default 0.35). + + + + + minimun standard deviation in pixels values during the decodification step to apply Otsu thresholding (otherwise, all the bits are set to 0 or 1 depending on mean higher than 128 or not) (default 5.0) + + + + + error correction rate respect to the maximun error correction capability for each dictionary. (default 0.6). + + + + + Detection of quads can be done on a lower-resolution image, improving speed at a + cost of pose accuracy and a slight decrease in detection rate.Decoding the binary payload is still + done at full resolution. + + + + + What Gaussian blur should be applied to the segmented image (used for quad detection?) + Parameter is the standard deviation in pixels.Very noisy images benefit from non-zero values(e.g. 0.8). + + + + + reject quads containing too few pixels. + + + + + how many corner candidates to consider when segmenting a group of pixels into a quad. + + + + + Reject quads where pairs of edges have angles that are close to straight or close to + 180 degrees.Zero means that no quads are rejected. (In radians). + + + + + When fitting lines to the contours, what is the maximum mean squared error + allowed? This is useful in rejecting contours that are far from being quad shaped; rejecting + these quads "early" saves expensive decoding processing. + + + + + When we build our model of black & white pixels, we add an extra check that + the white model must be(overall) brighter than the black model.How much brighter? (in pixel values, [0, 255]). + + + + + should the thresholded image be deglitched? Only useful for very noisy images + + + + + Get the detector parameters with default values + + The default detector parameters + + + + Dictionary/Set of markers. It contains the inner codification. + + + + + Create a Dictionary using predefined values + + The name of the predefined dictionary + + + + Generates a new customizable marker dictionary. + + number of markers in the dictionary + number of bits per dimension of each markers + + + + Generates a new customizable marker dictionary. + + number of markers in the dictionary + number of bits per dimension of each markers + Include the markers in this dictionary at the beginning (optional) + + + + The name of the predefined dictionary + + + + + Dict4X4_50 + + + + + Dict4X4_100 + + + + + Dict4X4_250 + + + + + Dict4X4_1000 + + + + + Dict5X5_50 + + + + + Dict5X5_100 + + + + + Dict5X5_250 + + + + + Dict5X5_1000 + + + + + Dict6X6_50 + + + + + Dict6X6_100 + + + + + Dict6X6_250 + + + + + Dict6X6_1000 + + + + + Dict7X7_50 + + + + + Dict7X7_100 + + + + + Dict7X7_250 + + + + + Dict7X7_1000 + + + + + standard ArUco Library Markers. 1024 markers, 5x5 bits, 0 minimum distance + + + + + Release the unmanaged resource + + + + + Board of markers + + + + + Pointer to native IBoard + + + + + Planar board with grid arrangement of markers More common type of board. All markers are placed in the same plane in a grid arrangment. + + + + + Create a GridBoard object. + + number of markers in X direction + number of markers in Y direction + marker side length (normally in meters) + separation between two markers (same unit than markerLenght) + dictionary of markers indicating the type of markers. The first markersX*markersY markers in the dictionary are used. + id of first marker in dictionary to use on board. + + + + Draw a GridBoard. + + size of the output image in pixels. + output image with the board. The size of this image will be outSize and the board will be on the center, keeping the board proportions. + minimum margins (in pixels) of the board in the output image + width of the marker borders. + + + + Release the unmanaged resource associated with this GridBoard + + + + + Pointer to native IBoard + + + + + A ChArUco board is a planar board where the markers are placed + inside the white squares of a chessboard.The benefits of ChArUco boards is that they provide + both, ArUco markers versatility and chessboard corner precision, which is important for + calibration and pose estimation. + + + + + ChArUco board + + number of chessboard squares in X direction + number of chessboard squares in Y direction + chessboard square side length (normally in meters) + marker side length (same unit than squareLength) + dictionary of markers indicating the type of markers. + + + + Draw a ChArUco board + + size of the output image in pixels. + output image with the board. The size of this image will be outSize and the board will be on the center, keeping the board proportions. + minimum margins (in pixels) of the board in the output image + width of the marker borders. + + + + Release the unmanaged resource associated with this ChArUco board + + + + + Pointer to native IBoard + + + + + The module brings implementation of the image processing algorithms based on fuzzy mathematics. + + + + + Function type + + + + + Linear + + + + + Sinus + + + + + Inpaint algorithm + + + + + One step algorithm. + + + + + Algorithm automaticaly increasing radius of the basic function. + + + + + Iterative algorithm running in more steps using partial computations. + + + + + Creates kernel from basic functions. + + Basic function used in axis x. + Basic function used in axis y. + Final 32-b kernel derived from A and B. + Number of kernel channels. + + + + Creates kernel from general functions. + + Function type + Radius of the basic function. + Final 32-b kernel. + Number of kernel channels. + + + + Image inpainting. + + Input image. + Mask used for unwanted area marking. + Output 32-bit image. + Radius of the basic function. + Function type + Algorithm type + + + + Image filtering. + + Input image. + Final 32-b kernel. + Output 32-bit image. + + + + Entry points to the Open CV HFS module + + + + + Hierarchical Feature Selection for Efficient Image Segmentation + + + + + Create a hfs object + + The height of the input image + The width of the input image + segEgbThresholdI + minRegionSizeI + segEgbThresholdII + minRegionSizeII + spatialWeight + slicSpixelSize + numSlicIter + + + + Native algorithm pointer + + + + + Release all the unmanaged memory associate with this object + + + + + Segmentation with gpu + + The input image + if draw the image in the returned Mat. if this parameter is false, then the content of the returned Mat is a matrix of index, describing the region each pixel belongs to. And it's data type is CV_16U. If this parameter is true, then the returned Mat is a segmented picture, and color of each region is the average color of all pixels in that region. And it's data type is the same as the input image + Segmentation result + + + + Segmentation with cpu. This method is only implemented for reference. It is highly NOT recommended to use it. + + The input image + if draw the image in the returned Mat. if this parameter is false, then the content of the returned Mat is a matrix of index, describing the region each pixel belongs to. And it's data type is CV_16U. If this parameter is true, then the returned Mat is a segmented picture, and color of each region is the average color of all pixels in that region. And it's data type is the same as the input image + Segmentation result + + + + WaldBoost detector. + + + + + Create instance of WBDetector. + + + + + Read detector from FileNode. + + FileNode for input + + + + Write detector to FileStorage. + + FileStorage for output + + + + Train WaldBoost detector. + + Path to directory with cropped positive samples + Path to directory with negative (background) images + + + + Detect objects on image using WaldBoost detector. + + Input image for detection + Bounding boxes coordinates output vector + Confidence values for bounding boxes output vector + + + + Release all the unmanaged memory associated with this WBDetector. + + + + + Class that contains entry points for the XObjdetect module. + + + + + Entry points to the Open CV bioinspired module + + + + + A wrapper class which allows the Gipsa/Listic Labs model to be used. + This retina model allows spatio-temporal image processing (applied on still images, video sequences). + As a summary, these are the retina model properties: + 1. It applies a spectral whithening (mid-frequency details enhancement); + 2. high frequency spatio-temporal noise reduction; + 3. low frequency luminance to be reduced (luminance range compression); + 4. local logarithmic luminance compression allows details to be enhanced in low light conditions. + USE : this model can be used basically for spatio-temporal video effects but also for : + _using the getParvo method output matrix : texture analysiswith enhanced signal to noise ratio and enhanced details robust against input images luminance ranges + _using the getMagno method output matrix : motion analysis also with the previously cited properties + + For more information, reer to the following papers : + Benoit A., Caplier A., Durette B., Herault, J., "USING HUMAN VISUAL SYSTEM MODELING FOR BIO-INSPIRED LOW LEVEL IMAGE PROCESSING", Elsevier, Computer Vision and Image Understanding 114 (2010), pp. 758-773, DOI: http://dx.doi.org/10.1016/j.cviu.2010.01.011 + Vision: Images, Signals and Neural Networks: Models of Neural Processing in Visual Perception (Progress in Neural Processing),By: Jeanny Herault, ISBN: 9814273686. WAPI (Tower ID): 113266891. + + The retina filter includes the research contributions of phd/research collegues from which code has been redrawn by the author : + _take a look at the retinacolor.hpp module to discover Brice Chaix de Lavarene color mosaicing/demosaicing and the reference paper: + B. Chaix de Lavarene, D. Alleysson, B. Durette, J. Herault (2007). "Efficient demosaicing through recursive filtering", IEEE International Conference on Image Processing ICIP 2007 + _take a look at imagelogpolprojection.hpp to discover retina spatial log sampling which originates from Barthelemy Durette phd with Jeanny Herault. A Retina / V1 cortex projection is also proposed and originates from Jeanny's discussions. + more informations in the above cited Jeanny Heraults's book. + + + + + Create a retina model + + The input frame size + + + + Create a retina model + + The input frame size + Specifies if (true) color is processed of not (false) to then processing gray level image + Specifies which kind of color sampling will be used + Activate retina log sampling, if true, the 2 following parameters can be used + Only useful if param useRetinaLogSampling=true, specifies the reduction factor of the output frame (as the center (fovea) is high resolution and corners can be underscaled, then a reduction of the output is allowed without precision leak + Only useful if param useRetinaLogSampling=true, specifies the strength of the log scale that is applied + + + + Get or Set the Retina parameters. + + + + + Method which allows retina to be applied on an input image, after run, encapsulated retina module is ready to deliver its outputs using dedicated acccessors. and + + The input image to be processed + + + + Accessors of the details channel of the retina (models foveal vision) + + The details channel of the retina. + + + + Accessors of the motion channel of the retina (models peripheral vision) + + The motion channel of the retina. + + + + Clear all retina buffers (equivalent to opening the eyes after a long period of eye close. + + + + + Release all unmanaged memory associated with the retina model. + + + + + The retina color sampling method. + + + + + Each pixel position is either R, G or B in a random choice + + + + + Color sampling is RGBRGBRGB..., line 2 BRGBRGBRG..., line 3, GBRGBRGBR... + + + + + Standard bayer sampling + + + + + Outer Plexiform Layer (OPL) and Inner Plexiform Layer Parvocellular (IplParvo) parameters + + + + + Specifies if (true) color is processed of not (false) to then processing gray level image + + + + + Normalise output. Use true for default + + + + + Photoreceptors local adaptation sensitivity. Use 0.7 for default + + + + + Photoreceptors temporal constant. Use 0.5 for default + + + + + Photoreceptors spatial constant. Use 0.53 for default + + + + + Horizontal cells gain. Use 0.0 for default + + + + + Hcells temporal constant. Use 1.0 for default + + + + + Hcells spatial constant. Use 7.0 for default + + + + + Ganglion cells sensitivity. Use 0.7 for default + + + + + Inner Plexiform Layer Magnocellular channel (IplMagno) + + + + + Normalise output + + + + + ParasolCells_beta. Use 0.0 for default + + + + + ParasolCells_tau. Use 0.0 for default + + + + + ParasolCells_k. Use 7.0 for default + + + + + Amacrin cells temporal cut frequency. Use 1.2 for default + + + + + V0 compression parameter. Use 0.95 for default + + + + + LocalAdaptintegration_tau. Use 0.0 for default + + + + + LocalAdaptintegration_k. Use 7.0 for default + + + + + Retina parameters + + + + + Outer Plexiform Layer (OPL) and Inner Plexiform Layer Parvocellular (IplParvo) parameters + + + + + Inner Plexiform Layer Magnocellular channel (IplMagno) + + + + + A wrapper class which allows the tone mapping algorithm of Meylan & al(2007) to be used with OpenCV. + + + + + Create a wrapper class which allows the tone mapping algorithm of Meylan & al(2007) to be used with OpenCV. + + The size of the images to process + + + + Applies a luminance correction (initially High Dynamic Range (HDR) tone mapping) + + The input image to process RGB or gray levels + The output tone mapped image + + + + Updates tone mapping behaviors by adjusting the local luminance computation area + + The first stage local adaptation area + The second stage local adaptation area + The factor applied to modulate the meanLuminance information (default is 1, see reference paper) + + + + Release all unmanaged memory associated with the RetinaFastToneMapping model. + + + + + Computes average hash value of the input image. + + This is a fast image hashing algorithm, but only work on simple case. + + + + Create an average hash object. + + + + + Release all the unmanaged resource associated with AverageHash + + + + + The module brings implementation of the image processing algorithms based on fuzzy mathematics. + + + + + Image hash based on block mean. + + + + + Block Mean Hash mode + + + + + use fewer block and generate 16*16/8 uchar hash value + + + + + use block blocks(step sizes/2), generate 31*31/8 + 1 uchar hash value + + + + + Create a Block Mean Hash object + + The hash mode + + + + Release all the unmanaged resource associated with BlockMeanHash + + + + + Image hash based on color moments. + + + + + Create a Color Moment Hash object + + + + + Release all the unmanaged resource associated with ColorMomentHash + + + + + The Image Hash base class + + + + + The pointer to the ImgHashBase object + + + + + Get the pointer to the ImgHashBase object + + The pointer to the ImgHashBase object + + + + Reset the pointers + + + + + Computes hash of the input image + + input image to compute hash value + hash of the image + + + + Compare the hash value between inOne and inTwo + + Hash value one + Hash value two + indicate similarity between inOne and inTwo, the meaning of the value vary from algorithms to algorithms + + + + Marr-Hildreth Operator Based Hash, slowest but more discriminative. + + + + + Create a Marr-Hildreth operator based hash. + + Scale factor for marr wavelet. + Level of scale factor + + + + Release all the unmanaged resource associated with MarrHildrethHash + + + + + Slower than average hash, but tolerant of minor modifications + + + + + Create a PHash object + + + + + Release all the unmanaged resource associated with AverageHash + + + + + Image hash based on Radon transform + + + + + Create an image hash based on Radon transform + + Sigma + Number of angle line + + + + Release all the unmanaged resource associated with RadialVarianceHash + + + + + Class implementing two-dimensional phase unwrapping. + + This algorithm belongs to the quality-guided phase unwrapping methods. First, it computes a reliability map from second differences between a pixel and its eight neighbours. Reliability values lie between 0 and 16*pi*pi. Then, this reliability map is used to compute the reliabilities of "edges". An edge is an entity defined by two pixels that are connected horizontally or vertically. Its reliability is found by adding the reliabilities of the two pixels connected through it. Edges are sorted in a histogram based on their reliability values. This histogram is then used to unwrap pixels, starting from the highest quality pixel. + + + + Create a HistogramPhaseUnwrapping instance + + Phase map width. + Phase map height. + Bins in the histogram are not of equal size. Default value is 3*pi*pi. The one before "histThresh" value are smaller. + Number of bins between 0 and "histThresh". Default value is 10. + Number of bins between "histThresh" and 32*pi*pi (highest edge reliability value). Default value is 5. + + + + Release the unmanaged resources associated with the HistogramPhaseUnwrapping + + + + + Get the reliability map computed from the wrapped phase map. + + Image where the reliability map is stored. + + + + Unwraps a 2D phase map. + + The wrapped phase map that needs to be unwrapped. + The unwrapped phase map. + Optional parameter used when some pixels do not hold any phase information in the wrapped phase map. + + + + Provide interfaces to the Open CV PhaseUnwrapping functions + + + + + Main interface for all quality filters. + + + + + Pointer to the native QualityBase object + + + + + Class that contains entry points for the Quality module. + + + Class that contains entry points for the Quality module. + + + Class that contains entry points for the Quality module. + + + Class that contains entry points for the Quality module. + + + Class that contains entry points for the Quality module. + + + + + Compute quality score per channel with the per-channel score in each element of the result + + The quality base object + Comparison image(s), or image(s) to evaluate for no-reference quality algorithms + Quality score per channel + + + + Returns output quality map images that were generated during computation, if supported by the algorithm. + + The quality base object + Output quality map images that were generated during computation, if supported by the algorithm. + + + + BRISQUE (Blind/Referenceless Image Spatial Quality Evaluator) is a No Reference Image Quality Assessment (NR-IQA) algorithm. + + + + + Pointer to the native QualityBase object + + + + + Pointer to the native algorithm object + + + + + Create an object which calculates quality. + + Contains a path to the BRISQUE model data. If empty, attempts to load from ${OPENCV_DIR}/testdata/contrib/quality/brisque_model_live.yml + contains a path to the BRISQUE range data. If empty, attempts to load from ${OPENCV_DIR}/testdata/contrib/quality/brisque_range_live.yml + + + + Release the unmanaged memory associated with this object + + + + + Implementation to Gradient Magnitude Similarity Deviation: A Highly Efficient Perceptual Image Quality Index + + + + + Pointer to the native QualityBase object + + + + + Pointer to the native algorithm object + + + + + Create a new instance of GMSD quality measurement. + + vector of reference images, converted to internal type + + + + Release the unmanaged memory associated with this object + + + + + Mean square error algorithm + + + + + Pointer to the native QualityBase object + + + + + Pointer to the native algorithm object + + + + + Create a new instance of MSE quality measurement. + + vector of reference images, converted to internal type + + + + Release the unmanaged memory associated with this object + + + + + Peak signal to noise ratio (PSNR) algorithm + + + + + Pointer to the native QualityBase object + + + + + Pointer to the native algorithm object + + + + + Create an instance of peak signal to noise ratio (PSNR) algorithm + + Input image(s) to use as the source for comparison + maximum per-channel value for any individual pixel; eg 255 for uint8 image + + + + Release the unmanaged memory associated with this object + + + + + Structural similarity algorithm + + + + + Pointer to the native QualityBase object + + + + + Pointer to the native algorithm object + + + + + Create an object which calculates quality via mean square error. + + input image(s) to use as the source for comparison + + + + Release the unmanaged memory associated with this object + + + + + Class containing the methods needed for Quasi Dense Stereo computation. + + + + + Create a new instance containing the methods needed for Quasi Dense Stereo computation. + + Image size + The path for the parameters + + + + Release the unmanaged memory associated with this object + + + + + Main process of the algorithm. This method computes the sparse seeds and then densifies them. + Initially input images are converted to gray-scale and then the sparseMatching method is called to obtain the sparse stereo. Finally quasiDenseMatching is called to densify the corresponding points. + + The left Channel of a stereo image pair. + The right Channel of a stereo image pair. + If input images are in color, the method assumes that are BGR and converts them to grayscale. + + + + Compute and return the disparity map based on the correspondences found in the "process" method. + + The level of detail in output disparity image. + Mat containing a the disparity image in grayscale. + + + + The propagation parameters + + + + + similarity window + + + + + similarity window + + + + + border to ignore + + + + + border to ignore + + + + + correlation threshold + + + + + texture threshold + + + + + neighborhood size + + + + + disparity gradient threshold + + + + + Parameters for LK flow algorithm + + + + + Parameters for LK flow algorithm + + + + + Parameters for LK flow algorithm + + + + + Parameters for LK flow algorithm + + + + + Parameters for GFT algorithm. + + + + + Parameters for GFT algorithm. + + + + + Parameters for GFT algorithm. + + + + + Parameters for the QuasiDenseStereo class + + + + + Class that contains entry points for the Stereo module. + + + + + This class implements a very efficient and robust variant of the iterative closest point (ICP) algorithm. The task is to register a 3D model (or point cloud) against a set of noisy target data. The variants are put together by myself after certain tests. The task is to be able to match partial, noisy point clouds in cluttered scenes, quickly. You will find that my emphasis is on the performance, while retaining the accuracy. + + + + + The sampling type + + + + + Uniform + + + + + Gelfand + + + + + Constructor to a very efficient and robust variant of the iterative closest point (ICP) algorithm. + + number of iterations + Controls the accuracy of registration at each iteration of ICP. + Robust outlier rejection is applied for robustness. This value actually corresponds to the standard deviation coefficient. Points with rejectionScale * sigma are ignored during registration. + Number of pyramid levels to proceed. Deep pyramids increase speed but decrease accuracy. Too coarse pyramids might have computational overhead on top of the inaccurate registrtaion. This parameter should be chosen to optimize a balance. Typical values range from 4 to 10. + Currently this parameter is ignored and only uniform sampling is applied. + Currently this parameter is ignored and only PickyICP is applied. Leave it as 1. + + + + Release the unmanaged resources associated with the ICP + + + + + Perform registration. + + The input point cloud for the model. Expected to have the normals (Nx6). Currently, CV_32F is the only supported data type. + The input point cloud for the scene. It is assumed that the model is registered on the scene. Scene remains static. Expected to have the normals (Nx6). Currently, CV_32F is the only supported data type. + The output registration error. + Transformation between srcPC and dstPC. + On successful termination, the function returns 0. + + + + Entry points to the Open CV Surface Matching module + + + + + Base class for convolution (or cross-correlation) operator. + + + + + Create a Cuda Convolution object. + + Block size. If you leave default value Size(0,0) then automatic estimation of block size will be used (which is optimized for speed). By varying user_block_size you can reduce memory requirements at the cost of speed. + + + + Computes a convolution (or cross-correlation) of two images. + + Source image. Only CV_32FC1 images are supported for now. + Template image. The size is not greater than the image size. The type is the same as image . + Result image. If image is W x H and templ is w x h, then result must be W-w+1 x H-h+1. + Flags to evaluate cross-correlation instead of convolution. + Stream for the asynchronous version + + + + Release all the unmanaged memory associated with this object + + + + + This class wraps the functional calls to the opencv_gpu module + + + + + Get the compute capability of the device + + The device + The major version of the compute capability + The minor version of the compute capability + + + + Get the number of multiprocessors on device + + The device + The number of multiprocessors on device + + + + Get the device name + + + + + Return true if Cuda is found on the system + + + + + Get the opencl platform summary as a string + + An opencl platfor summary + + + + Get the number of Cuda enabled devices + + The number of Cuda enabled devices + + + + Set the current Gpu Device + + The id of the device to be setted as current + + + + Get the current Cuda device id + + The current Cuda device id + + + + Create a GpuMat from the specific region of . The data is shared between the two GpuMat. + + The gpuMat to extract regions from. + The column range. Use MCvSlice.WholeSeq for all columns. + The row range. Use MCvSlice.WholeSeq for all rows. + Pointer to the GpuMat + + + + Resize the GpuMat + + The input GpuMat + The resulting GpuMat + The interpolation type + Use a Stream to call the function asynchronously (non-blocking) or IntPtr.Zero to call the function synchronously (blocking). + + + + gpuMatReshape the src GpuMat + + The source GpuMat + The resulting GpuMat, as input it should be an empty GpuMat. + The new number of channels + The new number of rows + + + + Returns header, corresponding to a specified rectangle of the input GpuMat. In other words, it allows the user to treat a rectangular part of input array as a stand-alone array. + + Input GpuMat + Zero-based coordinates of the rectangle of interest. + Pointer to the resultant sub-array header. + + + + Shifts a matrix to the left (c = a << scalar) + + The matrix to be shifted. + The scalar to shift by. + The result of the shift + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Shifts a matrix to the right (c = a >> scalar) + + The matrix to be shifted. + The scalar to shift by. + The result of the shift + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Adds one matrix to another (c = a + b). + + The first matrix to be added. + The second matrix to be added. + The sum of the two matrix + The optional mask that is used to select a subarray. Use null if not needed + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + Optional depth of the output array. + + + + Subtracts one matrix from another (c = a - b). + + The matrix where subtraction take place + The matrix to be substracted + The result of a - b + The optional mask that is used to select a subarray. Use null if not needed + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + Optional depth of the output array. + + + + Computes element-wise product of the two GpuMat: c = scale * a * b. + + The first GpuMat to be element-wise multiplied. + The second GpuMat to be element-wise multiplied. + The element-wise multiplication of the two GpuMat + The scale + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + Optional depth of the output array. + + + + Computes element-wise quotient of the two GpuMat (c = scale * a / b). + + The first GpuMat + The second GpuMat + The element-wise quotient of the two GpuMat + The scale + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + Optional depth of the output array. + + + + Computes the weighted sum of two arrays (dst = alpha*src1 + beta*src2 + gamma) + + The first source GpuMat + The weight for + The second source GpuMat + The weight for + The constant to be added + The result + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + Optional depth of the output array. + + + + Computes element-wise absolute difference of two GpuMats (c = abs(a - b)). + + The first GpuMat + The second GpuMat + The result of the element-wise absolute difference. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes absolute value of each pixel in an image + + The source GpuMat, support depth of Int16 and float. + The resulting GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes square of each pixel in an image + + The source GpuMat, support depth of byte, UInt16, Int16 and float. + The resulting GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes square root of each pixel in an image + + The source GpuMat, support depth of byte, UInt16, Int16 and float. + The resulting GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Transposes a matrix. + + Source matrix. 1-, 4-, 8-byte element sizes are supported for now. + Destination matrix. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Compares elements of two GpuMats (c = a <cmpop> b). + Supports CV_8UC4, CV_32FC1 types + + The first GpuMat + The second GpuMat + The result of the comparison. + The type of comparison + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Resizes the image. + + The source image. Has to be GpuMat<Byte>. If stream is used, the GpuMat has to be either single channel or 4 channels. + The destination image. + The interpolation type. Supports INTER_NEAREST, INTER_LINEAR. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + Scale factor along the horizontal axis. If it is zero, it is computed as: (double)dsize.width/src.cols + Scale factor along the vertical axis. If it is zero, it is computed as: (double)dsize.height/src.rows + Destination image size. If it is zero, it is computed as: dsize = Size(round(fx* src.cols), round(fy* src.rows)). Either dsize or both fx and fy must be non-zero. + + + + Copies each plane of a multi-channel GpuMat to a dedicated GpuMat + + The multi-channel gpuMat + Pointer to an array of single channel GpuMat pointers + Use a Stream to call the function asynchronously (non-blocking) or IntPtr.Zero to call the function synchronously (blocking). + + + + Makes multi-channel GpuMat out of several single-channel GpuMats + + Pointer to an array of single channel GpuMat pointers + The multi-channel gpuMat + Use a Stream to call the function asynchronously (non-blocking) or IntPtr.Zero to call the function synchronously (blocking). + + + + Computes exponent of each matrix element (b = exp(a)) + + The source GpuMat. Supports Byte, UInt16, Int16 and float type. + The resulting GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes power of each matrix element: + (dst(i,j) = pow( src(i,j) , power), if src.type() is integer; + (dst(i,j) = pow(fabs(src(i,j)), power), otherwise. + supports all, except depth == CV_64F + + The source GpuMat + The power + The resulting GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes natural logarithm of absolute value of each matrix element: b = log(abs(a)) + + The source GpuMat. Supports Byte, UInt16, Int16 and float type. + The resulting GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes magnitude of each (x(i), y(i)) vector + + The source GpuMat. Supports only floating-point type + The source GpuMat. Supports only floating-point type + The destination GpuMat. Supports only floating-point type + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes squared magnitude of each (x(i), y(i)) vector + + The source GpuMat. Supports only floating-point type + The source GpuMat. Supports only floating-point type + The destination GpuMat. Supports only floating-point type + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes angle (angle(i)) of each (x(i), y(i)) vector + + The source GpuMat. Supports only floating-point type + The source GpuMat. Supports only floating-point type + The destination GpuMat. Supports only floating-point type + If true, the output angle is in degrees, otherwise in radian + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Converts Cartesian coordinates to polar + + The source GpuMat. Supports only floating-point type + The source GpuMat. Supports only floating-point type + The destination GpuMat. Supports only floating-point type + The destination GpuMat. Supports only floating-point type + If true, the output angle is in degrees, otherwise in radian + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Converts polar coordinates to Cartesian + + The source GpuMat. Supports only floating-point type + The source GpuMat. Supports only floating-point type + The destination GpuMat. Supports only floating-point type + The destination GpuMat. Supports only floating-point type + If true, the input angle is in degrees, otherwise in radian + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Finds minimum and maximum element values and their positions. The extremums are searched over the whole GpuMat or, if mask is not IntPtr.Zero, in the specified GpuMat region. + + The source GpuMat, single-channel + Pointer to returned minimum value + Pointer to returned maximum value + Pointer to returned minimum location + Pointer to returned maximum location + The optional mask that is used to select a subarray. Use null if not needed + + + + Finds global minimum and maximum matrix elements and returns their values with locations. + + Single-channel source image. + The output min and max values + The ouput min and max locations + Optional mask to select a sub-matrix. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs downsampling step of Gaussian pyramid decomposition. + + The source CudaImage. + The destination CudaImage, should have 2x smaller width and height than the source. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs up-sampling step of Gaussian pyramid decomposition. + + The source CudaImage. + The destination image, should have 2x smaller width and height than the source. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes mean value and standard deviation + + The GpuMat. Supports only CV_8UC1 type + The mean value + The standard deviation + + + + Computes norm of the difference between two GpuMats + + The GpuMat. Supports only CV_8UC1 type + If IntPtr.Zero, norm operation is apply to only. Otherwise, this is the GpuMat of type CV_8UC1 + The norm type. Supports NORM_INF, NORM_L1, NORM_L2. + The norm of the if is IntPtr.Zero. Otherwise the norm of the difference between two GpuMats. + + + + Returns the norm of a matrix. + + Source matrix. Any matrices except 64F are supported. + Norm type. NORM_L1 , NORM_L2 , and NORM_INF are supported for now. + optional operation mask; it must have the same size as src1 and CV_8UC1 type. + The norm of a matrix + + + + Returns the norm of a matrix. + + Source matrix. Any matrices except 64F are supported. + The GpuMat to store the result + Norm type. NORM_L1 , NORM_L2 , and NORM_INF are supported for now. + optional operation mask; it must have the same size as src1 and CV_8UC1 type. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Returns the difference of two matrices. + + Source matrix. Any matrices except 64F are supported. + Second source matrix (if any) with the same size and type as src1. + The GpuMat where the result will be stored in + Norm type. NORM_L1 , NORM_L2 , and NORM_INF are supported for now. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Returns the sum of absolute values for matrix elements. + + Source image of any depth except for CV_64F. + optional operation mask; it must have the same size as src and CV_8UC1 type. + The sum of absolute values for matrix elements. + + + + Returns the sum of absolute values for matrix elements. + + Source image of any depth except for CV_64F. + The GpuMat where the result will be stored. + optional operation mask; it must have the same size as src1 and CV_8UC1 type. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Returns the squared sum of matrix elements. + + Source image of any depth except for CV_64F. + optional operation mask; it must have the same size as src1 and CV_8UC1 type. + The squared sum of matrix elements. + + + + Returns the squared sum of matrix elements. + + Source image of any depth except for CV_64F. + The GpuMat where the result will be stored + optional operation mask; it must have the same size as src1 and CV_8UC1 type. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Counts non-zero array elements + + Single-channel source image. + The number of non-zero GpuMat elements + + + + Counts non-zero array elements + + Single-channel source image. + A Gpu mat to hold the result + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Normalizes the norm or value range of an array. + + Input array. + Output array of the same size as src . + Norm value to normalize to or the lower range boundary in case of the range normalization. + Upper range boundary in case of the range normalization; it is not used for the norm normalization. + Normalization type ( NORM_MINMAX , NORM_L2 , NORM_L1 or NORM_INF ). + Optional depth of the output array. + Optional operation mask. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Reduces GpuMat to a vector by treating the GpuMat rows/columns as a set of 1D vectors and performing the specified operation on the vectors until a single row/column is obtained. + + The input GpuMat + Destination vector. Its size and type is defined by dim and dtype parameters + Dimension index along which the matrix is reduced. 0 means that the matrix is reduced to a single row. 1 means that the matrix is reduced to a single column. + The reduction operation type + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + Optional depth of the output array. + + + + Flips the GpuMat<Byte> in one of different 3 ways (row and column indices are 0-based). + + The source GpuMat. supports 1, 3 and 4 channels GpuMat with Byte, UInt16, int or float depth + Destination GpuMat. The same source and type as + Specifies how to flip the GpuMat. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Calculates per-element bit-wise logical conjunction of two GpuMats: + dst(I)=src1(I)^src2(I) if mask(I)!=0 + In the case of floating-point GpuMats their bit representations are used for the operation. All the GpuMats must have the same type, except the mask, and the same size + + The first source GpuMat + The second source GpuMat + The destination GpuMat + Mask, 8-bit single channel GpuMat; specifies elements of destination GpuMat to be changed. Use IntPtr.Zero if not needed. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Calculates per-element bit-wise logical or of two GpuMats: + dst(I)=src1(I) | src2(I) if mask(I)!=0 + In the case of floating-point GpuMats their bit representations are used for the operation. All the GpuMats must have the same type, except the mask, and the same size + + The first source GpuMat + The second source GpuMat + The destination GpuMat + Mask, 8-bit single channel GpuMat; specifies elements of destination GpuMat to be changed. Use IntPtr.Zero if not needed. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Calculates per-element bit-wise logical and of two GpuMats: + dst(I)=src1(I) & src2(I) if mask(I)!=0 + In the case of floating-point GpuMats their bit representations are used for the operation. All the GpuMats must have the same type, except the mask, and the same size + + The first source GpuMat + The second source GpuMat + The destination GpuMat + Mask, 8-bit single channel GpuMat; specifies elements of destination GpuMat to be changed. Use IntPtr.Zero if not needed. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Calculates per-element bit-wise logical not + dst(I)=~src(I) if mask(I)!=0 + In the case of floating-point GpuMats their bit representations are used for the operation. All the GpuMats must have the same type, except the mask, and the same size + + The source GpuMat + The destination GpuMat + Mask, 8-bit single channel GpuMat; specifies elements of destination GpuMat to be changed. Use IntPtr.Zero if not needed. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes per-element minimum of two GpuMats (dst = min(src1, src2)) + + The first GpuMat + The second GpuMat + The result GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes per-element maximum of two GpuMats (dst = max(src1, src2)) + + The first GpuMat + The second GpuMat + The result GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Applies fixed-level thresholding to single-channel array. The function is typically used to get bi-level (binary) image out of grayscale image or for removing a noise, i.e. filtering out pixels with too small or too large values. There are several types of thresholding the function supports that are determined by thresholdType + + Source array (single-channel, 8-bit of 32-bit floating point). + Destination array; must be either the same type as src or 8-bit. + Threshold value + Maximum value to use with CV_THRESH_BINARY and CV_THRESH_BINARY_INV thresholding types + Thresholding type + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs generalized matrix multiplication: + dst = alpha*op(src1)*op(src2) + beta*op(src3), where op(X) is X or XT + + The first source array. + The second source array. + The scalar + The third source array (shift). Can be IntPtr.Zero, if there is no shift. + The scalar + The destination array. + The gemm operation type + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Warps the image using affine transformation + + The source GpuMat + The destination GpuMat + The 2x3 transformation matrix (pointer to CvArr) + Supports NN, LINEAR, CUBIC + The border mode, use BORDER_TYPE.CONSTANT for default. + The border value, use new MCvScalar() for default. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + The size of the destination image + + + + Warps the image using perspective transformation + + The source GpuMat + The destination GpuMat + The 2x3 transformation matrix (pointer to CvArr) + Supports NN, LINEAR, CUBIC + The border mode, use BORDER_TYPE.CONSTANT for default. + The border value, use new MCvScalar() for default. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + The size of the destination image + + + + DST[x,y] = SRC[xmap[x,y],ymap[x,y]] with bilinear interpolation. + + The source GpuMat. Supports CV_8UC1, CV_8UC3 source types. + The dstination GpuMat. Supports CV_8UC1, CV_8UC3 source types. + The xmap. Supports CV_32FC1 map type. + The ymap. Supports CV_32FC1 map type. + Interpolation type. + Border mode. Use BORDER_CONSTANT for default. + The value of the border. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Rotates an image around the origin (0,0) and then shifts it. + + Source image. Supports 1, 3 or 4 channels images with Byte, UInt16 or float depth + Destination image with the same type as src. Must be pre-allocated + Angle of rotation in degrees + Shift along the horizontal axis + Shift along the verticle axis + The size of the destination image + Interpolation method. Only INTER_NEAREST, INTER_LINEAR, and INTER_CUBIC are supported. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Copies a 2D array to a larger destination array and pads borders with the given constant. + + Source image. + Destination image with the same type as src. The size is Size(src.cols+left+right, src.rows+top+bottom). + Number of pixels in each direction from the source image rectangle to extrapolate. + Number of pixels in each direction from the source image rectangle to extrapolate. + Number of pixels in each direction from the source image rectangle to extrapolate. + Number of pixels in each direction from the source image rectangle to extrapolate. + Border Type + Border value. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes the integral image and integral for the squared image + + The source GpuMat, supports only CV_8UC1 source type + The sum GpuMat, supports only CV_32S source type, but will contain unsigned int values + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Computes squared integral image + + The source GpuMat, supports only CV_8UC1 source type + The sqsum GpuMat, supports only CV32F source type. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs a forward or inverse discrete Fourier transform (1D or 2D) of floating point matrix. + Param dft_size is the size of DFT transform. + + If the source matrix is not continous, then additional copy will be done, + so to avoid copying ensure the source matrix is continous one. If you want to use + preallocated output ensure it is continuous too, otherwise it will be reallocated. + + Being implemented via CUFFT real-to-complex transform result contains only non-redundant values + in CUFFT's format. Result as full complex matrix for such kind of transform cannot be retrieved. + + For complex-to-real transform it is assumed that the source matrix is packed in CUFFT's format. + + The source GpuMat + The resulting GpuMat of the DST, must be pre-allocated and continious. If single channel, the result is real. If double channel, the result is complex + Size of a discrete Fourier transform. + DFT flags + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs a per-element multiplication of two Fourier spectrums and scales the result. + + First spectrum. + Second spectrum with the same size and type. + Destination spectrum. + Mock parameter used for CPU/CUDA interfaces similarity, simply add a 0 value. + Scale constant. + Optional flag to specify if the second spectrum needs to be conjugated before the multiplication. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs a per-element multiplication of two Fourier spectrums. + + First spectrum. + Second spectrum with the same size and type. + Destination spectrum. + Mock parameter used for CPU/CUDA interfaces similarity. + Optional flag to specify if the second spectrum needs to be conjugated before the multiplication. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Sets a CUDA device and initializes it for the current thread with OpenGL interoperability. + This function should be explicitly called after OpenGL context creation and before any CUDA calls. + + System index of a CUDA device starting with 0. + + + + Colors a disparity image. + + Input single-channel 8-bit unsigned, 16-bit signed, 32-bit signed or 32-bit floating-point disparity image. If 16-bit signed format is used, the values are assumed to have no fractional bits. + Output disparity image. It has the same size as src_disp. The type is CV_8UC4 in BGRA format (alpha = 255). + Number of disparities. + Stream for the asynchronous version. + + + + Release the GpuMat + + Pointer to the GpuMat + + + + Create an empty GpuMat + + Pointer to an empty GpuMat + + + + Convert a CvArr to a GpuMat + + Pointer to a CvArr + Pointer to the GpuMat + + + + Get the GpuMat size: + width == number of columns, height == number of rows + + The GpuMat + The size of the matrix + + + + Get the GpuMat type + + The GpuMat + The GpuMat type + + + + Create a GpuMat of the specified size + + Pointer to the native cv::Mat + The number of rows (height) + The number of columns (width) + The type of GpuMat + Pointer to the GpuMat + + + + Create a GpuMat of the specified size. The allocated data is continuous within this GpuMat. + + The number of rows (height) + The number of columns (width) + The type of GpuMat + Pointer to the GpuMat + + + + Performs blocking upload data to GpuMat. + + The destination gpuMat + The CvArray to be uploaded to GPU + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Downloads data from device to host memory. Blocking calls. + + The source GpuMat + The CvArray where data will be downloaded to + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Copy the source GpuMat to destination GpuMat, using an optional mask. + + The GpuMat to be copied from + The GpuMat to be copied to + The optional mask, use IntPtr.Zero if not needed. + Use a Stream to call the function asynchronously (non-blocking) or IntPtr.Zero to call the function synchronously (blocking). + + + + This function has several different purposes and thus has several synonyms. It copies one GpuMat to another with optional scaling, which is performed first, and/or optional type conversion, performed after: + dst(I)=src(I)*scale + (shift,shift,...) + All the channels of multi-channel GpuMats are processed independently. + The type conversion is done with rounding and saturation, that is if a result of scaling + conversion can not be represented exactly by a value of destination GpuMat element type, it is set to the nearest representable value on the real axis. + In case of scale=1, shift=0 no prescaling is done. This is a specially optimized case and it has the appropriate convertTo synonym. + + Source GpuMat + Destination GpuMat + The depth type of the destination GpuMat + Scale factor + Value added to the scaled source GpuMat elements + Use a Stream to call the function asynchronously (non-blocking) or IntPtr.Zero to call the function synchronously (blocking). + + + + Changes shape of GpuMat without copying data. + + The GpuMat to be reshaped. + The result GpuMat. + New number of channels. newCn = 0 means that the number of channels remains unchanged. + New number of rows. newRows = 0 means that the number of rows remains unchanged unless it needs to be changed according to newCn value. + A GpuMat of different shape + + + + Converts image from one color space to another + + The source GpuMat + The destination GpuMat + The color conversion code + Number of channels in the destination image. If the parameter is 0, the number of the channels is derived automatically from src and the code . + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Converts an image from Bayer pattern to RGB or grayscale. + + Source image (8-bit or 16-bit single channel). + Destination image. + Color space conversion code (see the description below). + Number of channels in the destination image. If the parameter is 0, the number of the channels is derived automatically from src and the code . + Stream for the asynchronous version. + + + + Swap channels. + + The image where the channels will be swapped + + Integer array describing how channel values are permutated. The n-th entry + of the array contains the number of the channel that is stored in the n-th channel of + the output image. E.g. Given an RGBA image, aDstOrder = [3,2,1,0] converts this to ABGR + channel order. + + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Routines for correcting image color gamma + + Source image (3- or 4-channel 8 bit). + Destination image. + True for forward gamma correction or false for inverse gamma correction. + Stream for the asynchronous version. + + + + Composites two images using alpha opacity values contained in each image. + + First image. Supports CV_8UC4 , CV_16UC4 , CV_32SC4 and CV_32FC4 types. + Second image. Must have the same size and the same type as img1 . + Destination image + Flag specifying the alpha-blending operation + Stream for the asynchronous version + + + + Calculates histogram for one channel 8-bit image. + + Source image with CV_8UC1 type. + Destination histogram with one row, 256 columns, and the CV_32SC1 type. + tream for the asynchronous version. + + + + Equalizes the histogram of a grayscale image. + + Source image with CV_8UC1 type. + Destination image. + Stream for the asynchronous version. + + + + Calculates histogram with evenly distributed bins for single channel source. + + The source GpuMat. Supports CV_8UC1, CV_16UC1 and CV_16SC1 types. + Histogram with evenly distributed bins. A GpuMat<int> type. + The size of histogram (number of levels) + The lower level + The upper level + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + Histogram with evenly distributed bins + + + + Calculates a histogram with bins determined by the levels array + + Source image. CV_8U , CV_16U , or CV_16S depth and 1 or 4 channels are supported. For a four-channel image, all channels are processed separately. + Destination histogram with one row, (levels.cols-1) columns, and the CV_32SC1 type. + Number of levels in the histogram. + Stream for the asynchronous version. + + + + Performs linear blending of two images. + + First image. Supports only CV_8U and CV_32F depth. + Second image. Must have the same size and the same type as img1 . + Weights for first image. Must have tha same size as img1. Supports only CV_32F type. + Weights for second image. Must have tha same size as img2. Supports only CV_32F type. + Destination image. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Applies bilateral filter to the image. + + The source image + The destination image; should have the same size and the same type as src + The diameter of each pixel neighborhood, that is used during filtering. + Filter sigma in the color space. Larger value of the parameter means that farther colors within the pixel neighborhood (see sigmaSpace) will be mixed together, resulting in larger areas of semi-equal color + Filter sigma in the coordinate space. Larger value of the parameter means that farther pixels will influence each other (as long as their colors are close enough; see sigmaColor). Then d>0, it specifies the neighborhood size regardless of sigmaSpace, otherwise d is proportional to sigmaSpace. + Pixel extrapolation method, use DEFAULT for default + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs mean-shift filtering for each point of the source image. It maps each point of the source + image into another point, and as the result we have new color and new position of each point. + + Source CudaImage. Only CV 8UC4 images are supported for now. + Destination CudaImage, containing color of mapped points. Will have the same size and type as src. + Spatial window radius. + Color window radius. + Termination criteria. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs mean-shift procedure and stores information about processed points (i.e. their colors + and positions) into two images. + + Source CudaImage. Only CV 8UC4 images are supported for now. + Destination CudaImage, containing color of mapped points. Will have the same size and type as src. + Destination CudaImage, containing position of mapped points. Will have the same size as src and CV 16SC2 type. + Spatial window radius. + Color window radius. + Termination criteria. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Performs mean-shift segmentation of the source image and eleminates small segments. + + Source CudaImage. Only CV 8UC4 images are supported for now. + Segmented Image. Will have the same size and type as src. Note that this is an Image type and not CudaImage type + Spatial window radius. + Color window radius. + Minimum segment size. Smaller segements will be merged. + Termination criteria. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + This function is similiar to cvCalcBackProjectPatch. It slids through image, compares overlapped patches of size wxh with templ using the specified method and stores the comparison results to result + + Image where the search is running. It should be 8-bit or 32-bit floating-point + Searched template; must be not greater than the source image and the same data type as the image + A map of comparison results; single-channel 32-bit floating-point. If image is WxH and templ is wxh then result must be W-w+1xH-h+1. + Pointer to cv::gpu::TemplateMatching + Use a Stream to call the function asynchronously (non-blocking) or IntPtr.Zero to call the function synchronously (blocking). + + + + Calculates a dense optical flow. + + The dense optical flow object + first input image. + second input image of the same size and the same type as . + computed flow image that has the same size as I0 and type CV_32FC2. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Calculates a sparse optical flow. + + The sparse optical flow + First input image. + Second input image of the same size and the same type as . + Vector of 2D points for which the flow needs to be found. + Output vector of 2D points containing the calculated new positions of input features in the second image. + Output status vector. Each element of the vector is set to 1 if the flow for the corresponding features has been found. Otherwise, it is set to 0. + Optional output vector that contains error response for each point (inverse confidence). + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + The Cuda device information + + + + + Query the information of the gpu device that is currently in use. + + + + + Query the information of the cuda device with the specific id. + + The device id + + + + The id of the device + + + + + The name of the device + + + + + The compute capability + + + + + The number of single multi processors + + + + + Get the amount of free memory at the moment + + + + + Get the amount of total memory + + + + + Indicates if the device has the specific feature + + The device feature + True if the feature is supported + + + + Checks whether the Cuda module can be run on the given device + + + + + GPU feature + + + + + Cuda compute 1.0 + + + + + Cuda compute 1.1 + + + + + Cuda compute 1.2 + + + + + Cuda compute 1.3 + + + + + Cuda compute 2.0 + + + + + Cuda compute 2.1 + + + + + Global Atomic + + + + + Shared Atomic + + + + + Native double + + + + + Release the unmanaged resource related to the GpuDevice + + + + + An CudaImage is very similar to the Emgu.CV.Image except that it is being used for GPU processing + + Color type of this image (either Gray, Bgr, Bgra, Hsv, Hls, Lab, Luv, Xyz, Ycc, Rgb or Rbga) + Depth of this image (either Byte, SByte, Single, double, UInt16, Int16 or Int32) + + + + Create an empty CudaImage + + + + + Create the CudaImage from the unmanaged pointer. + + The unmanaged pointer to the GpuMat. It is the user's responsibility that the Color type and depth matches between the managed class and unmanaged pointer. + if true, unpon object disposal, we will cann the release function on the unmanaged + + + + Create a GPU image from a regular image + + The image to be converted to GPU image + + + + Create a CudaImage of the specific size + + The number of rows (height) + The number of columns (width) + Indicates if the data should be continuous + + + + Create a CudaImage of the specific size + + The number of rows (height) + The number of columns (width) + + + + Create a CudaImage of the specific size + + The size of the image + + + + Create a CudaImage from the specific region of . The data is shared between the two CudaImage + + The CudaImage where the region is extracted from + The column range. Use MCvSlice.WholeSeq for all columns. + The row range. Use MCvSlice.WholeSeq for all rows. + + + + Convert the current CudaImage to a regular Image. + + A regular image + + + Convert the current CudaImage to the specific color and depth + The type of color to be converted to + The type of pixel depth to be converted to + CudaImage of the specific color and depth + + + + Convert the source image to the current image, if the size are different, the current image will be a resized version of the srcImage. + + The color type of the source image + The color depth of the source image + The sourceImage + + + + Create a clone of this CudaImage + + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + A clone of this CudaImage + + + + Resize the CudaImage. The calling GpuMat be GpuMat%lt;Byte>. If stream is specified, it has to be either 1 or 4 channels. + + The new size + The interpolation type + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + A CudaImage of the new size + + + + Returns a CudaImage corresponding to a specified rectangle of the current CudaImage. The data is shared with the current matrix. In other words, it allows the user to treat a rectangular part of input array as a stand-alone array. + + Zero-based coordinates of the rectangle of interest. + A CudaImage that represent the region of the current CudaImage. + The parent CudaImage should never be released before the returned CudaImage that represent the subregion + + + + Returns a CudaImage corresponding to the ith row of the CudaImage. The data is shared with the current Image. + + The row to be extracted + The ith row of the CudaImage + The parent CudaImage should never be released before the returned CudaImage that represent the subregion + + + + Returns a CudaImage corresponding to the [ ) rows of the CudaImage. The data is shared with the current Image. + + The inclusive stating row to be extracted + The exclusive ending row to be extracted + The [ ) rows of the CudaImage + The parent CudaImage should never be released before the returned CudaImage that represent the subregion + + + + Returns a CudaImage corresponding to the ith column of the CudaImage. The data is shared with the current Image. + + The column to be extracted + The ith column of the CudaImage + The parent CudaImage should never be released before the returned CudaImage that represent the subregion + + + + Returns a CudaImage corresponding to the [ ) columns of the CudaImage. The data is shared with the current Image. + + The inclusive stating column to be extracted + The exclusive ending column to be extracted + The [ ) columns of the CudaImage + The parent CudaImage should never be released before the returned CudaImage that represent the subregion + + + + convert the current CudaImage to its equivalent Bitmap representation + + + + + Gpu look up table + + + + + Create the look up table + + It should be either 1 or 3 channel matrix of 1x256 + + + + Transform the image using the lookup table + + The image to be transformed + The transformation result + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release all the unmanaged memory associated with this look up table + + + + + A GpuMat, use the generic version if possible. The non generic version is good for use as buffer in stream calls. + + + + + Create an empty GpuMat + + + + + Create a GpuMat of the specified size + + The number of rows (height) + The number of columns (width) + The number of channels + The type of depth + Indicates if the data should be continuous + + + + allocates new GpuMat data unless the GpuMat already has specified size and type + + The number of rows + The number of cols + The depth type + The number of channels. + + + + Create a GpuMat from the specific pointer + + Pointer to the unmanaged gpuMat + True if we need to call Release function to during object disposal + + + + Create a GpuMat from an CvArray of the same depth type + + The CvArray to be converted to GpuMat + + + + Create a GpuMat from the specific region of . The data is shared between the two GpuMat + + The matrix where the region is extracted from + The column range. + The row range. + + + + Release the unmanaged memory associated with this GpuMat + + + + + Get the GpuMat size: + width == number of columns, height == number of rows + + + + + Get the type of the GpuMat + + + + + Pointer to the InputArray + + The input array + + + + Pointer to the OutputArray + + The output array + + + + Pointer to the InputOutputArray + + The input output array + + + + Upload data to GpuMat + + The CvArray to be uploaded to GpuMat + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Downloads data from device to host memory. + + The destination CvArray where the GpuMat data will be downloaded to. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Convert the GpuMat to Mat + + The Mat that contains the same data as this GpuMat + + + + Get a copy of the data values as an array + + If true, a jagged array will returned. Otherwise it will return a regular array. + a copy of the data values as an array + + + + Copies scalar value to every selected element of the destination GpuMat: + arr(I)=value if mask(I)!=0 + + Fill value + Operation mask, 8-bit single channel GpuMat; specifies elements of destination GpuMat to be changed. Can be IntPtr.Zero if not used + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Copy the source GpuMat to destination GpuMat, using an optional mask. + + The output array to be copied to + The optional mask, use IntPtr.Zero if not needed. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + This function has several different purposes and thus has several synonyms. It copies one GpuMat to another with optional scaling, which is performed first, and/or optional type conversion, performed after: + dst(I)=src(I)*scale + (shift,shift,...) + All the channels of multi-channel GpuMats are processed independently. + The type conversion is done with rounding and saturation, that is if a result of scaling + conversion can not be represented exactly by a value of destination GpuMat element type, it is set to the nearest representable value on the real axis. + In case of scale=1, shift=0 no prescaling is done. This is a specially optimized case and it has the appropriate convertTo synonym. + + Destination GpuMat + Result type + Scale factor + Value added to the scaled source GpuMat elements + Use a Stream to call the function asynchronously (non-blocking) or IntPtr.Zero to call the function synchronously (blocking). + + + + Changes shape of GpuMat without copying data. + + New number of channels. newCn = 0 means that the number of channels remains unchanged. + New number of rows. newRows = 0 means that the number of rows remains unchanged unless it needs to be changed according to newCn value. + A GpuMat of different shape + + + + Returns a GpuMat corresponding to the ith row of the GpuMat. The data is shared with the current GpuMat. + + The row to be extracted + The ith row of the GpuMat + The parent GpuMat should never be released before the returned GpuMat that represent the subregion + + + + Returns a GpuMat corresponding to the [ ) rows of the GpuMat. The data is shared with the current GpuMat. + + The inclusive stating row to be extracted + The exclusive ending row to be extracted + The [ ) rows of the GpuMat + The parent GpuMat should never be released before the returned GpuMat that represent the subregion + + + + Returns a GpuMat corresponding to the ith column of the GpuMat. The data is shared with the current GpuMat. + + The column to be extracted + The ith column of the GpuMat + The parent GpuMat should never be released before the returned GpuMat that represent the subregion + + + + Returns a GpuMat corresponding to the [ ) columns of the GpuMat. The data is shared with the current GpuMat. + + The inclusive stating column to be extracted + The exclusive ending column to be extracted + The [ ) columns of the GpuMat + The parent GpuMat should never be released before the returned GpuMat that represent the subregion + + + + Returns true if the two GpuMat equals + + The other GpuMat to be compares with + True if the two GpuMat equals + + + + Makes multi-channel array out of several single-channel arrays + + + An array of single channel GpuMat where each item + in the array represent a single channel of the GpuMat + + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Split current Image into an array of gray scale images where each element + in the array represent a single color channel of the original image + + + An array of single channel GpuMat where each item + in the array represent a single channel of the original GpuMat + + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Split current GpuMat into an array of single channel GpuMat where each element + in the array represent a single channel of the original GpuMat + + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + An array of single channel GpuMat where each element + in the array represent a single channel of the original GpuMat + + + + + Get the Bitmap from this GpuMat + + + + + Returns the min / max location and values for the image + + The maximum locations for each channel + The maximum values for each channel + The minimum locations for each channel + The minimum values for each channel + + + + Save the GpuMat to a file + + The file name + + + + Make a clone of the GpuMat + + A clone of the GPU Mat + + + + True if the data is continues + + + + + Depth type + + + + + True if the matrix is empty + + + + + Number of channels + + + + + Similar to CvArray but use GPU for processing + + The type of element in the matrix + + + + Create a GpuMat from the unmanaged pointer + + The unmanaged pointer to the GpuMat + If true, will call the release function on the + + + + Create an empty GpuMat + + + + + Create a GpuMat from an CvArray of the same depth type + + The CvArry to be converted to GpuMat + + + + Create a GpuMat of the specified size + + The number of rows (height) + The number of columns (width) + The number of channels + Indicates if the data should be continuous + + + + Create a GpuMat of the specified size + + The size of the GpuMat + The number of channels + + + + Convert this GpuMat to a Matrix + + The matrix that contains the same values as this GpuMat + + + + Returns a GpuMat corresponding to a specified rectangle of the current GpuMat. The data is shared with the current matrix. In other words, it allows the user to treat a rectangular part of input array as a stand-alone array. + + Zero-based coordinates of the rectangle of interest. + A GpuMat that represent the region of the current matrix. + The parent GpuMat should never be released before the returned GpuMat the represent the subregion + + + + Encapculates Cuda Stream. Provides interface for async coping. + Passed to each function that supports async kernel execution. + Reference counting is enabled + + + + + Create a new Cuda Stream + + + + + Wait for the completion + + + + + Check if the stream is completed + + + + + Release the stream + + + + + Gives information about what GPU archs this OpenCV GPU module was compiled for + + + + + Check if the GPU module is build with the specific feature set. + + The feature set to be checked. + True if the GPU module is build with the specific feature set. + + + + Check if the GPU module is targeted for the specific device version + + The major version + The minor version + True if the GPU module is targeted for the specific device version. + + + + Check if the GPU module is targeted for the specific PTX version + + The major version + The minor version + True if the GPU module is targeted for the specific PTX version. + + + + Check if the GPU module is targeted for the specific BIN version + + The major version + The minor version + True if the GPU module is targeted for the specific BIN version. + + + + Check if the GPU module is targeted for equal or less PTX version + + The major version + The minor version + True if the GPU module is targeted for equal or less PTX version. + + + + Check if the GPU module is targeted for equal or greater device version + + The major version + The minor version + True if the GPU module is targeted for equal or greater device version. + + + + Check if the GPU module is targeted for equal or greater PTX version + + The major version + The minor version + True if the GPU module is targeted for equal or greater PTX version. + + + + Check if the GPU module is targeted for equal or greater BIN version + + The major version + The minor version + True if the GPU module is targeted for equal or greater BIN version. + + + + Wrapped class of the C++ standard vector of GpuMat. + + + + + Create an empty standard vector of GpuMat + + + + + Create an standard vector of GpuMat of the specific size + + The size of the vector + + + + Create an standard vector of GpuMat with the initial values + + The initial values + + + + Get the size of the vector + + + + + Clear the vector + + + + + Push a value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values into the standard vector + + The values to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + Gaussian Mixture-based Background/Foreground Segmentation Algorithm. + + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Create a Gaussian Mixture-based Background/Foreground Segmentation model + + Length of the history. + Number of Gaussian mixtures. + Background ratio. + Noise strength (standard deviation of the brightness or each color channel). 0 means some automatic value. + + + + Updates the background model + + Next video frame. + The learning rate, use -1.0f for default value. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + The foregroundMask + + + + Release all the unmanaged resource associated with this object + + + + + Gaussian Mixture-based Background/Foreground Segmentation Algorithm. + + + + + Pointer to the unmanaged Algorithm object + + + + + Pointer to the unmanaged BackgroundSubtractor object + + + + + Create a Gaussian Mixture-based Background/Foreground Segmentation model + + Length of the history. + Threshold on the squared Mahalanobis distance between the pixel and the model to decide whether a pixel is well described by the background model. This parameter does not affect the background update. + If true, the algorithm will detect shadows and mark them. It decreases the speed a bit, so if you do not need this feature, set the parameter to false. + + + + Updates the background model + + Next video frame. + The output forground mask + The learning rate, use -1.0f for default value. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release all the unmanaged resource associated with this object + + + + + Box filter + + + + + Create a BoxMax filter. + + Size of the kernel + The center of the kernel. User (-1, -1) for the default kernel center. + The border type. + The border value. + The source image depth type + The number of channels in the source image + The destination image depth type + The number of channels in the destination image + + + + BoxMax filter + + + + + Create a BoxMax filter. + + Size of the kernel + The center of the kernel. User (-1, -1) for the default kernel center. + The border type. + The border value. + The depth type of the source image + The number of channels of the source image + + + + BoxMin filter + + + + + Create a BoxMin filter. + + Size of the kernel + The center of the kernel. User (-1, -1) for the default kernel center. + The border type. + The border value. + The depth of the source image + The number of channels in the source image + + + + A vertical 1D box filter. + + + + + Creates a vertical 1D box filter. + + Input image depth. + Input image channel. + Output image depth. + Output image channel. + Kernel size. + Anchor point. The default value (-1) means that the anchor is at the kernel center. + Pixel extrapolation method. + Default border value. + + + + A generalized Deriv operator. + + + + + Creates a generalized Deriv operator. + + Source image depth. + Source image channels. + Destination array depth. + Destination array channels. + Derivative order in respect of x. + Derivative order in respect of y. + Aperture size. + Flag indicating whether to normalize (scale down) the filter coefficients or not. + Optional scale factor for the computed derivative values. By default, no scaling is applied. + Pixel extrapolation method in the vertical direction. + Pixel extrapolation method in the horizontal direction. + + + + Base Cuda filter class + + + + + Release all the unmanaged memory associated with this gpu filter + + + + + Apply the cuda filter + + The source CudaImage where the filter will be applied to + The destination CudaImage + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Gaussian filter + + + + + Create a Gaussian filter. + + The size of the kernel + This parameter may specify Gaussian sigma (standard deviation). If it is zero, it is calculated from the kernel size. + In case of non-square Gaussian kernel the parameter may be used to specify a different (from param3) sigma in the vertical direction. Use 0 for default + The row border type. + The column border type. + The depth type of the source image + The number of channels in the source image + The depth type of the destination image + The number of channels in the destination image + + + + Laplacian filter + + + + + Create a Laplacian filter. + + Either 1 or 3 + Optional scale. Use 1.0 for default + The border type. + The border value. + The depth type of the source image + The number of channels in the source image + The depth type of the destination image + The number of channels in the destination image + + + + Applies arbitrary linear filter to the image. In-place operation is supported. When the aperture is partially outside the image, the function interpolates outlier pixel values from the nearest pixels that is inside the image + + + + + Create a Gpu LinearFilter + + Convolution kernel, single-channel floating point matrix (e.g. Emgu.CV.Matrix). If you want to apply different kernels to different channels, split the gpu image into separate color planes and process them individually + The anchor of the kernel that indicates the relative position of a filtered point within the kernel. The anchor shoud lie within the kernel. The special default value (-1,-1) means that it is at the kernel center + Border type. Use REFLECT101 as default. + The border value + The depth type of the source image + The number of channels in the source image + The depth type of the dest image + The number of channels in the dest image + + + + median filtering for each point of the source image. + + + + + Create a median filter + + Type of of source image. Only 8U images are supported for now. + Type of of source image. Only single channel images are supported for now. + Size of the kernerl used for the filtering. Uses a (windowSize x windowSize) filter. + Specifies the parallel granularity of the workload. This parameter should be used GPU experts when optimizing performance. + + + + Morphology filter + + + + + Create a Morphology filter. + + Type of morphological operation + 2D 8-bit structuring element for the morphological operation. + Anchor position within the structuring element. Negative values mean that the anchor is at the center. + Number of times erosion and dilation to be applied. + The depth type of the source image + The number of channels in the source image + + + + A horizontal 1D box filter. + + + + + Creates a horizontal 1D box filter. + + Input image depth. Only 8U type is supported for now. + Input image channel. Only single channel type is supported for now. + Output image depth. Only 32F type is supported for now. + Output image channel. Only single channel type is supported for now. + Kernel size. + Anchor point. The default value (-1) means that the anchor is at the kernel center. + Pixel extrapolation method. + Default border value. + + + + A vertical or horizontal Scharr operator. + + + + + Creates a vertical or horizontal Scharr operator. + + Source image depth. + Source image channels. + Destination array depth. + Destination array channels. + Order of the derivative x. + Order of the derivative y. + Optional scale factor for the computed derivative values. By default, no scaling is applied. + Pixel extrapolation method in the vertical direction. For details, see borderInterpolate. + Pixel extrapolation method in the horizontal direction. + + + + SeparableLinearFilter + + + + + Create a SeparableLinearFilter + + Source array depth + Source array channels + Destination array depth + Destination array channels + Horizontal filter coefficients. Support kernels with size <= 32 . + Vertical filter coefficients. Support kernels with size <= 32 . + Anchor position within the kernel. Negative values mean that anchor is positioned at the aperture center. + Pixel extrapolation method in the vertical direction + Pixel extrapolation method in the horizontal direction + + + + Sobel filter + + + + + Create a Sobel filter. + + The depth of the source image + The number of channels of the source image + The depth of the destination image + The number of channels of the the destination image + Order of the derivative x + Order of the derivative y + Size of the extended Sobel kernel + Optional scale, use 1 for default. + The row border type. + The column border type. + + + + Cascade Classifier for object detection using Cuda + + + + + Canny edge detector using Cuda. + + The first threshold, used for edge linking + The second threshold, used to find initial segments of strong edges + Aperture parameter for Sobel operator, use 3 for default + Use false for default + + + + Finds the edges on the input and marks them in the output image edges using the Canny algorithm. + + Input image + Image to store the edges found by the function + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release all the unmanaged memory associate with this Canny edge detector. + + + + + Contrast Limited Adaptive Histogram Equalization + + + + + Create the Contrast Limited Adaptive Histogram Equalization + + Threshold for contrast limiting. Use 40.0 for default + Size of grid for histogram equalization. Input image will be divided into equally sized rectangular tiles. This parameter defines the number of tiles in row and column. Use (8, 8) for default + + + + Equalizes the histogram of a grayscale image using Contrast Limited Adaptive Histogram Equalization. + + Source image + Destination image + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release all the unmanaged memory associated with this object + + + + + Base CornernessCriteria class + + + + + Release all the unmanaged memory associated with this gpu filter + + + + + Apply the cuda filter + + The source CudaImage where the filter will be applied to + The destination CudaImage + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Cuda implementation of GoodFeaturesToTrackDetector + + + + + Create the Cuda implementation of GoodFeaturesToTrackDetector + + The depth of the src image + The number of channels in the src image + The maximum number of channels + The quality level + The minimum distance + The block size + If true, use Harris detector + Harris K + + + + Find the good features to track + + The input image + The output corners + Optional mask + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release all the unmanaged memory associated with this detector + + + + + Runs the Harris edge detector on image. Similarly to cvCornerMinEigenVal and cvCornerEigenValsAndVecs, for each pixel it calculates 2x2 gradient covariation matrix M over block_size x block_size neighborhood. Then, it stores + det(M) - k*trace(M)^2 + to the destination image. Corners in the image can be found as local maxima of the destination image. + + + + + Create a Cuda Harris Corner detector + + The depth of the source image + The number of channels in the source image + Neighborhood size + + Harris detector free parameter. + Boreder type, use REFLECT101 for default + + + + Base class for circles detector algorithm. + + + + + Create hough circles detector + + Inverse ratio of the accumulator resolution to the image resolution. For example, if dp=1 , the accumulator has the same resolution as the input image. If dp=2 , the accumulator has half as big width and height. + Minimum distance between the centers of the detected circles. If the parameter is too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is too large, some circles may be missed. + The higher threshold of the two passed to Canny edge detector (the lower one is twice smaller). + The accumulator threshold for the circle centers at the detection stage. The smaller it is, the more false circles may be detected. + Minimum circle radius. + Maximum circle radius. + Maximum number of output circles. + + + + Finds circles in a grayscale image using the Hough transform. + + 8-bit, single-channel grayscale input image. + Output vector of found circles. Each vector is encoded as a 3-element floating-point vector. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Finds circles in a grayscale image using the Hough transform. + + 8-bit, single-channel grayscale input image. + Circles detected + + + + Release the unmanaged memory associated with this circle detector. + + + + + Base class for lines detector algorithm. + + + + + Create a hough lines detector + + Distance resolution of the accumulator in pixels. + Angle resolution of the accumulator in radians. + Accumulator threshold parameter. Only those lines are returned that get enough votes (> threshold). + Performs lines sort by votes. + Maximum number of output lines. + + + + Finds line segments in a binary image using the probabilistic Hough transform. + + 8-bit, single-channel binary source image + Output vector of lines.Output vector of lines. Each line is represented by a two-element vector. + The first element is the distance from the coordinate origin (top-left corner of the image). + The second element is the line rotation angle in radians. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release the unmanaged memory associated to this line detector. + + + + + Base class for line segments detector algorithm. + + + + + Create a hough segment detector + + Distance resolution of the accumulator in pixels. + Angle resolution of the accumulator in radians. + Minimum line length. Line segments shorter than that are rejected. + Maximum allowed gap between points on the same line to link them. + Maximum number of output lines. + + + + Finds line segments in a binary image using the probabilistic Hough transform. + + 8-bit, single-channel binary source image + Output vector of lines. Each line is represented by a 4-element vector (x1, y1, x2, y2) , where (x1, y1) and (x2, y2) are the ending points of each detected line segment. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release the unmanaged memory associated with this segment detector + + + + + Bayer Demosaicing (Malvar, He, and Cutler) + + + + + BayerBG2BGR_MHT + + + + + BayerGB2BGR_MHT + + + + + BayerRG2BGR_MHT + + + + + BayerGR2BGR_MHT + + + + + BayerBG2RGB_MHT + + + + + BayerGB2RGB_MHT + + + + + BayerRG2RGB_MHT + + + + + BayerGR2RGB_MHT + + + + + BayerBG2GRAY_MHT + + + + + BayerGB2GRAY_MHT + + + + + BayerRG2GRAY_MHT + + + + + BayerGR2GRAY_MHT + + + + + Alpha composite types + + + + + Over + + + + + In + + + + + Out + + + + + Atop + + + + + Xor + + + + + Plus + + + + + Over Premul + + + + + In Premul + + + + + Out Premul + + + + + Atop Premul + + + + + Xor Premul + + + + + Plus Premul + + + + + Premul + + + + + Implementation for the minimum eigen value of a 2x2 derivative covariation matrix (the cornerness criteria). + + + + + Creates implementation for the minimum eigen value of a 2x2 derivative covariation matrix (the cornerness criteria). + + Input source depth. Only 8U and 32F are supported for now. + Input source type. Only single channel are supported for now. + Neighborhood size. + Aperture parameter for the Sobel operator. + Pixel extrapolation method. Only BORDER_REFLECT101 and BORDER_REPLICATE are supported for now. + + + + Cuda template matching filter. + + + + + Create a Cuda template matching filter + + Specifies the way the template must be compared with image regions + The block size + The depth type of the image that will be used in the template matching + The number of channels of the image that will be used in the template matching + + + + This function is similiar to cvCalcBackProjectPatch. It slids through image, compares overlapped patches of size wxh with templ using the specified method and stores the comparison results to result + + Image where the search is running. It should be 8-bit or 32-bit floating-point + Searched template; must be not greater than the source image and the same data type as the image + A map of comparison results; single-channel 32-bit floating-point. If image is WxH and templ is wxh then result must be W-w+1xH-h+1. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release the buffer + + + + + Brox optical flow + + + + + Create the Brox optical flow solver + + Flow smoothness + Gradient constancy importance + Pyramid scale factor + Number of lagged non-linearity iterations (inner loop) + Number of warping iterations (number of pyramid levels) + Number of linear system solver iterations + + + + Release all the unmanaged memory associated with this optical flow solver. + + + + + Pointer to the unmanaged DenseOpticalFlow object + + + + + Pointer to the unmanaged Algorithm object + + + + + PyrLK optical flow + + + + + Create the PyrLK optical flow solver + + Windows size. Use 21x21 for default + The maximum number of pyramid levels. + The number of iterations. + Weather or not use the initial flow in the input matrix. + + + + Release all the unmanaged memory associated with this optical flow solver. + + + + + Pointer to the unmanaged DenseOpticalFlow object + + + + + Pointer to the unmanaged Algorithm object + + + + + Farneback optical flow + + + + + Create a CudaFarnebackOpticalFlow object + + Specifies the image scale (!1) to build the pyramids for each image. pyrScale=0.5 means the classical pyramid, where each next layer is twice smaller than the previous + The number of pyramid layers, including the initial image. levels=1 means that no extra layers are created and only the original images are used + The averaging window size; The larger values increase the algorithm robustness to image noise and give more chances for fast motion detection, but yield more blurred motion field + The number of iterations the algorithm does at each pyramid level + Size of the pixel neighborhood used to find polynomial expansion in each pixel. The larger values mean that the image will be approximated with smoother surfaces, yielding more robust algorithm and more blurred motion field. Typically, poly n=5 or 7 + Standard deviation of the Gaussian that is used to smooth derivatives that are used as a basis for the polynomial expansion. For poly n=5 you can set poly sigma=1.1, for poly n=7 a good value would be poly sigma=1.5 + The operation flags + Fast Pyramids + + + + Release all the unmanaged memory associated with this optical flow solver. + + + + + Pointer to the unmanaged DenseOpticalFlow object + + + + + Pointer to the unamanged Algorithm object + + + + + DualTvl1 optical flow + + + + + Initializes a new instance of the CudaOpticalFlowDualTvl1 class. + + Time step of the numerical scheme. + Weight parameter for the data term, attachment parameter. This is the most relevant parameter, which determines the smoothness of the output. The smaller this parameter is, the smoother the solutions we obtain. It depends on the range of motions of the images, so its value should be adapted to each image sequence. + Parameter used for motion estimation. It adds a variable allowing for illumination variations Set this parameter to 1. if you have varying illumination. + Number of scales used to create the pyramid of images. + Number of warpings per scale. Represents the number of times that I1(x+u0) and grad( I1(x+u0) ) are computed per scale. This is a parameter that assures the stability of the method. It also affects the running time, so it is a compromise between speed and accuracy. + Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time. A small value will yield more accurate solutions at the expense of a slower convergence. + Stopping criterion iterations number used in the numerical scheme. + Scale step + Weight parameter for (u - v)^2, tightness parameter. It serves as a link between the attachment and the regularization terms. In theory, it should have a small value in order to maintain both parts in correspondence. The method is stable for a large range of values of this parameter. + If true, use initial flow. + + + + Release all the unmanaged memory associated with this optical flow solver. + + + + + Pointer to the DenseOpticalFlow object + + + + + Pointer to the algorithm object + + + + + Sparse PyrLK optical flow + + + + + Create the PyrLK optical flow solver + + Windows size. Use 21x21 for default + The maximum number of pyramid levels. + The number of iterations. + Weather or not use the initial flow in the input matrix. + + + + Release all the unmanaged memory associated with this optical flow solver. + + + + + Pointer to the unmanaged SparseOpticalFlow object + + + + + Pointer to the unmanaged Algorithm object + + + + + Cuda Dense Optical flow + + + + + Pointer to cv::cuda::denseOpticalFlow + + + + + Interface to provide access to the cuda::SparseOpticalFlow class. + + + + + Pointer the the native cuda::sparseOpticalFlow object. + + + + + Descriptor matcher + + + + + Pointer to the native cv::Algorithm + + + + + Find the k-nearest match + + An n x m matrix of descriptors to be query for nearest neighbors. n is the number of descriptor and m is the size of the descriptor + Number of nearest neighbors to search for + Can be null if not needed. An n x 1 matrix. If 0, the query descriptor in the corresponding row will be ignored. + Matches. Each matches[i] is k or less matches for the same query descriptor. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + + + + Find the k-nearest match + + An n x m matrix of descriptors to be query for nearest neighbors. n is the number of descriptor and m is the size of the descriptor + Number of nearest neighbors to search for + Can be null if not needed. An n x 1 matrix. If 0, the query descriptor in the corresponding row will be ignored. + Matches. Each matches[i] is k or less matches for the same query descriptor. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + + + + Finds the k best matches for each descriptor from a query set (asynchronous version). + + Query set of descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + Matches array stored in GPU memory. Internal representation is not defined. Use DescriptorMatcher::knnMatchConvert method to retrieve results in standard representation. + Count of best matches found per each query descriptor or less if a query descriptor has less than k possible matches in total. + Mask specifying permissible matches between an input query and train matrices of descriptors. + CUDA stream. + + + + Finds the k best matches for each descriptor from a query set (asynchronous version). + + Query set of descriptors. + Matches array stored in GPU memory. Internal representation is not defined. Use DescriptorMatcher::knnMatchConvert method to retrieve results in standard representation. + Count of best matches found per each query descriptor or less if a query descriptor has less than k possible matches in total. + Mask specifying permissible matches between an input query and train matrices of descriptors. + CUDA stream. + + + + Converts matches array from internal representation to standard matches vector. + + Matches + Vector of DMatch objects. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + + + + Finds the best match for each descriptor from a query set (blocking version). + + Query set of descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + Matches. If a query descriptor is masked out in mask , no match is added for this descriptor. So, matches size may be smaller than the query descriptors count. + Mask specifying permissible matches between an input query and train matrices of descriptors. + + + + Finds the best match for each descriptor from a query set (blocking version). + + Query set of descriptors. + Matches. If a query descriptor is masked out in mask , no match is added for this descriptor. So, matches size may be smaller than the query descriptors count. + Mask specifying permissible matches between an input query and train matrices of descriptors. + + + + Finds the best match for each descriptor from a query set (asynchronous version). + + Query set of descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + Matches array stored in GPU memory. Internal representation is not defined. Use DescriptorMatcher::matchConvert method to retrieve results in standard representation. + Mask specifying permissible matches between an input query and train matrices of descriptors. + CUDA stream. + + + + Finds the best match for each descriptor from a query set (asynchronous version). + + Query set of descriptors. + Matches array stored in GPU memory. Internal representation is not defined. Use DescriptorMatcher::matchConvert method to retrieve results in standard representation. + Mask specifying permissible matches between an input query and train matrices of descriptors. + CUDA stream. + + + + Converts matches array from internal representation to standard matches vector. + + Matches, returned from MatchAsync. + Vector of DMatch objects. + + + + For each query descriptor, finds the training descriptors not farther than the specified distance (blocking version). + + Query set of descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + Found matches. + Threshold for the distance between matched descriptors. Distance means here metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured in Pixels)! + Mask specifying permissible matches between an input query and train matrices of descriptors. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + + + + For each query descriptor, finds the training descriptors not farther than the specified distance (blocking version). + + Query set of descriptors. + Found matches. + Threshold for the distance between matched descriptors. Distance means here metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured in Pixels)! + Mask specifying permissible matches between an input query and train matrices of descriptors. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + + + + For each query descriptor, finds the training descriptors not farther than the specified distance (asynchronous version). + + Query set of descriptors. + Train set of descriptors. This set is not added to the train descriptors collection stored in the class object. + Matches array stored in GPU memory. Internal representation is not defined. + Threshold for the distance between matched descriptors. Distance means here metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured in Pixels)! + Mask specifying permissible matches between an input query and train matrices of descriptors. + CUDA stream. + + + + For each query descriptor, finds the training descriptors not farther than the specified distance (asynchronous version). + + Query set of descriptors. + Matches array stored in GPU memory. Internal representation is not defined. + Threshold for the distance between matched descriptors. Distance means here metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured in Pixels)! + Mask specifying permissible matches between an input query and train matrices of descriptors. + CUDA stream. + + + + Converts matches array from internal representation to standard matches vector. + + Matches, returned from DescriptorMatcher.RadiusMatchAsync. + Vector of DMatch objects. + Parameter used when the mask (or masks) is not empty. If compactResult is false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, the matches vector does not contain matches for fully masked-out query descriptors. + + + + Add the model descriptors + + The model descriptors + + + + Return True if mask is supported + + + + + Clear the matcher + + + + + Return True if the matcher is empty + + + + + Trains a descriptor matcher. + + + + + Release all the unmanaged memory associated with this matcher + + + + + A Brute force matcher using Cuda + + + + + Create a CudaBruteForceMatcher using the specific distance type + + The distance type + + + + A FAST detector using Cuda + + + + + Create a fast detector with the specific parameters + + Threshold on difference between intensity of center pixel and pixels on circle around + this pixel. Use 10 for default. + Specifiy if non-maximum supression should be used. + The maximum number of keypoints to be extracted. + The detector type + + + + Release the unmanaged resource associate to the Detector + + + + + An ORB detector using Cuda + + + + + Create a ORBDetector using the specific values + + The number of desired features. + Coefficient by which we divide the dimensions from one scale pyramid level to the next. + The number of levels in the scale pyramid. + The level at which the image is given. If 1, that means we will also look at the image. times bigger + How far from the boundary the points should be. + How many random points are used to produce each cell of the descriptor (2, 3, 4 ...). + Type of the score to use. + Patch size. + Blur for descriptor + Fast threshold + + + + Release the unmanaged resource associate to the Detector + + + + + The feature 2D base class + + + + + Get the pointer to the Feature2DAsync object + + The pointer to the Feature2DAsync object + + + + Class that contains extension methods for Feature2DAsync + + + + + Detect keypoints in an image and compute the descriptors on the image from the keypoint locations. + + The Feature2DAsync object + The image + The optional mask, can be null if not needed + The detected keypoints will be stored in this vector + The descriptors from the keypoints + If true, the method will skip the detection phase and will compute descriptors for the provided keypoints + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Detect the features in the image + + The Feature2DAsync object + The result vector of keypoints + The image from which the features will be detected from + The optional mask. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Compute the descriptors on the image from the given keypoint locations. + + The Feature2DAsync object + The image to compute descriptors from + The keypoints where the descriptor computation is perfromed + The descriptors from the given keypoints + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Converts keypoints array from internal representation to standard vector. + + The Feature2DAsync object + GpuMat representation of the keypoints. + Vector of keypoints + + + + Disparity map refinement using joint bilateral filtering given a single color image. + Qingxiong Yang, Liang Wang†, Narendra Ahuja + http://vision.ai.uiuc.edu/~qyang6/ + + + + + Create a GpuDisparityBilateralFilter + + Number of disparities. Use 64 as default + Filter radius, use 3 as default + Number of iterations, use 1 as default + + + + Apply the filter to the disparity image + + The input disparity map + The image + The output disparity map, should have the same size as the input disparity map + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release the unmanaged resources associated with the filter. + + + + + Use Block Matching algorithm to find stereo correspondence + + + + + Create a stereoBM + + The number of disparities. Must be multiple of 8. Use 64 for default + The SAD window size. Use 19 for default + + + + Computes disparity map for the input rectified stereo pair. + + The left single-channel, 8-bit image + The right image of the same size and the same type + The disparity map + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release the stereo state and all the memory associate with it + + + + + A Constant-Space Belief Propagation Algorithm for Stereo Matching. + Qingxiong Yang, Liang Wang, Narendra Ahuja. + http://vision.ai.uiuc.edu/~qyang6/ + + + + + A Constant-Space Belief Propagation Algorithm for Stereo Matching + + The number of disparities. Use 128 as default + The number of BP iterations on each level. Use 8 as default. + The number of levels. Use 4 as default + The number of active disparity on the first level. Use 4 as default. + + + + Computes disparity map for the input rectified stereo pair. + + The left single-channel, 8-bit image + The right image of the same size and the same type + The disparity map + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release the unmanaged memory + + + + + Cascade Classifier for object detection using Cuda + + + + + Create a Cuda cascade classifier using the specific file + + The file to create the classifier from + + + + Create a Cuda cascade classifier using the specific file storage + + The file storage to create the classifier from + + + + Detects objects of different sizes in the input image. + + Matrix of type CV_8U containing an image where objects should be detected. + Buffer to store detected objects (rectangles). + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Converts objects array from internal representation to standard vector. + + Objects array in internal representation. + Resulting array. + + + + Release all unmanaged resources associated with this object + + + + + Parameter specifying how much the image size is reduced at each image scale + + + + + Parameter specifying how many neighbors each candidate rectangle should have to retain it + + + + + The maximum number of objects + + + + + If true, only return the largest object + + + + + The maximum object size + + + + + The minimum object size + + + + + The classifier size + + + + + A HOG descriptor + + + + + The descriptor format + + + + + Row by row + + + + + Col by col + + + + + Create a new HOGDescriptor using the specific parameters + + Block size in cells. Use (16, 16) for default. + Cell size. Use (8, 8) for default. + Block stride. Must be a multiple of cell size. Use (8,8) for default. + Number of bins. + Detection window size. Must be aligned to block size and block stride. Must match the size of the training image. Use (64, 128) for default. + + + + Returns coefficients of the classifier trained for people detection (for default window size). + + The default people detector + + + + Set the SVM detector + + The SVM detector + + + + Performs object detection with increasing detection window. + + The CudaImage to search in + The regions where positives are found + + + + Performs object detection with a multi-scale window. + + Source image. + Detected objects boundaries. + Optional output array for confidences. + + + + Release the unmanaged memory associated with this HOGDescriptor + + + + + Flag to specify whether the gamma correction preprocessing is required or not + + + + + Gaussian smoothing window parameter + + + + + Maximum number of detection window increases + + + + + Coefficient to regulate the similarity threshold. When detected, some objects can be covered by many rectangles. 0 means not to perform grouping. See groupRectangles. + + + + + Threshold for the distance between features and SVM classifying plane. Usually it is 0 and should be specfied in the detector coefficients (as the last free coefficient). But if the free coefficient is omitted (which is allowed), you can specify it manually here. + + + + + Coefficient of the detection window increase. + + + + + L2-Hys normalization method shrinkage. + + + + + The descriptor format + + + + + Returns the number of coefficients required for the classification. + + + + + Window stride. It must be a multiple of block stride. + + + + + Returns the block histogram size. + + + + + Background/Foreground Segmentation Algorithm. + + + + + Create a Background/Foreground Segmentation model + + Quantized levels per 'color' component. Power of two, typically 32, 64 or 128. + Number of color vectors used to model normal background color variation at a given pixel. + Used to allow the first N1c vectors to adapt over time to changing background. + Quantized levels per 'color co-occurrence' component. Power of two, typically 16, 32 or 64. + Number of color co-occurrence vectors used to model normal background color variation at a given pixel. + Used to allow the first N1cc vectors to adapt over time to changing background. + If TRUE we ignore holes within foreground blobs. Defaults to TRUE. + These erase one-pixel junk blobs and merge almost-touching blobs. Default value is 1. + Background reference image update parameter + Stat model update parameter. 0.002f ~ 1K frame(~45sec), 0.005 ~ 18sec (if 25fps and absolutely static BG) + start value for alpha parameter (to fast initiate statistic model) + Affects color and color co-occurrence quantization, typically set to 2. + T + Discard foreground blobs whose bounding box is smaller than this threshold. + + + + Updates the background model + + Next video frame. + The learning rate, use -1.0f for default value. + Output the current forground mask + + + + Release all the unmanaged resource associated with this object + + + + + Background/Foreground Segmentation Algorithm. + + + + + Create a Background/Foreground Segmentation model + + The number of frames used for initialization + The decision threshold + + + + Updates the background model + + Next video frame. + The learning rate, use -1.0f for default value. + The output foreground mask as an 8-bit binary image. + Use a Stream to call the function asynchronously (non-blocking) or null to call the function synchronously (blocking). + + + + Release all the unmanaged resource associated with this object + + + + + Interface to the TesseractResultRender + + + + + Pointer to the unmanaged TessResultRendered + + + + + This class set the locale to specific values and revert it back to the old values when the object is disposed. + + + + + The locale category + + + + + All + + + + + Collate + + + + + Ctype + + + + + Monetary + + + + + Numeric + + + + + Time + + + + + Create a locale guard to set the locale to specific value. Will revert locale back to previous value when the object is disposed. + + The locale category + The locale + + + + Revert back to the old locale + + + + + Library to invoke Tesseract OCR functions + + + + + The setlocale function installs the specified system locale or its portion as the new C locale. The modifications remain in effect and influences the execution of all locale-sensitive C library functions until the next call to setlocale. If locale is a null pointer, setlocale queries the current C locale without modifying it. + + Locale category identifier + System-specific locale identifier. Can be "" for the user-preferred locale or "C" for the minimal locale + String identifying the C locale after applying the changes, if any, or null pointer on failure. A copy of the returned string along with the category used in this call to std::setlocale may be used later in the program to restore the locale back to the state at the end of this call. + + + + When Tesseract/LSTM is initialized we can choose to instantiate/load/run + only the Tesseract part, only the Cube part or both along with the combiner. + The preference of which engine to use is stored in tessedit_ocr_engine_mode. + + + + + Run Tesseract only - fastest + + + + + Run just the LSTM line recognizer. + + + + + Run the LSTM recognizer, but allow fallback to Tesseract when things get difficult. + + + + + Specify this mode when calling init_*(), + to indicate that any of the above modes + should be automatically inferred from the + variables in the language-specific config, + command-line configs, or if not specified + in any of the above should be set to the + default OEM_TESSERACT_ONLY. + + + + + The tesseract page iterator + + + + + Returns orientation for the block the iterator points to. + + + + + Returns the baseline of the current object at the given level. The baseline is the line that passes through (x1, y1) and (x2, y2). WARNING: with vertical text, baselines may be vertical! Returns null if there is no baseline at the current position. + + Page iterator level + The baseline of the current object at the given level + + + + Release the page iterator + + + + + The orientation + + + + + Page orientation + + + + + Writing direction + + + + + Textline order + + + + + after rotating the block so the text orientation is upright, how many radians does one have to rotate the block anti-clockwise for it to be level? -Pi/4 <= deskew_angle <= Pi/4 + + + + + Page orientation + + + + + Up + + + + + Right + + + + + Down + + + + + Left + + + + + Writing direction + + + + + Left to right + + + + + Right to left + + + + + Top to bottom + + + + + Textline order + + + + + Left to right + + + + + Right to left + + + + + Top to bottom + + + + + Page iterator level + + + + + Block of text/image/separator line. + + + + + Paragraph within a block. + + + + + Line within a paragraph. + + + + + Word within a textline. + + + + + Symbol/character within a word. + + + + + Tesseract page segmentation mode + + + + + PageOrientation and script detection only. + + + + + Automatic page segmentation with orientation and script detection. (OSD) + + + + + Automatic page segmentation, but no OSD, or OCR. + + + + + Fully automatic page segmentation, but no OSD. + + + + + Assume a single column of text of variable sizes. + + + + + Assume a single uniform block of vertically aligned text. + + + + + Assume a single uniform block of text. (Default.) + + + + + Treat the image as a single text line. + + + + + Treat the image as a single word. + + + + + Treat the image as a single word in a circle. + + + + + Treat the image as a single character. + + + + + Find as much text as possible in no particular order. + + + + + Sparse text with orientation and script det. + + + + + Treat the image as a single text line, bypassing hacks that are Tesseract-specific. + + + + + Number of enum entries. + + + + + Leptonica Pix image structure + + + + + Create a Pix object by coping data from Mat + + The Mat to create the Pix object from + + + + Release all the unmanaged memory associated with this Pix + + + + + The tesseract OCR engine + + + + + Get the tesseract version as String + + + + + Get the tesseract version + + + + + Create a default tesseract engine. Needed to Call Init function to load language files in a later stage. + + If true, it will enforce "C" locale during the initialization. + + + + If compiled with OpenCL AND an available OpenCL + device is deemed faster than serial code, then + "device" is populated with the cl_device_id + and returns sizeof(cl_device_id) + otherwise *device=nullptr and returns 0. + + Pointer to the opencl device + 0 if no device found. sizeof(cl_device_id) if device is found. + + + + Create a Tesseract OCR engine. + + + The datapath must be the name of the directory of tessdata and + must end in / . Any name after the last / will be stripped. + + + The language is (usually) an ISO 639-3 string or NULL will default to eng. + It is entirely safe (and eventually will be efficient too) to call + Init multiple times on the same instance to change language, or just + to reset the classifier. + The language may be a string of the form [~]%lt;lang>[+[~]<lang>]* indicating + that multiple languages are to be loaded. Eg hin+eng will load Hindi and + English. Languages may specify internally that they want to be loaded + with one or more other languages, so the ~ sign is available to override + that. Eg if hin were set to load eng by default, then hin+~eng would force + loading only hin. The number of loaded languages is limited only by + memory, with the caveat that loading additional languages will impact + both speed and accuracy, as there is more work to do to decide on the + applicable language, and there is more chance of hallucinating incorrect + words. + + OCR engine mode + This can be used to specify a white list for OCR. e.g. specify "1234567890" to recognize digits only. Note that the white list currently seems to only work with OcrEngineMode.OEM_TESSERACT_ONLY + If true, we will change the locale to "C" before initializing the tesseract engine and reverting it back once the tesseract initialiation is completer. If false, it will be the user's responsibility to set the locale to "C", otherwise an exception will be thrown. See https://github.com/tesseract-ocr/tesseract/issues/1670 + + + + Check whether a word is valid according to Tesseract's language model + + The word to be checked. + 0 if the word is invalid, non-zero if valid + + + + Gets or sets the page seg mode. + + + The page seg mode. + + + + + Get the default tesseract ocr directory. This should return the folder of the dll in most situations. + + + + + Get the url to download the tessdata file for the specific language + + The 3 letter language identifier + the url to download the tessdata file for the specific language + + + + Initialize the OCR engine using the specific dataPath and language name. + + + The datapath must be the name of the parent directory of tessdata and + must end in / . Any name after the last / will be stripped. + + + The language is (usually) an ISO 639-3 string or NULL will default to eng. + It is entirely safe (and eventually will be efficient too) to call + Init multiple times on the same instance to change language, or just + to reset the classifier. + The language may be a string of the form [~]%lt;lang>[+[~]<lang>]* indicating + that multiple languages are to be loaded. Eg hin+eng will load Hindi and + English. Languages may specify internally that they want to be loaded + with one or more other languages, so the ~ sign is available to override + that. Eg if hin were set to load eng by default, then hin+~eng would force + loading only hin. The number of loaded languages is limited only by + memory, with the caveat that loading additional languages will impact + both speed and accuracy, as there is more work to do to decide on the + applicable language, and there is more chance of hallucinating incorrect + words. + + OCR engine mode + + + + Release the unmanaged resource associated with this class + + + + + Set the image for optical character recognition + + The image where detection took place + + + + Set the image for optical character recognition + + The image where detection took place + + + + Recognize the image from SetAndThresholdImage, generating Tesseract + internal structures. + + Returns 0 on success. + + + + Set the variable to the specific value. + + The name of the tesseract variable. e.g. use "tessedit_char_blacklist" to black list characters and "tessedit_char_whitelist" to white list characters. The full list of options can be found in the Tesseract OCR source code "tesseractclass.h" + The value to be set + + + + Get all the text in the image + + All the text in the image + + + + Make a TSV-formatted string from the internal data structures. + + pageNumber is 0-based but will appear in the output as 1-based. + A TSV-formatted string from the internal data structures. + + + + The recognized text is returned as coded in the same format as a box file used in training. + + pageNumber is 0-based but will appear in the output as 1-based. + The recognized text is returned as coded in the same format as a box file used in training. + + + + The recognized text is returned coded as UNLV format Latin-1 with specific reject and suspect codes + + pageNumber is 0-based but will appear in the output as 1-based. + The recognized text is returned coded as UNLV format Latin-1 with specific reject and suspect codes + + + + The recognized text + + pageNumber is 0-based but will appear in the output as 1-based. + The recognized text + + + + Make a HTML-formatted string with hOCR markup from the internal data structures. + + pageNumber is 0-based but will appear in the output as 1-based. + A HTML-formatted string with hOCR markup from the internal data structures. + + + + Detect all the characters in the image. + + All the characters in the image + + + + This represent a character that is detected by the OCR engine + + + + + The text + + + + + The cost. The lower it is, the more confident is the result + + + + + The region where the character is detected. + + + + + Turn a single image into symbolic text. + + The pix is the image processed. + Metadata used by side-effect processes, such as reading a box file or formatting as hOCR. + Metadata used by side-effect processes, such as reading a box file or formatting as hOCR. + retryConfig is useful for debugging. If not NULL, you can fall back to an alternate configuration if a page fails for some reason. + terminates processing if any single page takes too long. Set to 0 for unlimited time. + Responsible for creating the output. For example, use the TessTextRenderer if you want plaintext output, or the TessPDFRender to produce searchable PDF. + Returns true if successful, false on error. + + + + Runs page layout analysis in the mode set by SetPageSegMode. May optionally be called prior to Recognize to get access to just the page layout results. Returns an iterator to the results. Returns NULL on error or an empty page. The returned iterator must be deleted after use. WARNING! This class points to data held within the TessBaseAPI class, and therefore can only be used while the TessBaseAPI class still exists and has not been subjected to a call of Init, SetImage, Recognize, Clear, End DetectOS, or anything else that changes the internal PAGE_RES. + + If true merge similar words + Page iterator + + + + Get the OCR Engine Mode + + + + + This structure is primary used for PInvoke + + + + + The length + + + + + The cost + + + + + The region + + + + + Renders tesseract output into searchable PDF + + + + + Create a PDF renderer + + Output base + dataDir is the location of the TESSDATA. We need it because we load a custom PDF font from this location. + Text only + + + + Release the unmanaged memory associated with this Renderer + + + + + Pointer to the unmanaged TessResultRendered + + + + + Wrapped class of the C++ standard vector of TesseractResult. + + + + + Constructor used to deserialize runtime serialized object + + The serialization info + The streaming context + + + + A function used for runtime serialization of the object + + Serialization info + Streaming context + + + + Create an empty standard vector of TesseractResult + + + + + Create an standard vector of TesseractResult of the specific size + + The size of the vector + + + + Create an standard vector of TesseractResult with the initial values + + The initial values + + + + Push an array of value into the standard vector + + The value to be pushed to the vector + + + + Push multiple values from the other vector into this vector + + The other vector, from which the values will be pushed to the current vector + + + + Convert the standard vector to an array of TesseractResult + + An array of TesseractResult + + + + Get the size of the vector + + + + + Clear the vector + + + + + The pointer to the first element on the vector. In case of an empty vector, IntPtr.Zero will be returned. + + + + + Get the item in the specific index + + The index + The item in the specific index + + + + Release the standard vector + + + + + Get the pointer to cv::_InputArray + + The input array + + + + Get the pointer to cv::_OutputArray + + The output array + + + + Get the pointer to cv::_InputOutputArray + + The input output array + + + + The size of the item in this Vector, counted as size in bytes. + + + + + An abstract class that wrap around a disposable object + + + + Track whether Dispose has been called. + + + + The dispose function that implements IDisposable interface + + + + + Dispose(bool disposing) executes in two distinct scenarios. + If disposing equals true, the method has been called directly + or indirectly by a user's code. Managed and unmanaged resources + can be disposed. + If disposing equals false, the method has been called by the + runtime from inside the finalizer and you should not reference + other objects. Only unmanaged resources can be disposed. + + If disposing equals false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. + + + + Release the managed resources. This function will be called during the disposal of the current object. + override ride this function if you need to call the Dispose() function on any managed IDisposable object created by the current object + + + + + Release the unmanaged resources + + + + + Destructor + + + + + A generic EventArgs + + The type of arguments + + + + Create a generic EventArgs with the specific value + + The value + + + + The value of the EventArgs + + + + + A generic EventArgs + + The type of the first value + The type of the second value + + + + Create a generic EventArgs with two values + + The first value + The second value + + + + The first value + + + + + The second value + + + + + Implement this interface if the object can output code to generate it self. + + + + + Return the code to generate the object itself from the specific language + + The programming language to output code + The code to generate the object from the specific language + + + + An object that can be interpolated + + The type of the object + + + + The index that will be used for interpolation + + + + + Interpolate base on this point and the other point with the given index + + The other point + The interpolation index + The interpolated point + + + + A Pinned array of the specific type + + The type of the array + + + + Create a Pinnned array of the specific type + + The size of the array + + + + Get the address of the pinned array + + A pointer to the address of the the pinned array + + + + Get the array + + + + + Release the GCHandle + + + + + Disposed the unmanaged data + + + + + Provide information for the platform which is using. + + + + + Get the type of the current operating system + + + + + Get the type of the current runtime environment + + + + + utilities functions for Emgu + + + + + Convert an object to an xml document + + The type of the object to be converted + The object to be serialized + An xml document that represents the object + + + + Convert an object to an xml document + + The type of the object to be converted + The object to be serialized + Other types that it must known ahead to serialize the object + An xml document that represents the object + + + + Convert an xml document to an object + + The type of the object to be converted to + The xml document + The object representation as a result of the deserialization of the xml document + + + + Convert an xml document to an object + + The type of the object to be converted to + The xml document + Other types that it must known ahead to deserialize the object + The object representation as a result of the deserialization of the xml document + + + + Convert an xml string to an object + + The type of the object to be converted to + The xml document as a string + The object representation as a result of the deserialization of the xml string + + + + Similar to Marshal.SizeOf function + + The type + The size of T in bytes + + + + Merges two byte vector into one + + the first byte vector to be merged + the second byte vector to be merged + The bytes that is a concatenation of a and b + + + + Call a command from command line + + The name of the executable + The arguments to the executable + The standard output + + + + Use reflection to find the base type. If such type do not exist, null is returned + + The type to search from + The name of the base class to search + The base type + + + + Convert some generic vector to vector of Bytes + + type of the input vector + array of data + the byte vector + + + + Perform first degree interpolation give the sorted data and the interpolation + + The sorted data that will be interpolated from + The indexes of the interpolate result + + + + + Get subsamples with the specific rate + + The source which the subsamples will be derived from + The subsample rate + subsampled with the specific rate + The type of the object + + + + Joining multiple index ascending IInterpolatables together as a single index ascending IInterpolatable. + + The type of objects that will be joined + The enumerables, each should be stored in index ascending order + A single enumerable sorted in index ascending order + + + + Maps the specified executable module into the address space of the calling process. + + The name of the dll + The handle to the library + + + + Decrements the reference count of the loaded dynamic-link library (DLL). When the reference count reaches zero, the module is unmapped from the address space of the calling process and the handle is no longer valid + + The handle to the library + If the function succeeds, the return value is true. If the function fails, the return value is false. + + + + Adds a directory to the search path used to locate DLLs for the application + + The directory to be searched for DLLs + True if success + + + + Type of operating system + + + + + Windows + + + + + Linux + + + + + Mac OS + + + + + iOS devices. iPhone, iPad, iPod Touch + + + + + Android devices + + + + + The windows phone + + + + + The runtime environment + + + + + .Net runtime + + + + + Windows Store app runtime + + + + + Mono runtime + + + + + The type of Programming languages + + + + + C# + + + + + C++ + + + + + An Unmanaged Object is a disposable object with a Ptr property pointing to the unmanaged object + + + + + A pointer to the unmanaged object + + + + + Pointer to the unmanaged object + + + + + Implicit operator for IntPtr + + The UnmanagedObject + The unmanaged pointer for this object + +
+
diff --git a/Auto_Demo/bin/Debug/EntityFramework.SqlServer.dll b/Auto_Demo/bin/Debug/EntityFramework.SqlServer.dll new file mode 100644 index 0000000..e11b437 Binary files /dev/null and b/Auto_Demo/bin/Debug/EntityFramework.SqlServer.dll differ diff --git a/Auto_Demo/bin/Debug/EntityFramework.SqlServer.xml b/Auto_Demo/bin/Debug/EntityFramework.SqlServer.xml new file mode 100644 index 0000000..ea081f1 --- /dev/null +++ b/Auto_Demo/bin/Debug/EntityFramework.SqlServer.xml @@ -0,0 +1,2156 @@ + + + + EntityFramework.SqlServer + + + + + An that retries actions that throw exceptions caused by SQL Azure transient failures. + + + This execution strategy will retry the operation on and + if the contains any of the following error numbers: + 40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20 + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for + number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the ASCII code value of the left-most character of a character expression. + The ASCII code of the first character in the input string. + A valid string. + + + Returns the character that corresponds to the specified integer ASCII value. + The character that corresponds to the specified ASCII value. + An ASCII code. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + + A of value that is the starting position of toFind if it is found in toSearch . + + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions. + The SOUNDEX difference between the two strings. + The first string. + The second string. + + + Returns the Unicode character with the specified integer code, as defined by the Unicode standard. + The character that corresponds to the input character code. + A character code. + + + Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types. + The starting character position where the string pattern was found. + A string pattern to search for. + The string to search. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with brackets added. + The expression that quote characters will be added to. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with the specified quote characters added. + The expression that quote characters will be added to. + The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used. + + + Repeats a string value a specified number of times. + The target string, repeated the number of times specified by count . + A valid string. + The value that specifies how many time to repeat target . + + + Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names. + The SOUNDEX code of the input string. + A valid string. + + + Returns a string of repeated spaces. + A string that consists of the specified number of spaces. + The number of spaces. If negative, a null string is returned. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position. + A string consisting of the two strings. + The target string. + The character position in stringinput where the replacement string is to be inserted. + The number of characters to delete from stringInput . If length is longer than stringInput , deletion occurs up to the last character in stringReplacement . + The substring to be inserted into stringInput . + + + Returns the integer value, as defined by the Unicode standard, for the first character of the input expression. + The character code for the first character in the input string. + A valid string. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + The angle, in radians, defined by the input cosine value. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + An angle, measured in radians. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the constant value of pi. + The numeric value of pi. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + The seed value. If seed is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns a new datetime value based on adding an interval to the specified date. + The new date. + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new time span value based on adding an interval to the specified time span. + The new time span. + The part of the date to increment. + The value used to increment a date by a specified amount. + The time span to increment. + + + Returns a new date value based on adding an interval to the specified date. + The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC). + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new datetime value based on adding an interval to the specified date. + + A of value that is the new date. + + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The value specifying the number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two Dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database timestamp. + + + Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database UTC timestamp. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input values. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the current date and time. + The current date and time. + + + Returns the name of the current user. + The name of the current user. + + + Returns the workstation name. + The name of the workstation. + + + Returns a database user name corresponding to a specified identification number. + The user name. + A user ID. + + + Returns a database user name corresponding to a specified identification number. + The user name. + + + Indicates whether the input value is a valid numeric type. + 1 if the input expression is a valid numeric data type; otherwise, 0. + A string expression. + + + Indicates whether the input value is a valid date or time. + 1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0. + The tested value. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns a hierarchyid representing the nth ancestor of this. + A hierarchyid representing the nth ancestor of this. + The hierarchyid value. + n + + + Returns a child node of the parent. + The hierarchyid value. + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + Returns an integer that represents the depth of the node this in the tree. + An integer that represents the depth of the node this in the tree. + The hierarchyid value. + + + Returns the root of the hierarchy tree. + The root of the hierarchy tree. + + + Returns true if this is a descendant of parent. + True if this is a descendant of parent. + The hierarchyid value. + parent + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + Hierarchyid value. + The hierarchyid value. + oldRoot + newRoot + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + Hierarchyid value. + input + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + + True since this provider supports the parameter optimization. + + + + The DbProviderServices implementation for the SqlClient provider for SQL Server. + + + Note that instance of this type also resolve additional provider services for Microsoft SQL Server + when this type is registered as an EF provider either using an entry in the application's config file + or through code-based registration in . + The services resolved are: + Requests for are resolved to a Singleton instance of + to create connections to LocalDB by default. + Requests for for the invariant name "System.Data.SqlClient" + for any server name are resolved to a delegate that returns a + to provide a non-retrying policy for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to instances to provide default Migrations SQL + generation for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to a Singleton instance of to provide default spatial + services for SQL Server. + + + + + This is the well-known string using in configuration files and code-based configuration as + the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and + Entity Framework provider services. + + + + + The Singleton instance of the SqlProviderServices type. + + + + + Set to the full name of the Microsoft.SqlServer.Types assembly to override the default selection + + + + + Get or sets a value indicating whether parameter values are truncated to + the scale (number of decimal places) defined for their corresponding columns when they are sent + to the database. A value of true indicates that objects + created for columns will have their + properties set, which will cause the parameter values to be truncated. If set to false + then the properties will not be set, avoiding the truncation + behavior of and allowing SQL Server to round values if necessary. + The default value is true to prevent breaking existing applications that depend on this + behavior. + + + + + Gets or sets a value indicating whether to use the SCOPE_IDENTITY() function to retrieve values + generated by the database for numeric columns during an INSERT operation. The default value of + true is recommended and can provide better performance if all numeric values are generated + using IDENTITY columns. If set to false, an OUTPUT clause will be used instead. An OUTPUT + clause makes it possible to retrieve values generated by sequences or other means. + + + + + Gets or sets a value indicating whether the ROW_NUMBER() function is used in sort expression + passed to the ORDER BY clause when OFFSET is present in query. The default value of true + is recommended to obtain query results that are stable for paging operations. The value of + false can be used for compatibility with previous versions of EF and will cause the sort + expression to be passed unmodified to the ORDER BY clause, which can lead to unstable results + if the ordering is ambiguous. + + + This flag only applies to SQL Server 2012 or later. This flag does not affect queries that have + already been translated to SQL and cached, therefore applications that need to set the value to + false for compatibility should do so before executing any queries. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object, given the connection and command tree + + provider manifest that was determined from metadata + command tree for the statement + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + can cause deadlocks. + So here overriding to provide a method that does not clone DesignTimeVisible. + + the object to clone + a clone of the + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + + Returns the provider manifest by using the specified version information. + + The token information associated with the provider manifest. + The provider manifest by using the specified version information. + + + + Gets a spatial data reader for SQL Server. + + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Gets a spatial data reader for SQL Server. + + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Create the database and the database objects. + If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename. + Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name. + However if we try to replicate the name under which it would be attached, the following scenario would fail: + The file does not exist, but registered with database. + The user calls: If (DatabaseExists) DeleteDatabase + CreateDatabase + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Delete the database for the given connection. + There are three cases: + 1. If Initial Catalog is specified (X) drop database X + 2. Else if AttachDBFilename is specified (F) drop all the databases corresponding to F + if none throw + 3. If niether the catalog not the file name is specified - throw + Note that directly deleting the files does not work for a remote server. However, even for not attached + databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase + + Connection + Timeout for internal commands. + Item Collection. + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against a Microsoft SQL Server database. + + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Converts a set of migration operations into Microsoft SQL Server specific SQL. + + The operations to be converted. + Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Generates the specified update database operation which represents applying a series of migrations. + The generated script is idempotent, meaning it contains conditional logic to check if individual migrations + have already been applied and only apply the pending ones. + + The update database operation. + + + + Generates SQL for a . + Allows derived providers to handle additional operation types. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Creates an empty connection for the current provider. + Allows derived providers to use connection other than . + + An empty connection for the current provider. + + + + Generates the specified create procedure operation. + + The create procedure operation. + + + + Generates the specified alter procedure operation. + + The alter procedure operation. + + + + Generates the specified drop procedure operation. + + The drop procedure operation. + + + + Generates SQL for a . This method differs from + in that it will + create the target database schema if it does not already exist. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Writes CREATE TABLE SQL to the target writer. + + The operation to produce SQL for. + The target writer. + + + + Override this method to generate SQL when the definition of a table or its attributes are changed. + The default implementation of this method does nothing. + + The operation describing changes to the table. + + + + Generates SQL to mark a table as a system table. + Generated SQL should be added using the Statement method. + + The table to mark as a system table. + The to write the generated SQL to. + + + + Generates SQL to create a database schema. + Generated SQL should be added using the Statement method. + + The name of the schema to create. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Call this method to generate SQL that will attempt to drop the default constraint created + when a column is created. This method is usually called by code that overrides the creation or + altering of columns. + + The table to which the constraint applies. + The column to which the constraint applies. + The writer to which generated SQL should be written. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement or StatementBatch methods. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates the specified rename procedure operation. + + The rename procedure operation. + + + + Generates the specified move procedure operation. + + The move procedure operation. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for the given column model. This method is called by other methods that + process columns and can be overridden to change the SQL generated. + + The column for which SQL is being generated. + The writer to which generated SQL should be written. + + + + Returns the column default value to use for store-generated GUID columns when + no default value is explicitly specified in the migration. + Returns newsequentialid() for on-premises SQL Server 2005 and later. + Returns newid() for SQL Azure. + + Either newsequentialid() or newid() as described above. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to specify a constant byte[] default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant bool default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTime default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTimeOffset default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant Guid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant string default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant TimeSpan default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant hierarchyid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geogrpahy default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geometry default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify the data type of a column. + This method just generates the actual type, not the SQL to create the column. + + The definition of the column. + SQL representing the data type. + + + + Generates a quoted name. The supplied name may or may not contain the schema. + + The name to be quoted. + The quoted name. + + + + Quotes an identifier for SQL Server. + + The identifier to be quoted. + The quoted identifier. + + + + Adds a new Statement to be executed against the database. + + The statement to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + The batch terminator for the database provider. + + + + Gets a new that can be used to build SQL. + This is just a helper method to create a writer. Writing to the writer will + not cause SQL to be registered for execution. You must pass the generated + SQL to the Statement method. + + An empty text writer to use for SQL generation. + + + + Adds a new Statement to be executed against the database. + + The writer containing the SQL to be executed. + The batch terminator for the database provider. + + + + Breaks sql string into one or more statements, handling T-SQL utility statements as necessary. + + The SQL to split into one ore more statements to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geography instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance. + The geography value. + + + Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geography instance is less than or equal to a specified value + The geography value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees. + the maximum angle between the point returned by EnvelopeCenter(). + The geography value. + + + Returns a point that can be used as the center of a bounding circle for the geography instance. + A SqlGeography value that specifies the location of the center of a bounding circle. + The geography value. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geography value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Tests if the SqlGeography instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geography value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Returns the total number of rings in a Polygon instance. + The total number of rings. + The geography value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geography value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings(). + A SqlGeography object that represents the ring specified by n. + The geography value. + An int expression between 1 and the number of rings in a polygon instance. + + + Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geometry instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance. + The geometry value. + + + Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geometry instance is less than or equal to a specified value + The geometry value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Tests if the SqlGeometry instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geometry value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geometry value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. + The converted geometry instance. + The geometry value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geometry value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + + An implementation of to provide support for geospatial types when using + Entity Framework with Microsoft SQL Server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + diff --git a/Auto_Demo/bin/Debug/EntityFramework.dll b/Auto_Demo/bin/Debug/EntityFramework.dll new file mode 100644 index 0000000..8400163 Binary files /dev/null and b/Auto_Demo/bin/Debug/EntityFramework.dll differ diff --git a/Auto_Demo/bin/Debug/EntityFramework.xml b/Auto_Demo/bin/Debug/EntityFramework.xml new file mode 100644 index 0000000..46df344 --- /dev/null +++ b/Auto_Demo/bin/Debug/EntityFramework.xml @@ -0,0 +1,54121 @@ + + + + EntityFramework + + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + Implements the visitor pattern for the set clause. + The set clause. + + + Implements the visitor pattern for the modification clause. + The modification clause. + + + Implements the visitor pattern for the collection of modification clauses. + The modification clauses. + + + Implements the visitor pattern for the command tree. + The command tree. + + + Implements the visitor pattern for the delete command tree. + The delete command tree. + + + Implements the visitor pattern for the function command tree. + The function command tree. + + + Implements the visitor pattern for the insert command tree. + The insert command tree. + + + Implements the visitor pattern for the query command tree. + The query command tree. + + + Implements the visitor pattern for the update command tree. + The update command tree. + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + + Convenience method to visit the specified . + + The DbUnaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbBinaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbExpressionBinding to visit. + + + is null + + + + + Convenience method for post-processing after a DbExpressionBinding has been visited. + + The previously visited DbExpressionBinding. + + + + Convenience method to visit the specified . + + The DbGroupExpressionBinding to visit. + + + is null + + + + + Convenience method indicating that the grouping keys of a have been visited and the aggregates are now about to be visited. + + The DbGroupExpressionBinding of the DbGroupByExpression + + + + Convenience method for post-processing after a DbGroupExpressionBinding has been visited. + + The previously visited DbGroupExpressionBinding. + + + + Convenience method indicating that the body of a Lambda is now about to be visited. + + The DbLambda that is about to be visited + + + is null + + + + + Convenience method for post-processing after a DbLambda has been visited. + + The previously visited DbLambda. + + + + Convenience method to visit the specified , if non-null. + + The expression to visit. + + + is null + + + + + Convenience method to visit each in the given list, if the list is non-null. + + The list of expressions to visit. + + + is null + + + + + Convenience method to visit each in the list, if the list is non-null. + + The list of aggregates to visit. + + + is null + + + + + Convenience method to visit the specified . + + The aggregate to visit. + + + is null + + + + + Called when an of an otherwise unrecognized type is encountered. + + The expression + + + is null + + + Always thrown if this method is called, since it indicates that + + is of an unsupported type + + + + + Visitor pattern method for . + + The DbConstantExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbVariableReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbParameterReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFunctionExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLambdaExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbPropertyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbComparisonExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLikeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLimitExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbArithmeticExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbAndExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOrExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbInExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNotExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbDistinctExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbElementExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsEmptyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbUnionAllExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIntersectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExceptExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOfTypeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbTreatExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCastExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsOfExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCaseExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNewInstanceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRelationshipNavigationExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DeRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefKeyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbEntityRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbScanExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFilterExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbProjectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCrossJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbApplyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSkipExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSortExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbQuantifierExpression that is being visited. + + + is null + + + + Implements the basic functionality required by aggregates in a GroupBy clause. + + + + Gets the result type of this . + + + The result type of this . + + + + + Gets the list of expressions that define the arguments to this + + . + + + The list of expressions that define the arguments to this + + . + + + + Represents the logical AND of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + Represents an apply operation, which is the invocation of the specified function for each element in the specified input set. This class cannot be inherited. + + + + Gets the that specifies the function that is invoked for each element in the input set. + + + The that specifies the function that is invoked for each element in the input set. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + + Represents an arithmetic operation applied to numeric arguments. + Addition, subtraction, multiplication, division, modulo, and negation are arithmetic operations. + This class cannot be inherited. + + + + + Gets the list of elements that define the current arguments. + + + A fixed-size list of elements. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept two expression operands. + + + + Gets the that defines the left argument. + + + The that defines the left argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the left argument. + + + + + Gets the that defines the right argument. + + + The that defines the right argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the right argument. + + + + + Represents the When, Then, and Else clauses of the + + . This class cannot be inherited. + + + + + Gets the When clauses of this . + + + The When clauses of this . + + + + + Gets the Then clauses of this . + + + The Then clauses of this . + + + + + Gets the Else clause of this . + + + The Else clause of this . + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the result type of the + + . + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the type conversion of a single argument to the specified type. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + An immutable class that implements the basic functionality for the Query, Insert, Update, Delete, and function invocation command tree types. + + + + Gets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is true. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + Gets the name and corresponding type of each parameter that can be referenced within this + + . + + + The name and corresponding type of each parameter that can be referenced within this + + . + + + + + Gets the kind of this command tree. + + + + + Gets the metadata workspace used by this command tree. + + + + + Gets the data space in which metadata used by this command tree must reside. + + + + + Returns a that represents this command. + + + A that represents this command. + + + + + Describes the different "kinds" (classes) of command trees. + + + + + A query to retrieve data + + + + + Update existing data + + + + + Insert new data + + + + + Deleted existing data + + + + + Call a function + + + + Represents a comparison operation applied to two arguments. Equality, greater than, greater than or equal, less than, less than or equal, and inequality are comparison operations. This class cannot be inherited. + + DbComparisonExpression requires that its arguments have a common result type + that is equality comparable (for .Equals and .NotEquals), + order comparable (for .GreaterThan and .LessThan), + or both (for .GreaterThanOrEquals and .LessThanOrEquals). + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents different kinds of constants (literals). This class cannot be inherited. + + + Gets the constant value. + The constant value. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an unconditional join operation between the given collection arguments. This class cannot be inherited. + + + + Gets a list that provides the input sets to the join. + + + A list that provides the input sets to the join. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents a single row delete operation expressed as a command tree. This class cannot be inherited. + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be deleted. + + + + Gets an that specifies the predicate used to determine which members of the target collection should be deleted. + + + The predicate can include only the following elements: + + Equality expression + Constant expression + IsNull expression + Property expression + Reference expression to the target + And expression + Or expression + Not expression + + + + An that specifies the predicate used to determine which members of the target collection should be deleted. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents the an expression that retrieves an entity based on the specified reference. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Removes duplicate elements from the specified set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the conversion of the specified set argument to a singleton. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an expression that extracts a reference from the underlying entity instance. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the set subtraction operation between the left and right operands. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the base type for all expressions. + + + Gets the type metadata for the result type of the expression. + The type metadata for the result type of the expression. + + + Gets the kind of the expression, which indicates the operation of this expression. + The kind of the expression, which indicates the operation of this expression. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + The type of the result produced by . + + + An instance of . + + The type of the result produced by visitor. + + + + Determines whether the specified is equal to the current DbExpression instance. + + + True if the specified is equal to the current DbExpression instance; otherwise, false. + + + The object to compare to the current . + + + + Serves as a hash function for the type. + A hash code for the current expression. + + + + Creates a that represents the specified binary value, which may be null + + + A that represents the specified binary value. + + The binary value on which the returned expression should be based. + + + + Enables implicit casting from a byte array. + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Boolean value. + + + A that represents the specified Boolean value. + + The Boolean value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) byte value. + + + A that represents the specified byte value. + + The byte value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTime value. + + The DateTime value on which the returned expression should be based. + + + + Enables implicit casting from . + + The expression to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTimeOffset value. + + The DateTimeOffset value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) decimal value. + + + A that represents the specified decimal value. + + The decimal value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) double value. + + + A that represents the specified double value. + + The double value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeography value. + + The DbGeography value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeometry value. + + The DbGeometry value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified Guid value. + + The Guid value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int16 value. + + + A that represents the specified Int16 value. + + The Int16 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int32 value. + + + A that represents the specified Int32 value. + + The Int32 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int64 value. + + + A that represents the specified Int64 value. + + The Int64 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Single value. + + + A that represents the specified Single value. + + The Single value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified string value. + + + A that represents the specified string value. + + The string value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Describes a binding for an expression. Conceptually similar to a foreach loop + in C#. The DbExpression property defines the collection being iterated over, + while the Var property provides a means to reference the current element + of the collection during the iteration. DbExpressionBinding is used to describe the set arguments + to relational expressions such as , + and . + + + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + The expression is not associated with the command tree of the binding, or its result type is not equal or promotable to the result type of the current value of the property. + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + The variable reference. + + + + Contains values that each expression class uses to denote the operation it represents. The + + property of an + + can be retrieved to determine which operation that expression represents. + + + + + True for all. + + + + + Logical And. + + + + + True for any. + + + + + Conditional case statement. + + + + + Polymorphic type cast. + + + + + A constant value. + + + + + Cross apply + + + + + Cross join + + + + + Dereference. + + + + + Duplicate removal. + + + + + Division. + + + + + Set to singleton conversion. + + + + + Entity ref value retrieval. + + + + + Equality + + + + + Set subtraction + + + + + Restriction. + + + + + Full outer join + + + + + Invocation of a stand-alone function + + + + + Greater than. + + + + + Greater than or equal. + + + + + Grouping. + + + + + Inner join + + + + + Set intersection. + + + + + Empty set determination. + + + + + Null determination. + + + + + Type comparison (specified Type or Subtype). + + + + + Type comparison (specified Type only). + + + + + Left outer join + + + + + Less than. + + + + + Less than or equal. + + + + + String comparison. + + + + + Result count restriction (TOP n). + + + + + Subtraction. + + + + + Modulo. + + + + + Multiplication. + + + + + Instance, row, and set construction. + + + + + Logical Not. + + + + + Inequality. + + + + + Null. + + + + + Set members by type (or subtype). + + + + + Set members by (exact) type. + + + + + Logical Or. + + + + + Outer apply. + + + + + A reference to a parameter. + + + + + Addition. + + + + + Projection. + + + + + Retrieval of a static or instance property. + + + + + Reference. + + + + + Ref key value retrieval. + + + + + Navigation of a (composition or association) relationship. + + + + + Entity or relationship set scan. + + + + + Skip elements of an ordered collection. + + + + + Sorting. + + + + + Type conversion. + + + + + Negation. + + + + + Set union (with duplicates). + + + + + A reference to a variable. + + + + + Application of a lambda function + + + + + In. + + + + Defines the basic functionality that should be implemented by visitors that do not return a result value. + + + When overridden in a derived class, handles any expression of an unrecognized type. + The expression to be handled. + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + Visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + + + Defines the basic functionality that should be implemented by visitors that return a result value of a specific type. + The type of the result produced by the visitor. + + + When overridden in a derived class, handles any expression of an unrecognized type. + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern method for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + Typed visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + An instance of TResultType. + + + Represents a predicate applied to filter an input set. This produces the set of elements that satisfy the predicate. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that specifies the predicate used to filter the input set. + + + The that specifies the predicate used to filter the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Supports standard aggregate functions, such as MIN, MAX, AVG, SUM, and so on. This class cannot be inherited. + + + Gets a value indicating whether this aggregate is a distinct aggregate. + true if the aggregate is a distinct aggregate; otherwise, false. + + + Gets the method metadata that specifies the aggregate function to invoke. + The method metadata that specifies the aggregate function to invoke. + + + Represents the invocation of a database function. + + + + Constructs a new DbFunctionCommandTree that uses the specified metadata workspace, data space and function metadata + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + The that represents the function that is being invoked. + The expected result type for the function’s first result set. + The function's parameters. + + , or is null + + + does not represent a valid data space or + is a composable function + + + + + Gets the that represents the function that is being invoked. + + + The that represents the function that is being invoked. + + + + Gets the expected result type for the function’s first result set. + The expected result type for the function’s first result set. + + + Gets or sets the command tree kind. + The command tree kind. + + + Represents an invocation of a function. This class cannot be inherited. + + + Gets the metadata for the function to invoke. + The metadata for the function to invoke. + + + + Gets an list that provides the arguments to the function. + + + An list that provides the arguments to the function. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a collection of elements that compose a group. + + + Represents a group by operation. A group by operation is a grouping of the elements in the input set based on the specified key expressions followed by the application of the specified aggregates. This class cannot be inherited. + + + + Gets the that specifies the input set and provides access to the set element and group element variables. + + + The that specifies the input set and provides access to the set element and group element variables. + + + + + Gets a list that provides grouping keys. + + + A list that provides grouping keys. + + + + + Gets a list that provides the aggregates to apply. + + + A list that provides the aggregates to apply. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Defines the binding for the input set to a . + In addition to the properties of , DbGroupExpressionBinding + also provides access to the group element via the variable reference + and to the group aggregate via the property. + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the result type of the current value of the property. + + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + A reference to the element variable. + + + Gets the name assigned to the group element variable. + The name assigned to the group element variable. + + + Gets the type metadata of the group element variable. + The type metadata of the group element variable. + + + + Gets the that references the group element variable. + + A reference to the group element variable. + + + + Gets the that represents the collection of elements in the group. + + The elements in the group. + + + + Represents a boolean expression that tests whether a specified item matches any element in a list. + + + + + Gets a DbExpression that specifies the item to be matched. + + + + + Gets the list of DbExpression to test for a match. + + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of DbExpressionVisitor. + + + is null + + + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + + An instance of a typed DbExpressionVisitor that produces a result value of type TResultType. + + The type of the result produced by + + + + is null + + + An instance of . + + + + Represents a single row insert operation expressed as a command tree. This class cannot be inherited. + + Represents a single row insert operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar value indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + The list of insert set clauses that define the insert operation. . + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of insert set clauses that define the insert operation. + The list of insert set clauses that define the insert operation. + + + + Gets an that specifies a projection of results to be returned based on the modified rows. + + + An that specifies a projection of results to be returned based on the modified rows. null indicates that no results should be returned from this command. + + + + Gets the command tree kind. + The command tree kind. + + + Represents the set intersection operation between the left and right operands. This class cannot be inherited. + + DbIntersectExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an empty set determination applied to a single set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents null determination applied to a single argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the type comparison of a single argument against the specified type. This class cannot be inherited. + + + Gets the type metadata that the type metadata of the argument should be compared to. + The type metadata that the type metadata of the argument should be compared to. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + + + + Gets the that provides the left input. + + + The that provides the left input. + + + + + Gets the that provides the right input. + + + The that provides the right input. + + + + Gets the join condition to apply. + The join condition to apply. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a Lambda function that can be invoked to produce a + + . + + + + Gets the body of the lambda expression. + + A that represents the body of the lambda function. + + + + Gets the parameters of the lambda expression. + The list of lambda function parameters represented as DbVariableReferenceExpression objects. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null + + + + contains more than one element with the same variable name. + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null. + + + + contains more than one element with the same variable name. + + + + + Creates a new with a single argument of the specified type, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and single formal parameter. + + A that defines the EDM type of the argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A that defines the EDM type of the sixteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Allows the application of a lambda function to arguments represented by + + objects. + + + + + Gets the representing the Lambda function applied by this expression. + + + The representing the Lambda function applied by this expression. + + + + + Gets a list that provides the arguments to which the Lambda function should be applied. + + + The list. + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of . + + visitor is null + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + The type of the result produced by the expression visitor. + + An instance of a typed that produces a result value of type TResultType. + + The type of the result produced by visitor + visitor is null + + + Represents a string comparison against the specified pattern with an optional escape string. This class cannot be inherited. + + + Gets an expression that specifies the string to compare against the given pattern. + An expression that specifies the string to compare against the given pattern. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that specifies the pattern against which the given string should be compared. + An expression that specifies the pattern against which the given string should be compared. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that provides an optional escape string to use for the comparison. + An expression that provides an optional escape string to use for the comparison. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the restriction of the number of elements in the argument collection to the specified limit value. + + + Gets an expression that specifies the input collection. + An expression that specifies the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a collection type. + + + + Gets an expression that specifies the limit on the number of elements returned from the input collection. + An expression that specifies the limit on the number of elements returned from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or is not one of + + or + + , or its result type is not equal or promotable to a 64-bit integer type. + + + + + Gets whether the limit operation will include tied results. Including tied results might produce more results than specified by the + + value. + + true if the limit operation will include tied results; otherwise, false. The default is false. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a single clause in an insert or update modification operation, see + and + + + An abstract base class allows the possibility of patterns other than + Property = Value in future versions, e.g., + update SomeTable + set ComplexTypeColumn.SomeProperty() + where Id = 2 + + + + Represents a data manipulation language (DML) operation expressed as a command tree. + + + + Gets the that specifies the target table for the data manipulation language (DML) operation. + + + The that specifies the target table for the DML operation. + + + + Represents the construction of a new instance of a given type, including set and record types. This class cannot be inherited. + + + + Gets an list that provides the property/column values or set elements for the new instance. + + + An list that provides the property/column values or set elements for the new instance. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical NOT of a single Boolean argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a typed null literal. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the retrieval of elements of the specified type from the given set argument. This class cannot be inherited. + + + Gets the metadata of the type of elements that should be retrieved from the set argument. + The metadata of the type of elements that should be retrieved from the set argument. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical OR of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a parameter declared on the command tree that contains this expression. This class cannot be inherited. + + + Gets the name of the referenced parameter. + The name of the referenced parameter. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the projection of a given input set over the specified expression. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that defines the projection. + + + The that defines the projection. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the current projection. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Provides methods and properties for retrieving an instance property. This class cannot be inherited. + + + Gets the property metadata for the property to retrieve. + The property metadata for the property to retrieve. + + + + Gets a that defines the instance from which the property should be retrieved. + + + A that defines the instance from which the property should be retrieved. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the type that defines the property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Creates a new key/value pair based on this property expression. + + A new key/value pair with the key and value derived from the + + . + + + + + Enables implicit casting to . + + The expression to be converted. + The converted value. + + + Represents a quantifier operation of the specified kind over the elements of the specified input set. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Gets the Boolean predicate that should be evaluated for each element in the input set. + The Boolean predicate that should be evaluated for each element in the input set. + The expression is null. + + The expression is not associated with the command tree for the + + ,or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a query operation expressed as a command tree. This class cannot be inherited. + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + A boolean that indicates whether + filter over projection simplification should be used. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + + + or + + is null + + + + does not represent a valid data space + + + + + Gets an that defines the logic of the query operation. + + + An that defines the logic of the query operation. + + The expression is null. + The expression is associated with a different command tree. + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a strongly typed reference to a specific instance within an entity set. This class cannot be inherited. + + + Gets the metadata for the entity set that contains the instance. + The metadata for the entity set that contains the instance. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents the retrieval of the key value of the specified Reference as a row. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the navigation of a relationship. This class cannot be inherited. + + + Gets the metadata for the relationship over which navigation occurs. + The metadata for the relationship over which navigation occurs. + + + Gets the metadata for the relationship end to navigate from. + The metadata for the relationship end to navigate from. + + + Gets the metadata for the relationship end to navigate to. + The metadata for the relationship end to navigate to. + + + + Gets an that specifies the starting point of the navigation and must be a reference to an entity instance. + + + An that specifies the instance of the source relationship end from which navigation should occur. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the + + property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a 'scan' of all elements of a given entity set. + + + + Gets the metadata for the referenced entity or relationship set. + The metadata for the referenced entity or relationship set. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Specifies the clause in a modification operation that sets the value of a property. This class cannot be inherited. + + + + Gets an that specifies the property that should be updated. + + + An that specifies the property that should be updated. + + + + + Gets an that specifies the new value with which to update the property. + + + An that specifies the new value with which to update the property. + + + + + Skips a specified number of elements in the input set. + + can only be used after the input collection has been sorted as specified by the sort keys. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Gets an expression that specifies the number of elements to skip from the input collection. + An expression that specifies the number of elements to skip from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + ; the expression is not either a + + or a + + ; or the result type of the expression is not equal or promotable to a 64-bit integer type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a sort key that can be used as part of the sort order in a + + . This class cannot be inherited. + + + + Gets a Boolean value indicating whether or not this sort key uses an ascending sort order. + true if this sort key uses an ascending sort order; otherwise, false. + + + Gets a string value that specifies the collation for this sort key. + A string value that specifies the collation for this sort key. + + + + Gets the that provides the value for this sort key. + + + The that provides the value for this sort key. + + + + Represents a sort operation applied to the elements of the specified input set based on the given sort keys. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by + visitor + + + visitor + is null. + + + Represents a type conversion operation applied to a polymorphic argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept a single expression argument. + + + + Gets the that defines the argument. + + + The that defines the argument. + + The expression is null. + + The expression is not associated with the command tree of a + + , or its result type is not equal or promotable to the required type for the argument. + + + + + Represents the set union (without duplicate removal) operation between the left and right operands. + + + DbUnionAllExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a single-row update operation expressed as a command tree. This class cannot be inherited. + + Represents a single-row update operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be updated. + The list of update set clauses that define the update operation. + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of update set clauses that define the update operation. + The list of update set clauses that define the update operation. + + + + Gets an that specifies a projection of results to be returned, based on the modified rows. + + + An that specifies a projection of results to be returned based, on the modified rows. null indicates that no results should be returned from this command. + + + + + Gets an that specifies the predicate used to determine which members of the target collection should be updated. + + + An that specifies the predicate used to determine which members of the target collection should be updated. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a reference to a variable that is currently in scope. This class cannot be inherited. + + + Gets the name of the referenced variable. + The name of the referenced variable. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Visits each element of an expression tree from a given root expression. If any element changes, the tree is rebuilt back to the root and the new root expression is returned; otherwise the original root expression is returned. + + + + Initializes a new instance of the + + class. + + + + Replaces an old expression with a new one for the expression visitor. + The old expression. + The new expression. + + + Represents an event when the variable is rebound for the expression visitor. + The location of the variable. + The reference of the variable where it is rebounded. + + + Represents an event when entering the scope for the expression visitor with specified scope variables. + The collection of scope variables. + + + Exits the scope for the expression visitor. + + + Implements the visitor pattern for the expression. + The implemented visitor pattern. + The expression. + + + Implements the visitor pattern for the expression list. + The implemented visitor pattern. + The expression list. + + + Implements the visitor pattern for expression binding. + The implemented visitor pattern. + The expression binding. + + + Implements the visitor pattern for the expression binding list. + The implemented visitor pattern. + The expression binding list. + + + Implements the visitor pattern for the group expression binding. + The implemented visitor pattern. + The binding. + + + Implements the visitor pattern for the sort clause. + The implemented visitor pattern. + The sort clause. + + + Implements the visitor pattern for the sort order. + The implemented visitor pattern. + The sort order. + + + Implements the visitor pattern for the aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the function aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the group aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the Lambda function. + The implemented visitor pattern. + The lambda function. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the basic functionality required by expression types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the different kinds of constants. + The implemented visitor. + The constant expression. + + + Implements the visitor pattern for a reference to a typed null literal. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a variable that is currently in scope. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a parameter declared on the command tree that contains this expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for an invocation of a function. + The implemented visitor. + The function expression. + + + Implements the visitor pattern for the application of a lambda function to arguments represented by DbExpression objects. + The implemented visitor. + The expression. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the comparison operation applied to two arguments. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for a string comparison against the specified pattern with an optional escape string. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the restriction of the number of elements in the argument collection to the specified limit value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the null determination applied to a single argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the arithmetic operation applied to numeric arguments. + The implemented visitor. + The arithmetic expression. + + + Implements the visitor pattern for the logical AND expression. + The implemented visitor. + The logical AND expression. + + + Implements the visitor pattern for the logical OR of two Boolean arguments. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the DbInExpression. + The implemented visitor. + The DbInExpression that is being visited. + + + Implements the visitor pattern for the logical NOT of a single Boolean argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the removed duplicate elements from the specified set argument. + The implemented visitor. + The distinct expression. + + + Implements the visitor pattern for the conversion of the specified set argument to a singleton the conversion of the specified set argument to a singleton. + The implemented visitor. + The element expression. + + + Implements the visitor pattern for an empty set determination applied to a single set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set union operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set intersection operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set subtraction operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a type conversion operation applied to a polymorphic argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type comparison of a single argument against the specified type. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type conversion of a single argument to the specified type. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for the When, Then, and Else clauses. + The implemented visitor. + The case expression. + + + Implements the visitor pattern for the retrieval of elements of the specified type from the given set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the construction of a new instance of a given type, including set and record types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a strongly typed reference to a specific instance within an entity set. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the navigation of a relationship. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that retrieves an entity based on the specified reference. + The implemented visitor. + The DEREF expression. + + + Implements the visitor pattern for the retrieval of the key value from the underlying reference value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that extracts a reference from the underlying entity instance. + The implemented visitor. + The entity reference expression. + + + Implements the visitor pattern for a scan over an entity set or relationship set, as indicated by the Target property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a predicate applied to filter an input set. + The implemented visitor. + The filter expression. + + + Implements the visitor pattern for the projection of a given input set over the specified expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the unconditional join operation between the given collection arguments. + The implemented visitor. + The join expression. + + + Implements the visitor pattern for an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the invocation of the specified function for each element in the specified input set. + The implemented visitor. + The APPLY expression. + + + Implements the visitor pattern for a group by operation. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the skip expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a sort key that can be used as part of the sort order. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a quantifier operation of the specified kind over the elements of the specified input set. + The implemented visitor. + The expression. + + + + Provides an API to construct s and allows that API to be accessed as extension methods on the expression type itself. + + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + + Creates a new that uses a generated variable name to bind the given expression. + + A new expression binding with the specified expression and a generated variable name. + The expression to bind. + input is null. + input does not have a collection result. + + + + Creates a new that uses the specified variable name to bind the given expression + + A new expression binding with the specified expression and variable name. + The expression to bind. + The variable name that should be used for the binding. + input or varName is null. + input does not have a collection result. + + + Creates a new group expression binding that uses generated variable and group variable names to bind the given expression. + A new group expression binding with the specified expression and a generated variable name and group variable name. + The expression to bind. + input is null. + input does not have a collection result type. + + + + Creates a new that uses the specified variable name and group variable names to bind the given expression. + + A new group expression binding with the specified expression, variable name and group variable name. + The expression to bind. + The variable name that should be used for the binding. + The variable name that should be used to refer to the group when the new group expression binding is used in a group-by expression. + input, varName or groupVarName is null. + input does not have a collection result type. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The arguments over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new over the specified argument + + The argument over which to perform the nest operation + A new group aggregate representing the elements of the group referenced by the given argument. + + + is null + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a new with an ascending sort order and default collation. + + A new sort clause with the given sort key and ascending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and default collation. + + A new sort clause with the given sort key and descending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with an ascending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and ascending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and descending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that unconditionally joins the sets specified by the list of input expression bindings. + + + A new DbCrossJoinExpression, with an of CrossJoin, that represents the unconditional join of the input sets. + + A list of expression bindings that specifies the input sets. + inputs is null or contains null element. + inputs contains fewer than 2 expression bindings. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbFilterExpression that produces the filtered set. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that groups the elements of the input set according to the specified group keys and applies the given aggregates. + + A new DbGroupByExpression with the specified input set, grouping keys and aggregates. + + A that specifies the input set. + + A list of string-expression pairs that define the grouping columns. + A list of expressions that specify aggregates to apply. + input, keys or aggregates is null, keys contains a null column key or expression, or aggregates contains a null aggregate column name or aggregate. + Both keys and aggregates are empty, or an invalid or duplicate column name was specified. + + + + Creates a new that projects the specified expression over the given input set. + + A new DbProjectExpression that represents the projection operation. + An expression binding that specifies the input set. + An expression to project over the set. + input or projection is null. + + + + Creates a new that sorts the given input set by the given sort specifications before skipping the specified number of elements. + + A new DbSkipExpression that represents the skip operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + An expression the specifies how many elements of the ordered set to skip. + input, sortOrder or count is null, or sortOrder contains null. + + sortOrder is empty, or count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that sorts the given input set by the specified sort specifications. + + A new DbSortExpression that represents the sort operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + input or sortOrder is null, or sortOrder contains null. + sortOrder is empty. + + + + Creates a new , which represents a typed null value. + + An instance of DbNullExpression. + The type of the null value. + nullType is null. + + + + Gets a with the Boolean value true. + + + A with the Boolean value true. + + + + + Gets a with the Boolean value false. + + + A with the Boolean value false. + + + + + Creates a new with the given constant value. + + A new DbConstantExpression with the given value. + The constant value to represent. + value is null. + value is not an instance of a valid constant type. + + + + Creates a new of the specified primitive type with the given constant value. + + A new DbConstantExpression with the given value and a result type of constantType. + The type of the constant value. + The constant value to represent. + value or constantType is null. + value is not an instance of a valid constant type, constantType does not represent a primitive type, or value is of a different primitive type than that represented by constantType. + + + + Creates a new that references a parameter with the specified name and type. + + A DbParameterReferenceExpression that represents a reference to a parameter with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced parameter. + The name of the referenced parameter. + + + + Creates a new that references a variable with the specified name and type. + + A DbVariableReferenceExpression that represents a reference to a variable with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced variable. + The name of the referenced variable. + + + + Creates a new that references the specified entity or relationship set. + + A new DbScanExpression based on the specified entity or relationship set. + Metadata for the entity or relationship set to reference. + targetSet is null. + + + + Creates an that performs the logical And of the left and right arguments. + + A new DbAndExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left and right does not have a Boolean result type. + + + + Creates an that performs the logical Or of the left and right arguments. + + A new DbOrExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left or right does not have a Boolean result type. + + + + Creates a that matches the result of the specified + expression with the results of the constant expressions in the specified list. + + A DbExpression to be matched. + A list of DbConstantExpression to test for a match. + + A new DbInExpression with the specified arguments. + + + + or + + is null. + + + The result type of + + is different than the result type of an expression from + . + + + + + Creates a that performs the logical negation of the given argument. + + A new DbNotExpression with the specified argument. + A Boolean expression that specifies the argument. + argument is null. + argument does not have a Boolean result type. + + + + Creates a new that divides the left argument by the right argument. + + A new DbArithmeticExpression representing the division operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left or right. + + + + Creates a new that subtracts the right argument from the left argument. + + A new DbArithmeticExpression representing the subtraction operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that computes the remainder of the left argument divided by the right argument. + + A new DbArithmeticExpression representing the modulo operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that multiplies the left argument by the right argument. + + A new DbArithmeticExpression representing the multiplication operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that adds the left argument to the right argument. + + A new DbArithmeticExpression representing the addition operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that compares the left and right arguments for equality. + + A new DbComparisonExpression representing the equality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that compares the left and right arguments for inequality. + + A new DbComparisonExpression representing the inequality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than the right argument. + + A new DbComparisonExpression representing the greater-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than the right argument. + + A new DbComparisonExpression representing the less-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than or equal to the right argument. + + A new DbComparisonExpression representing the greater-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than or equal to the right argument. + + A new DbComparisonExpression representing the less-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common result type that is both equality- and order-comparable exists between left and right. + + + + Creates a new that determines whether the specified argument is null. + + A new DbIsNullExpression with the specified argument. + An expression that specifies the argument. + argument is null. + argument has a collection result type. + + + + Creates a new that compares the specified input string to the given pattern. + + A new DbLikeExpression with the specified input, pattern and a null escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + Argument or pattern is null. + Argument or pattern does not have a string result type. + + + + Creates a new that compares the specified input string to the given pattern using the optional escape. + + A new DbLikeExpression with the specified input, pattern and escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + An optional expression that specifies the escape string. + argument, pattern or escape is null. + argument, pattern or escape does not have a string result type. + + + + Creates a new that applies a cast operation to a polymorphic argument. + + A new DbCastExpression with the specified argument and target type. + The argument to which the cast should be applied. + Type metadata that specifies the type to cast to. + Argument or toType is null. + The specified cast is not valid. + + + + Creates a new . + + A new DbTreatExpression with the specified argument and type. + An expression that specifies the instance. + Type metadata for the treat-as type. + argument or treatType is null. + treatType is not in the same type hierarchy as the result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + A that specifies the input set. + + Type metadata for the type that elements of the input set must have to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of exactly the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + An that specifies the input set. + + Type metadata for the type that elements of the input set must match exactly to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that determines whether the given argument is of the specified type or a subtype. + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOf. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new expression that determines whether the given argument is of the specified type, and only that type (not a subtype). + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOfOnly. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new that retrieves a specific Entity given a reference expression. + + A new DbDerefExpression that retrieves the specified Entity. + + An that provides the reference. This expression must have a reference Type. + + argument is null. + argument does not have a reference result type. + + + + Creates a new that retrieves the ref of the specified entity in structural form. + + A new DbEntityRefExpression that retrieves a reference to the specified entity. + The expression that provides the entity. This expression must have an entity result type. + argument is null. + argument does not have an entity result type. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + entitySet or keyRow is null. + keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + The type of the Entity that the reference should refer to. + entitySet, keyRow or entityType is null. + entityType is not in the same type hierarchy as the entity set's entity type, or keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that retrieves the key values of the specified reference in structural form. + + A new DbRefKeyExpression that retrieves the key values of the specified reference. + The expression that provides the reference. This expression must have a reference Type with an Entity element type. + argument is null. + argument does not have a reference result type. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + An expression that specifies the instance from which navigation should occur. + Metadata for the property that represents the end of the relationship from which navigation should occur. + Metadata for the property that represents the end of the relationship to which navigation should occur. + fromEnd, toEnd or navigateFrom is null. + fromEnd and toEnd are not declared by the same relationship type, or navigateFrom has a result type that is not compatible with the property type of fromEnd. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + Metadata for the relation type that represents the relationship. + The name of the property of the relation type that represents the end of the relationship from which navigation should occur. + The name of the property of the relation type that represents the end of the relationship to which navigation should occur. + An expression the specifies the instance from which navigation should occur. + type, fromEndName, toEndName or navigateFrom is null. + type is not associated with this command tree's metadata workspace or navigateFrom is associated with a different command tree, or type does not declare a relation end property with name toEndName or fromEndName, or navigateFrom has a result type that is not compatible with the property type of the relation end property with name fromEndName. + + + + Creates a new that removes duplicates from the given set argument. + + A new DbDistinctExpression that represents the distinct operation applied to the specified set argument. + An expression that defines the set over which to perform the distinct operation. + argument is null. + argument does not have a collection result type. + + + + Creates a new that converts a set into a singleton. + + A DbElementExpression that represents the conversion of the set argument to a singleton. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is an empty set. + + A new DbIsEmptyExpression with the specified argument. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that computes the subtraction of the right set argument from the left set argument. + + A new DbExceptExpression that represents the difference of the left argument from the right argument. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left and right. + + + + Creates a new that computes the intersection of the left and right set arguments. + + A new DbIntersectExpression that represents the intersection of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left or right. + + + + Creates a new that computes the union of the left and right set arguments and does not remove duplicates. + + A new DbUnionAllExpression that union, including duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, or count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new . + + A new DbCaseExpression with the specified cases and default result. + A list of expressions that provide the conditional for of each case. + A list of expressions that provide the result of each case. + An expression that defines the result when no case is matched. + whenExpressions or thenExpressions is null or contains null, or elseExpression is null. + whenExpressions or thenExpressions is empty or whenExpressions contains an expression with a non-Boolean result type, or no common result type exists for all expressions in thenExpressions and elseExpression. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + A list of expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + Expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new Expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + A list of expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + Expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null.. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs an empty collection of the specified collection type. + + A new DbNewInstanceExpression with the specified collection type and an empty Arguments list. + The type metadata for the collection to create + collectionType is null. + collectionType is not a collection type. + + + + Creates a new that produces a row with the specified named columns and the given values, specified as expressions. + + A new DbNewInstanceExpression that represents the construction of the row. + A list of string-DbExpression key-value pairs that defines the structure and values of the row. + columnValues is null or contains an element with a null column name or expression. + columnValues is empty, or contains a duplicate or invalid column name. + + + + Creates a new representing the retrieval of the specified property. + + A new DbPropertyExpression representing the property retrieval. + The instance from which to retrieve the property. May be null if the property is static. + Metadata for the property to retrieve. + propertyMetadata is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the specified navigation property. + + A new DbPropertyExpression representing the navigation property retrieval. + The instance from which to retrieve the navigation property. + Metadata for the navigation property to retrieve. + navigationProperty or instance is null. + + + + Creates a new representing the retrieval of the specified relationship end member. + + A new DbPropertyExpression representing the relationship end member retrieval. + The instance from which to retrieve the relationship end member. + Metadata for the relationship end member to retrieve. + relationshipEnd is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the instance property with the specified name from the given instance. + + A new DbPropertyExpression that represents the property retrieval. + The instance from which to retrieve the property. + The name of the property to retrieve. + propertyName is null or instance is null and the property is not static. + No property with the specified name is declared by the type of instance. + + + + Creates a new representing setting a property to a value. + + The property to be set. + The value to set the property to. + The newly created set clause. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression that specifies the input set. + A method representing a predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by Predicate does not have a Boolean result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + source is null. + source does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + Source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the outer and inner expressions, on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + outer, inner, outerKey or innerKey is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The expressions produced by outerKey and innerKey are not comparable for equality. + + + + Creates a new that projects the specified selector over the sets specified by the outer and inner expressions, joined on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbProjectExpression with the specified selector as its projection, and a new DbJoinExpression as its input. The input DbJoinExpression is created with an + + of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + + A method that specifies how an element of the result set should be derived from elements of the inner and outer sets. This method must produce an instance of a type that is compatible with Join and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The type of the selector . + outer, inner, outerKey, innerKey or selector is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The result of selector is null after conversion to DbExpression. + The expressions produced by outerKey and innerKey is not comparable for equality. + The result of Selector is not compatible with SelectMany. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that selects the specified expression over the given input set. + + A new DbProjectExpression that represents the select operation. + An expression that specifies the input set. + + A method that specifies how to derive the projected expression given a member of the input set. This method must produce an instance of a type that is compatible with Select and can be resolved into a + + . Compatibility requirements for TProjection are described in remarks. + + The method result type of projection. + source or projection is null. + The result of projection is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the apply column from each row, producing the overall collection of apply results. + + + An new DbProjectExpression that selects the apply column from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + source or apply is null. + The expression produced by apply is null. + source does not have a collection result type. + The expression produced by apply does not have a collection type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the specified selector over each row, producing the overall collection of results. + + + An new DbProjectExpression that selects the result of the given selector from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + + A method that specifies how an element of the result set should be derived given an element of the input and apply sets. This method must produce an instance of a type that is compatible with SelectMany and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The method result type of selector. + source, apply or selector is null. + The expression produced by apply is null. + The result of selector is null on conversion to DbExpression. + source does not have a collection result type. + The expression produced by apply does not have a collection type. does not have a collection type. + + + + Creates a new that skips the specified number of elements from the given sorted input set. + + A new DbSkipExpression that represents the skip operation. + + A that specifies the sorted input set. + + An expression the specifies how many elements of the ordered set to skip. + argument or count is null. + + count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that computes the union of the left and right set arguments with duplicates removed. + + A new DbExpression that computes the union, without duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Provides an API to construct s that invoke canonical EDM functions, and allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'Avg' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the average value. + An expression that specifies the collection from which the average value should be computed. + + + + Creates a that invokes the canonical 'Count' function over the specified collection. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'BigCount' function over the specified collection. The result type of the expression is Edm.Int64. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'Max' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the maximum value. + An expression that specifies the collection from which the maximum value should be retrieved + + + + Creates a that invokes the canonical 'Min' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the minimum value. + An expression that specifies the collection from which the minimum value should be retrieved. + + + + Creates a that invokes the canonical 'Sum' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the sum. + An expression that specifies the collection from which the sum should be computed. + + + + Creates a that invokes the canonical 'StDev' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value over non-null members of the collection. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'StDevP' function over the population of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'Var' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value for the non-null members of the collection. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'VarP' function over the population of the specified collection. The result type of the expression Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'Concat' function with the specified arguments, which must each have a string result type. The result type of the expression is string. + + A new DbFunctionExpression that produces the concatenated string. + An expression that specifies the string that should appear first in the concatenated result string. + An expression that specifies the string that should appear second in the concatenated result string. + + + + Creates a that invokes the canonical 'Contains' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not searchedForString occurs within searchedString. + An expression that specifies the string to search for any occurrence of searchedForString. + An expression that specifies the string to search for in searchedString. + + + + Creates a that invokes the canonical 'EndsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument ends with suffix. + An expression that specifies the string that is searched at the end for string suffix. + An expression that specifies the target string that is searched for at the end of stringArgument. + + + + Creates a that invokes the canonical 'IndexOf' function with the specified arguments, which must each have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the first index of stringToFind in searchString. + An expression that specifies the string to search for stringToFind. + An expression that specifies the string to locate within searchString should be checked. + + + + Creates a that invokes the canonical 'Left' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the leftmost substring of length from stringArgument. + An expression that specifies the string from which to extract the leftmost substring. + An expression that specifies the length of the leftmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'Length' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the length of stringArgument. + An expression that specifies the string for which the length should be computed. + + + + Creates a that invokes the canonical 'Replace' function with the specified arguments, which must each have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression than returns a new string based on stringArgument where every occurrence of toReplace is replaced by replacement. + An expression that specifies the string in which to perform the replacement operation. + An expression that specifies the string that is replaced. + An expression that specifies the replacement string. + + + + Creates a that invokes the canonical 'Reverse' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that produces the reversed value of stringArgument. + An expression that specifies the string to reverse. + + + + Creates a that invokes the canonical 'Right' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the rightmost substring of length from stringArgument. + An expression that specifies the string from which to extract the rightmost substring. + An expression that specifies the length of the rightmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'StartsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument starts with prefix. + An expression that specifies the string that is searched at the start for string prefix. + An expression that specifies the target string that is searched for at the start of stringArgument. + + + + Creates a that invokes the canonical 'Substring' function with the specified arguments, which must have a string and integer numeric result types. The result type of the expression is string. + + A new DbFunctionExpression that returns the substring of length from stringArgument starting at start. + An expression that specifies the string from which to extract the substring. + An expression that specifies the starting index from which the substring should be taken. + An expression that specifies the length of the substring. + + + + Creates a that invokes the canonical 'ToLower' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to lower case. + An expression that specifies the string that should be converted to lower case. + + + + Creates a that invokes the canonical 'ToUpper' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to upper case. + An expression that specifies the string that should be converted to upper case. + + + + Creates a that invokes the canonical 'Trim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading and trailing space removed. + An expression that specifies the string from which leading and trailing space should be removed. + + + + Creates a that invokes the canonical 'RTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with trailing space removed. + An expression that specifies the string from which trailing space should be removed. + + + + Creates a that invokes the canonical 'LTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading space removed. + An expression that specifies the string from which leading space should be removed. + + + + Creates a that invokes the canonical 'Year' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer year value from dateValue. + An expression that specifies the value from which the year should be retrieved. + + + + Creates a that invokes the canonical 'Month' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer month value from dateValue. + An expression that specifies the value from which the month should be retrieved. + + + + Creates a that invokes the canonical 'Day' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day value from dateValue. + An expression that specifies the value from which the day should be retrieved. + + + + Creates a that invokes the canonical 'DayOfYear' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day of year value from dateValue. + An expression that specifies the value from which the day within the year should be retrieved. + + + + Creates a that invokes the canonical 'Hour' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer hour value from timeValue. + An expression that specifies the value from which the hour should be retrieved. + + + + Creates a that invokes the canonical 'Minute' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer minute value from timeValue. + An expression that specifies the value from which the minute should be retrieved. + + + + Creates a that invokes the canonical 'Second' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer second value from timeValue. + An expression that specifies the value from which the second should be retrieved. + + + + Creates a that invokes the canonical 'Millisecond' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer millisecond value from timeValue. + An expression that specifies the value from which the millisecond should be retrieved. + + + + Creates a that invokes the canonical 'GetTotalOffsetMinutes' function with the specified argument, which must have a DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes dateTimeOffsetArgument is offset from GMT. + An expression that specifies the DateTimeOffset value from which the minute offset from GMT should be retrieved. + + + + Creates a that gets local DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to DATETIME2, discarding offset part + An expression that specifies the DateTimeOffset value. + + + + Creates a that gets UTC DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to Utc DATETIME2 + An expression that specifies the DateTimeOffset value. + + + + Creates a that invokes the canonical 'CurrentDateTime' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'CurrentDateTimeOffset' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CurrentUtcDateTime' function. + + A new DbFunctionExpression that returns the current UTC date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'TruncateTime' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that returns the value of dateValue with time set to zero. + An expression that specifies the value for which the time portion should be truncated. + + + + Creates a that invokes the canonical 'CreateDateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTime. + + A new DbFunctionExpression that returns a new DateTime based on the specified values. + An expression that provides the year value for the new DateTime instance. + An expression that provides the month value for the new DateTime instance. + An expression that provides the day value for the new DateTime instance. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'CreateDateTimeOffset' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTimeOffset. + + A new DbFunctionExpression that returns a new DateTimeOffset based on the specified values. + An expression that provides the year value for the new DateTimeOffset instance. + An expression that provides the month value for the new DateTimeOffset instance. + An expression that provides the day value for the new DateTimeOffset instance. + An expression that provides the hour value for the new DateTimeOffset instance. + An expression that provides the minute value for the new DateTimeOffset instance. + An expression that provides the second value for the new DateTimeOffset instance. + An expression that provides the number of minutes in the time zone offset value for the new DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CreateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.Time. + + A new DbFunctionExpression that returns a new Time based on the specified values. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'AddYears' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of years specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of years to add to dateValue. + + + + Creates a that invokes the canonical 'AddMonths' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of months specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of months to add to dateValue. + + + + Creates a that invokes the canonical 'AddDays' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of days specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of days to add to dateValue. + + + + Creates a that invokes the canonical 'AddHours' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of hours specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of hours to add to timeValue. + + + + Creates a that invokes the canonical 'AddMinutes' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of minutes specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of minutes to add to timeValue. + + + + Creates a that invokes the canonical 'AddSeconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of seconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of seconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMilliseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of milliseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of milliseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMicroseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of microseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of microseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddNanoseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of nanoseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of nanoseconds to add to timeValue. + + + + Creates a that invokes the canonical 'DiffYears' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of years that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffMonths' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of months that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffDays' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of days that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffHours' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of hours that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMinutes' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffSeconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of seconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMilliseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of milliseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMicroseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of microseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffNanoseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of nanoseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'Round' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value. + An expression that specifies the numeric value to round. + + + + Creates a that invokes the canonical 'Round' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to round. + An expression that specifies the number of digits of precision to use when rounding. + + + + Creates a that invokes the canonical 'Floor' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the largest integer value not greater than value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Ceiling' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the smallest integer value not less than the value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Abs' function with the specified argument, which must each have a numeric result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the absolute value of value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Truncate' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that truncates the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to truncate. + An expression that specifies the number of digits of precision to use when truncating. + + + + Creates a that invokes the canonical 'Power' function with the specified arguments, which must have numeric result types. The result type of the expression is the same as the result type of baseArgument. + + A new DbFunctionExpression that returns the value of baseArgument raised to the power specified by exponent. + An expression that specifies the numeric value to raise to the given power. + An expression that specifies the power to which baseArgument should be raised. + + + + Creates a that invokes the canonical 'BitwiseAnd' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise AND of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseOr' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise OR of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseNot' function with the specified argument, which must have an integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise NOT of value. + An expression that specifies the first operand. + + + + Creates a that invokes the canonical 'BitwiseXor' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise XOR (exclusive OR) of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'NewGuid' function. + + A new DbFunctionExpression that returns a new GUID value. + + + + Provides an API to construct s that invoke hierarchyid realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'HierarchyIdParse' function with the + specified argument, which must have a string result type. + The result type of the expression is Edm.HierarchyId. + + An expression that provides the canonical representation of the hierarchyid value. + A new DbFunctionExpression that returns a new hierarchyid value based on the specified value. + + + is null. + + + No overload of the canonical 'HierarchyIdParse' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'HierarchyIdGetRoot' function. + The result type of the expression is Edm.HierarchyId. + + A new DbFunctionExpression that returns a new root hierarchyid value. + + + + Creates a that invokes the canonical 'GetAncestor' function with the + specified argument, which must have an Int32 result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides an integer value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + is null. + + + No overload of the canonical 'GetAncestor' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetDescendant' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetDescendant' function accept an argument with the result type of + + and + + . + + + + + Creates a that invokes the canonical 'GetLevel' function. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + A new DbFunctionExpression that returns the level of the given hierarchyid. + + + is null. + + + + + Creates a that invokes the canonical 'IsDescendantOf' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns an integer value. + + + or + + is null. + + + No overload of the canonical 'IsDescendantOf' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetReparentedValue' function with the + specified arguments, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetReparentedValue' function accept an argument with the result type of + + and + + . + + + + + Provides a constructor-like means of calling + + . + + + + + Initializes a new instance of the class with the specified first column value and optional successive column values. + + A key-value pair that provides the first column in the new row instance. (required) + A key-value pairs that provide any subsequent columns in the new row instance. (optional) + + + + Creates a new that constructs a new row based on the columns contained in this Row instance. + + A new DbNewInstanceExpression that constructs a row with the same column names and DbExpression values as this Row instance. + + + + Converts the given Row instance into an instance of + + The Row instance. + A DbExpression based on the Row instance + + + is null. + + + + + + Provides an API to construct s that invoke spatial realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geometry value based on the specified value. + An expression that provides the well known text representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known text representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromText' function with the specified arguments. pointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known text representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known text representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known text representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known text representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known text representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromText' function with the specified arguments. geometryCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known text representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified binary value. + An expression that provides the well known binary representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known binary representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known binary representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known binary representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromBinary' function with the specified arguments. geometryCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known binary representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified arguments. geometryMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geography value based on the specified value. + An expression that provides the well known text representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known text representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromText' function with the specified arguments. + + The canonical 'GeographyPointFromText' function. + An expression that provides the well-known text representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownTextValue. + + + + Creates a that invokes the canonical 'GeographyLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known text representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known text representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known text representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known text representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromText' function with the specified arguments. geographyCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known text representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified binary value. + An expression that provides the well known binary representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known binary representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography point value based on the specified values. + An expression that provides the well known binary representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownBinaryValue. + + + + Creates a that invokes the canonical 'GeographyLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known binary representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known binary representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known binary representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known binary representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromBinary' function with the specified arguments. geographyCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known binary representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified arguments. geographyMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'CoordinateSystemId' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer SRID value from spatialValue. + An expression that specifies the value from which the coordinate system id (SRID) should be retrieved. + + + + Creates a that invokes the canonical 'SpatialTypeName' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the string Geometry Type name from spatialValue. + An expression that specifies the value from which the Geometry Type name should be retrieved. + + + + Creates a that invokes the canonical 'SpatialDimension' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the Dimension value from spatialValue. + An expression that specifies the value from which the Dimension value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialEnvelope' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the minimum bounding box for geometryValue. + An expression that specifies the value from which the Envelope value should be retrieved. + + + + Creates a that invokes the canonical 'AsBinary' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Binary. + + A new DbFunctionExpression that returns the well known binary representation of spatialValue. + An expression that specifies the spatial value from which the well known binary representation should be produced. + + + + Creates a that invokes the canonical 'AsGml' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the Geography Markup Language (GML) representation of spatialValue. + An expression that specifies the spatial value from which the Geography Markup Language (GML) representation should be produced. + + + + Creates a that invokes the canonical 'AsText' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the well known text representation of spatialValue. + An expression that specifies the spatial value from which the well known text representation should be produced. + + + + Creates a that invokes the canonical 'IsEmptySpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue is empty. + An expression that specifies the spatial value from which the IsEmptySpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsSimpleGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is a simple geometry. + The geometry value. + + + + Creates a that invokes the canonical 'SpatialBoundary' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the boundary for geometryValue. + An expression that specifies the geometry value from which the SpatialBoundary value should be retrieved. + + + + Creates a that invokes the canonical 'IsValidGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is valid. + An expression that specifies the geometry value which should be tested for spatial validity. + + + + Creates a that invokes the canonical 'SpatialEquals' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are equal. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for equality. + + + + Creates a that invokes the canonical 'SpatialDisjoint' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are spatially disjoint. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for disjointness. + + + + Creates a that invokes the canonical 'SpatialIntersects' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 intersect. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for intersection. + + + + Creates a that invokes the canonical 'SpatialTouches' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 touches geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialCrosses' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 crosses geometryValue2 intersect. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialWithin' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially within geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialContains' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially contains geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialOverlaps' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially overlaps geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialRelate' function with the specified arguments, which must have Edm.Geometry and string result types. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially related to geometryValue2 according to the spatial relationship designated by intersectionPatternMatrix. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + An expression that specifies the text representation of the Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern used to compare geometryValue1 and geometryValue2. + + + + Creates a that invokes the canonical 'SpatialBuffer' function with the specified arguments, which must have a Edm.Geography or Edm.Geometry and Edm.Double result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a geometry value representing all points less than or equal to distance from spatialValue. + An expression that specifies the spatial value. + An expression that specifies the buffer distance. + + + + Creates a that invokes the canonical 'Distance' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns the distance between the closest points in spatialValue1 and spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value from which the distance from spatialValue1 should be measured. + + + + Creates a that invokes the canonical 'SpatialConvexHull' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the convex hull for geometryValue. + An expression that specifies the geometry value from which the convex hull value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialIntersection' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the intersection of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the intersection with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialUnion' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the union of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the union with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialSymmetricDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the symmetric difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the symmetric difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialElementCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of elements in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value from which the number of elements should be retrieved. + + + + Creates a that invokes the canonical 'SpatialElementAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the collection element at position indexValue in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value. + An expression that specifies the position of the element to be retrieved from within the geometry or geography collection. + + + + Creates a that invokes the canonical 'XCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the X co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the X co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'YCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Y co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the Y co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Elevation' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the elevation value of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the elevation (Z co-ordinate) value should be retrieved. + + + + Creates a that invokes the canonical 'Measure' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Measure of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the Measure (M) co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Latitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Latitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Latitude value should be retrieved. + + + + Creates a that invokes the canonical 'Longitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Longitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Longitude value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialLength' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the length of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the length should be retrieved. + + + + Creates a that invokes the canonical 'StartPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the start point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the start point should be retrieved. + + + + Creates a that invokes the canonical 'EndPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the end point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the end point should be retrieved. + + + + Creates a that invokes the canonical 'IsClosedSpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether spatialValue is closed, or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the IsClosedSpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsRing' function with the specified argument, which must have an Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether geometryValue is a ring (both closed and simple), or null if geometryValue is not a curve. + An expression that specifies the geometry curve value from which the IsRing value should be retrieved. + + + + Creates a that invokes the canonical 'PointCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of points in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value from which the number of points should be retrieved. + + + + Creates a that invokes the canonical 'PointAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the point at position indexValue in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value. + An expression that specifies the position of the point to be retrieved from within the line string. + + + + Creates a that invokes the canonical 'Area' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the area of spatialValue or null if spatialValue is not a surface. + An expression that specifies the spatial surface value for which the area should be calculated. + + + + Creates a that invokes the canonical 'Centroid' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the centroid point of geometryValue (which may not be on the surface itself) or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the centroid should be retrieved. + + + + Creates a that invokes the canonical 'PointOnSurface' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either a point guaranteed to be on the surface geometryValue or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the point should be retrieved. + + + + Creates a that invokes the canonical 'ExteriorRing' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the exterior ring of the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingCount' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of interior rings in the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingAt' function with the specified arguments. The first argument must have an Edm.Geometry result type. The second argument must have an integer numeric result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the interior ring at position indexValue in geometryValue or null if geometryValue is not a polygon. + The geometry value. + An expression that specifies the position of the interior ring to be retrieved from within the polygon. + + + + Ensures that all metadata in a given expression tree is from the specified metadata workspace, + potentially rebinding and rebuilding the expressions to appropriate replacement metadata where necessary. + + + + Initializes a new instance of the class. + The target workspace. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + + DataRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new object for a specific type with an enumerable collection of data fields. + + + The metadata for the type represented by this object, supplied by + + . + + + An enumerable collection of objects that represent column information. + + + + + Gets for this + + object. + + + A object. + + + + + Gets type info for this object as a object. + + + A value. + + + + + A prepared command definition, can be cached and reused to avoid + repreparing a command. + + + + + Initializes a new instance of the class using the supplied + + . + + + The supplied . + + method used to clone the + + + + Initializes a new instance of the class. + + + + + Creates and returns a object that can be executed. + + The command for database. + + + + Metadata Interface for all CLR types + + + + + Value to pass to GetInformation to get the StoreSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaMapping + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaDefinitionVersion3 + + + + + Value to pass to GetInformation to get the StoreSchemaMappingVersion3 + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinitionVersion3 + + + + + Name of the MaxLength Facet + + + + + Name of the Unicode Facet + + + + + Name of the FixedLength Facet + + + + + Name of the Precision Facet + + + + + Name of the Scale Facet + + + + + Name of the Nullable Facet + + + + + Name of the DefaultValue Facet + + + + + Name of the Collation Facet + + + + + Name of the SRID Facet + + + + + Name of the IsStrict Facet + + + + Gets the namespace used by this provider manifest. + The namespace used by this provider manifest. + + + When overridden in a derived class, returns the set of primitive types supported by the data source. + The set of types supported by the data source. + + + When overridden in a derived class, returns a collection of EDM functions supported by the provider manifest. + A collection of EDM functions. + + + Returns the FacetDescription objects for a particular type. + The FacetDescription objects for the specified EDM type. + The EDM type to return the facet description for. + + + When overridden in a derived class, this method maps the specified storage type and a set of facets for that type to an EDM type. + + The instance that describes an EDM type and a set of facets for that type. + + The TypeUsage instance that describes a storage type and a set of facets for that type to be mapped to the EDM type. + + + When overridden in a derived class, this method maps the specified EDM type and a set of facets for that type to a storage type. + The TypeUsage instance that describes a storage type and a set of facets for that type. + The TypeUsage instance that describes the EDM type and a set of facets for that type to be mapped to a storage type. + + + When overridden in a derived class, this method returns provider-specific information. + The XmlReader object that represents the mapping to the underlying data store catalog. + The type of the information to return. + + + Gets the provider-specific information. + The provider-specific information. + The type of the information to return. + + + Indicates if the provider supports escaping strings to be used as patterns in a Like expression. + True if this provider supports escaping strings to be used as patterns in a Like expression; otherwise, false. + If the provider supports escaping, the character that would be used as the escape character. + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + The default is false. Providers should change this to true only after testing that schema queries (as + used in the Database First flow) work correctly with this flag. + + True only if the provider supports the parameter optimization. + + + Provider writers should override this method to return the argument with the wildcards and the escape character escaped. This method is only used if SupportsEscapingLikeArgument returns true. + The argument with the wildcards and the escape character escaped. + The argument to be escaped. + + + + Returns a boolean that specifies whether the provider can handle expression trees + containing instances of DbInExpression. + The default implementation returns false for backwards compatibility. Derived classes can override this method. + + + false + + + + + Returns a boolean that specifies whether the provider can process expression trees not having DbProjectExpression + nodes directly under both Left and Right sides of DbUnionAllExpression and DbIntersectExpression + + + false + + + + + The factory for building command definitions; use the type of this object + as the argument to the IServiceProvider.GetService method on the provider + factory; + + + + + Constructs an EF provider that will use the obtained from + the app domain Singleton for resolving EF dependencies such + as the instance to use. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object given a command tree. + + command tree for the statement + an executable command definition object + + This method simply delegates to the provider's implementation of CreateDbCommandDefinition. + + + + Creates command definition from specified manifest and command tree. + The created command definition. + The manifest. + The command tree. + + + Creates a command definition object for the specified provider manifest and command tree. + An executable command definition object. + Provider manifest previously retrieved from the store provider. + Command tree for the statement. + + + + Create the default DbCommandDefinition object based on the prototype command + This method is intended for provider writers to build a default command definition + from a command. + Note: This will clone the prototype + + the prototype command + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + DbCommand can cause deadlocks. So here allow sub-classes to override. + + the object to clone + a clone of the + + + + Clones the connection. + + The original connection. + Cloned connection + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + Returns provider manifest token given a connection. + The provider manifest token. + Connection to provider. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + Returns the provider manifest by using the specified version information. + The provider manifest by using the specified version information. + The token information associated with the provider manifest. + + + When overridden in a derived class, returns an instance of a class that derives from the DbProviderManifest. + A DbProviderManifest object that represents the provider manifest. + The token information associated with the provider manifest. + + + + Gets the that will be used to execute methods that use the specified connection. + + The database connection + + A new instance of + + + + + Gets the that will be used to execute methods that use the specified connection. + This overload should be used by the derived classes for compatability with wrapping providers. + + The database connection + The provider invariant name + + A new instance of + + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + Gets the spatial services for the . + The spatial services. + Information about the database that the spatial services will be used for. + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The token information associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + Returns providers given a connection. + + The instanced based on the specified connection. + + Connection to provider. + + + Retrieves the DbProviderFactory based on the specified DbConnection. + The retrieved DbProviderFactory. + The connection to use. + + + + Return an XML reader which represents the CSDL description + + The name of the CSDL description. + An XmlReader that represents the CSDL description + + + Generates a data definition language (DDL script that creates schema objects (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + The provider manifest token identifying the target version. + The structure of the database. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Creates a database indicated by connection and creates schema objects + (tables, primary keys, foreign keys) based on the contents of storeItemCollection. + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Creates a database indicated by connection and creates schema objects (tables, primary keys, foreign keys) based on the contents of a StoreItemCollection. + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + Override this method to avoid creating the store item collection if it is not needed. The default implementation evaluates the Lazy and calls the other overload of this method. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + + Expands |DataDirectory| in the given path if it begins with |DataDirectory| and returns the expanded path, + or returns the given string if it does not start with |DataDirectory|. + + The path to expand. + The expanded path. + + + + Adds an that will be used to resolve additional default provider + services when a derived type is registered as an EF provider either using an entry in the application's + config file or through code-based registration in . + + The resolver to add. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + + Use this method to set, add, or change other provider-related services. Note that this method + will only be called for such services if they are not already explicitly configured in some + other way by the application. This allows providers to set default services while the + application is still able to override and explicitly configure each service if required. + See and for more details. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + An instance of the given type, or null if the service could not be resolved. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + All registered services that satisfy the given type and key, or an empty enumeration if there are none. + + + + A specialization of the ProviderManifest that accepts an XmlReader + + + + + Initializes a new instance of the class. + + + An object that provides access to the XML data in the provider manifest file. + + + + Gets the namespace name supported by this provider manifest. + The namespace name supported by this provider manifest. + + + Gets the best mapped equivalent Entity Data Model (EDM) type for a specified storage type name. + The best mapped equivalent EDM type for a specified storage type name. + + + Gets the best mapped equivalent storage primitive type for a specified storage type name. + The best mapped equivalent storage primitive type for a specified storage type name. + + + Returns the list of facet descriptions for the specified Entity Data Model (EDM) type. + + A collection of type that contains the list of facet descriptions for the specified EDM type. + + + An for which the facet descriptions are to be retrieved. + + + + Returns the list of primitive types supported by the storage provider. + + A collection of type that contains the list of primitive types supported by the storage provider. + + + + Returns the list of provider-supported functions. + + A collection of type that contains the list of provider-supported functions. + + + + + EntityRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new instance of the class of a specific entity type with an enumerable collection of data fields and with specific key and entity set information. + + + The of the entity represented by the + + described by this + + object. + + + An enumerable collection of objects that represent column information. + + The key for the entity. + The entity set to which the entity belongs. + + + + Gets the for the entity. + + The key for the entity. + + + + Public Entity SQL Parser class. + + + + Parse the specified query with the specified parameters. + + The containing + + and information describing inline function definitions if any. + + The EntitySQL query to be parsed. + The optional query parameters. + + + + Parse a specific query with a specific set variables and produce a + + . + + + The containing + + and information describing inline function definitions if any. + + The query to be parsed. + The optional query variables. + + + + Entity SQL query inline function definition, returned as a part of . + + + + Function name. + + + Function body and parameters. + + + Start position of the function definition in the eSQL query text. + + + End position of the function definition in the eSQL query text. + + + + Entity SQL Parser result information. + + + + A command tree produced during parsing. + + + + List of objects describing query inline function definitions. + + + + + FieldMetadata class providing the correlation between the column ordinals and MemberMetadata. + + + + + Initializes a new object with the specified ordinal value and field type. + + An integer specified the location of the metadata. + The field type. + + + + Gets the type of field for this object. + + + The type of field for this object. + + + + + Gets the ordinal for this object. + + An integer representing the ordinal value. + + + + Get the hierarchyid value of a column with the given ordinal + + The ordinal of the column to retrieve the value + The hierarchyid value + + + + Class representing a parameter collection used in EntityCommand + + + + + Gets an Integer that contains the number of elements in the + + . + + + The number of elements in the as an Integer. + + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true if the has a fixed size; otherwise false. + + + + + Gets a value that indicates whether the + + is read-only. + + + Returns true if the is read only; otherwise false. + + + + + Gets a value that indicates whether the + + is synchronized. + + + Returns true if the is synchronized; otherwise false. + + + + + Gets an object that can be used to synchronize access to the + + . + + + An object that can be used to synchronize access to the + + . + + + + + Adds the specified object to the . + + + The index of the new object. + + + An . + + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Removes all the objects from the + + . + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified one-dimensional + + starting at the specified destination index. + + + The one-dimensional that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the at which copying starts. + + + + + Returns an enumerator that iterates through the + + . + + + An for the + + . + + + + + + + + + + + Gets the location of the specified with the specified name. + + + The zero-based location of the specified with the specified case-sensitive name. Returns -1 when the object does not exist in the + + . + + + The case-sensitive name of the to find. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts an into the + + at the specified index. + + The zero-based index at which value should be inserted. + + An to be inserted in the + + . + + + + Removes the specified parameter from the collection. + + A object to remove from the collection. + + + + + Removes the from the + + at the specified index. + + + The zero-based index of the object to remove. + + + + + Removes the from the + + at the specified parameter name. + + + The name of the to remove. + + + + + + + + + + + Gets the at the specified index. + + + The at the specified index. + + The zero-based index of the parameter to retrieve. + The specified index does not exist. + + + + Gets the with the specified name. + + + The with the specified name. + + The name of the parameter to retrieve. + The specified name does not exist. + + + + Adds the specified object to the + + . + + + A new object. + + + The to add to the collection. + + + The specified in the value parameter is already added to this or another + + . + + + The parameter passed was not a . + + The value parameter is null. + + + + Adds a value to the end of the . + + + A object. + + The name of the parameter. + The value to be added. + + + + Adds a to the + + given the parameter name and the data type. + + + A new object. + + The name of the parameter. + + One of the values. + + + + + Adds a to the + + with the parameter name, the data type, and the column length. + + + A new object. + + The name of the parameter. + + One of the values. + + The column length. + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified + + starting at the specified destination index. + + + The that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the + + at which copying starts. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts a object into the + + at the specified index. + + The zero-based index at which value should be inserted. + + A object to be inserted in the + + . + + + + + Removes the specified from the collection. + + + A object to remove from the collection. + + + The parameter is not a . + + The parameter does not exist in the collection. + + + + Class representing a command for the conceptual layer + + + + + Initializes a new instance of the class using the specified values. + + + + + Initializes a new instance of the class with the specified statement. + + The text of the command. + + + + Constructs the EntityCommand object with the given eSQL statement and the connection object to use + + The eSQL command text to execute + The connection object + Resolver used to resolve DbProviderServices + + + + Initializes a new instance of the class with the specified statement and connection. + + The text of the command. + A connection to the data source. + + + + Initializes a new instance of the class with the specified statement, connection and transaction. + + The text of the command. + A connection to the data source. + The transaction in which the command executes. + + + + Gets or sets the used by the + + . + + The connection used by the entity command. + + + + The connection object used for executing the command + + + + Gets or sets an Entity SQL statement that specifies a command or stored procedure to execute. + The Entity SQL statement that specifies a command or stored procedure to execute. + + + Gets or sets the command tree to execute; only one of the command tree or the command text can be set, not both. + The command tree to execute. + + + Gets or sets the amount of time to wait before timing out. + The time in seconds to wait for the command to execute. + + + + Gets or sets a value that indicates how the + + property is to be interpreted. + + + One of the enumeration values. + + + + Gets the parameters of the Entity SQL statement or stored procedure. + The parameters of the Entity SQL statement or stored procedure. + + + + The collection of parameters for this command + + + + + Gets or sets the transaction within which the executes. + + + The transaction within which the executes. + + + + + The transaction that this command executes in + + + + Gets or sets how command results are applied to rows being updated. + + One of the values. + + + + Gets or sets a value that indicates whether the command object should be visible in a Windows Form Designer control. + true if the command object should be visible in a Windows Form Designer control; otherwise, false. + + + Gets or sets a value that indicates whether the query plan caching is enabled. + true if the query plan caching is enabled; otherwise, false. + + + + Cancels the execution of an . + + + + + Creates a new instance of an object. + + + A new instance of an object. + + + + + Create and return a new parameter object representing a parameter in the eSQL statement + + The parameter object. + + + Executes the command and returns a data reader. + + The that contains the results. + + + + + Compiles the into a command tree and passes it to the underlying store provider for execution, then builds an + + out of the produced result set using the specified + + . + + + The that contains the results. + + + One of the values. + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + A DbDataReader object + + + + Asynchronously executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + The token to monitor for cancellation requests + + A task that represents the asynchronous operation. + The task result contains a DbDataReader object. + + + + Executes the current command. + The number of rows affected. + + + + Asynchronously executes the command and discard any results returned from the command + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + Executes the command, and returns the first column of the first row in the result set. Additional columns or rows are ignored. + The first column of the first row in the result set, or a null reference (Nothing in Visual Basic) if the result set is empty. + + + Compiles the entity-level command and creates a prepared version of the command. + + + Compiles the entity-level command and returns the store command text. + The store command text. + + + + Class representing a connection for the conceptual layer. An entity connection may only + be initialized once (by opening the connection). It is subsequently not possible to change + the connection string, attach a new store connection, or change the store connection string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, based on the connection string. + + The provider-specific connection string. + An invalid connection string keyword has been provided, or a required connection string keyword has not been provided. + + + + Initializes a new instance of the class with a specified + and + . + + + A to be associated with this + . + + + The underlying data source connection for this object. + + The workspace or connection parameter is null. + The conceptual model is missing from the workspace.-or-The mapping file is missing from the workspace.-or-The storage model is missing from the workspace.-or-The connection is not in a closed state. + The connection is not from an ADO.NET Entity Framework-compatible provider. + + + + Constructs the EntityConnection from Metadata loaded in memory + + Workspace containing metadata information. + Store connection. + If set to true the store connection is disposed when the entity connection is disposed, otherwise the caller must dispose the store connection. + + + + Gets or sets the connection string. + + The connection string required to establish the initial connection to a data source. The default value is an empty string. On a closed connection, the currently set value is returned. If no value has been set, an empty string is returned. + + An attempt was made to set the property after the + + ’s was initialized. The + + is initialized either when the instance is constructed through the overload that takes a + + as a parameter, or when the + + instance has been opened. + + An invalid connection string keyword has been provided or a required connection string keyword has not been provided. + + + Gets the number of seconds to wait when attempting to establish a connection before ending the attempt and generating an error. + The time (in seconds) to wait for a connection to open. The default value is the underlying data provider's default time-out. + The value set is less than 0. + + + Gets the name of the current database, or the database that will be used after a connection is opened. + The value of the Database property of the underlying data provider. + The underlying data provider is not known. + + + + Gets the state of the EntityConnection, which is set up to track the state of the underlying + database connection that is wrapped by this EntityConnection. + + + + Gets the name or network address of the data source to connect to. + The name of the data source. The default value is an empty string. + The underlying data provider is not known. + + + Gets a string that contains the version of the data source to which the client is connected. + The version of the data source that is contained in the provider connection string. + The connection is closed. + + + + Gets the provider factory associated with EntityConnection + + + + + Provides access to the underlying data source connection that is used by the + + object. + + + The for the data source connection. + + + + + Returns the associated with this + + . + + + The associated with this + + . + + The inline connection string contains an invalid Metadata keyword value. + + + + Gets the current transaction that this connection is enlisted in. May be null. + + + + Establishes a connection to the data source by calling the underlying data provider's Open method. + An error occurs when you open the connection, or the name of the underlying data provider is not known. + The inline connection string contains an invalid Metadata keyword value. + + + + Asynchronously establishes a connection to the data store by calling the Open method on the underlying data provider + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a new instance of an , with the + + set to this + + . + + + An object. + + The name of the underlying data provider is not known. + + + + Create a new command object that uses this connection object + + The command object. + + + Closes the connection to the database. + An error occurred when closing the connection. + + + Not supported. + Not supported. + When the method is called. + + + Begins a transaction by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + Begins a transaction with the specified isolation level by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + The isolation level of the transaction. + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + + Begins a database transaction + + The isolation level of the transaction + An object representing the new transaction + + + + Enlists this in the specified transaction. + + The transaction object to enlist into. + + The state of the is not + + . + + + + + Cleans up this connection object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Class representing a connection string builder for the entity client provider + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the supplied connection string. + + A provider-specific connection string to the underlying data source. + + + Gets or sets the name of a section as defined in a configuration file. + The name of a section in a configuration file. + + + Gets or sets the name of the underlying .NET Framework data provider in the connection string. + The invariant name of the underlying .NET Framework data provider. + + + Gets or sets the metadata locations in the connection string. + Gets or sets the metadata locations in the connection string. + + + Gets or sets the inner, provider-specific connection string. + The inner, provider-specific connection string. + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true in every case, because the + + supplies a fixed-size collection of keyword/value pairs. + + + + + Gets an that contains the keys in the + + . + + + An that contains the keys in the + + . + + + + Gets or sets the value associated with the specified key. In C#, this property is the indexer. + The value associated with the specified key. + The key of the item to get or set. + keyword is a null reference (Nothing in Visual Basic). + Tried to add a key that does not exist in the available keys. + Invalid value in the connection string (specifically, a Boolean or numeric value was expected but not supplied). + + + + Clears the contents of the instance. + + + + + Determines whether the contains a specific key. + + + Returns true if the contains an element that has the specified key; otherwise, false. + + + The key to locate in the . + + + + + Retrieves a value corresponding to the supplied key from this + + . + + Returns true if keyword was found in the connection string; otherwise, false. + The key of the item to retrieve. + The value corresponding to keyword. + keyword contains a null value (Nothing in Visual Basic). + + + + Removes the entry with the specified key from the + + instance. + + Returns true if the key existed in the connection string and was removed; false if the key did not exist. + + The key of the keyword/value pair to be removed from the connection string in this + + . + + keyword is null (Nothing in Visual Basic) + + + + A data reader class for the entity client provider + + + + Gets a value indicating the depth of nesting for the current row. + The depth of nesting for the current row. + + + Gets the number of columns in the current row. + The number of columns in the current row. + + + + Gets a value that indicates whether this contains one or more rows. + + + true if the contains one or more rows; otherwise, false. + + + + + Gets a value indicating whether the is closed. + + + true if the is closed; otherwise, false. + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + The number of rows changed, inserted, or deleted. Returns -1 for SELECT statements; 0 if no rows were affected or the statement failed. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The name of the column. + + + + Gets the number of fields in the that are not hidden. + + The number of fields that are not hidden. + + + + Gets for this + + . + + The information of a data record. + + + + Closes the object. + + + + + Releases the resources consumed by this and calls + + . + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the value of the specified column as a Boolean. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a byte. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of bytes from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of bytes read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the value of the specified column as a single character. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of characters from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of characters read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the name of the data type of the specified column. + The name of the data type. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + + Returns a object for the requested column ordinal that can be overridden with a provider-specific implementation. + + A data reader. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a double-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the data type of the specified column. + The data type of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a single-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a globally-unique identifier (GUID). + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 16-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 32-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 64-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the name of the column, given the zero-based column ordinal. + The name of the specified column. + The zero-based column ordinal. + + + Gets the column ordinal given the name of the column. + The zero-based column ordinal. + The name of the column. + The name specified is not a valid column name. + + + Returns the provider-specific field type of the specified column. + + The object that describes the data type of the specified column. + + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Gets all provider-specific attribute columns in the collection for the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + + Returns a that describes the column metadata of the + + . + + + A that describes the column metadata. + + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Populates an array of objects with the column values of the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + Gets a value that indicates whether the column contains nonexistent or missing values. + + true if the specified column is equivalent to ; otherwise, false. + + The zero-based column ordinal. + + + Advances the reader to the next result when reading the results of a batch of statements. + true if there are more result sets; otherwise, false. + + + + Asynchronously moves the reader to the next result set when reading a batch of statements + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more result sets; false otherwise. + + + + Advances the reader to the next record in a result set. + true if there are more rows; otherwise, false. + + + + Asynchronously moves the reader to the next row of the current result set + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more rows; false otherwise. + + + + + Returns an that can be used to iterate through the rows in the data reader. + + + An that can be used to iterate through the rows in the data reader. + + + + + Returns a nested . + + The nested data record. + The number of the DbDataRecord to return. + + + + Returns nested readers as objects. + + + The nested readers as objects. + + The ordinal of the column. + + + + Class representing a parameter used in EntityCommand + + + + + Initializes a new instance of the class using the default values. + + + + + Initializes a new instance of the class using the specified parameter name and data type. + + The name of the parameter. + + One of the values. + + + + + Initializes a new instance of the class using the specified parameter name, data type and size. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + The name of the source column. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + One of the values. + + true to indicate that the parameter accepts null values; otherwise, false. + The number of digits used to represent the value. + The number of decimal places to which value is resolved. + The name of the source column. + + One of the values. + + The value of the parameter. + + + Gets or sets the name of the entity parameter. + The name of the entity parameter. + + + + Gets or sets the of the parameter. + + + One of the values. + + + + Gets or sets the type of the parameter, expressed as an EdmType. + The type of the parameter, expressed as an EdmType. + + + + Gets or sets the number of digits used to represent the + + property. + + The number of digits used to represent the value. + + + + Gets or sets the number of decimal places to which + + is resolved. + + The number of decimal places to which value is resolved. + + + Gets or sets the value of the parameter. + The value of the parameter. + + + Gets or sets the direction of the parameter. + + One of the values. + + + + Gets or sets a value that indicates whether the parameter accepts null values. + true if null values are accepted; otherwise, false. + + + Gets or sets the maximum size of the data within the column. + The maximum size of the data within the column. + + + + Gets or sets the name of the source column mapped to the and used for loading or returning the + + . + + The name of the source column mapped to the dataset and used for loading or returning the value. + + + Gets or sets a value that indicates whether source column is nullable. + true if source column is nullable; otherwise, false. + + + + Gets or sets the to use when loading the value. + + + One of the values. + + + + + Resets the type associated with the . + + + + Returns a string representation of the parameter. + A string representation of the parameter. + + + + Class representing a provider factory for the entity client provider + + + + + A singleton object for the entity client provider factory object. + This remains a public field (not property) because DbProviderFactory expects a field. + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + This method is currently not supported. + + + + Returns the requested class. + + + A new instance of . The supported types are + + , + + , and + + . Returns null (or Nothing in Visual Basic) for every other type. + + + The to return. + + + + + Class representing a transaction for the conceptual layer + + + + + Gets for this + + . + + + An to the underlying data source. + + + + + The connection object owning this transaction object + + + + + Gets the isolation level of this . + + + An enumeration value that represents the isolation level of the underlying transaction. + + + + + Gets the DbTransaction for the underlying provider transaction. + + + + Commits the underlying transaction. + + + Rolls back the underlying transaction. + + + + Cleans up this transaction object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Represents a failure while trying to prepare or execute a CommandCompilation + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a failure while trying to prepare or execute a CommandExecution + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provider exception - Used by the entity client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An identifier for an entity. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an entity set name and a generic + + collection. + + + A that is the entity set name qualified by the entity container name. + + + A generic collection.Each key/value pair has a property name as the key and the value of that property as the value. There should be one pair for each property that is part of the + + . The order of the key/value pairs is not important, but each key property should be included. The property names are simple names that are not qualified with an entity type name or the schema name. + + + + + Initializes a new instance of the class with an entity set name and an + + collection of + + objects. + + + A that is the entity set name qualified by the entity container name. + + + An collection of + + objects with which to initialize the key. + + + + + Initializes a new instance of the class with an entity set name and specific entity key pair. + + + A that is the entity set name qualified by the entity container name. + + + A that is the name of the key. + + + An that is the key value. + + + + + Gets a singleton EntityKey by which a read-only entity is identified. + + + + + Gets a singleton EntityKey identifying an entity resulted from a failed TREAT. + + + + Gets or sets the name of the entity set. + + A value that is the name of the entity set for the entity to which the + + belongs. + + + + Gets or sets the name of the entity container. + + A value that is the name of the entity container for the entity to which the + + belongs. + + + + + Gets or sets the key values associated with this . + + + A of key values for this + + . + + + + + Gets a value that indicates whether the is temporary. + + + true if the is temporary; otherwise, false. + + + + Gets the entity set for this entity key from the given metadata workspace. + + The for the entity key. + + The metadata workspace that contains the entity. + The entity set could not be located in the specified metadata workspace. + + + Returns a value that indicates whether this instance is equal to a specified object. + true if this instance and obj have equal values; otherwise, false. + + An to compare with this instance. + + + + + Returns a value that indicates whether this instance is equal to a specified + + . + + true if this instance and other have equal values; otherwise, false. + + An object to compare with this instance. + + + + + Serves as a hash function for the current object. + + is suitable for hashing algorithms and data structures such as a hash table. + + + A hash code for the current . + + + + + Compares two objects. + + true if the key1 and key2 values are equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Compares two objects. + + true if the key1 and key2 values are not equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream and provides an additional caller-defined context. + + + + Information about a key that is part of an EntityKey. + A key member contains the key name and value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified entity key pair. + + The name of the key. + The key value. + + + Gets or sets the name of the entity key. + The key name. + + + Gets or sets the value of the entity key. + The key value. + + + Returns a string representation of the entity key. + A string representation of the entity key. + + + + Represents an eSQL Query compilation exception; + The class of exceptional conditions that may cause this exception to be raised are mainly: + 1) Syntax Errors: raised during query text parsing and when a given query does not conform to eSQL formal grammar; + 2) Semantic Errors: raised when semantic rules of eSQL language are not met such as metadata or schema information + not accurate or not present, type validation errors, scoping rule violations, user of undefined variables, etc. + For more information, see eSQL Language Spec. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Gets a description of the error. + A string that describes the error. + + + Gets the approximate context where the error occurred, if available. + A string that describes the approximate context where the error occurred, if available. + + + Gets the approximate line number where the error occurred. + An integer that describes the line number where the error occurred. + + + Gets the approximate column number where the error occurred. + An integer that describes the column number where the error occurred. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + DataRecord interface supporting structured types and rich metadata information. + + + + + Gets for this + + . + + + A object. + + + + + Gets a object with the specified index. + + + A object. + + The index of the row. + + + + Returns nested readers as objects. + + + Nested readers as objects. + + The ordinal of the column. + + + + Thrown to indicate that a command tree is invalid. + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Mapping exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents the Mapping metadata for an AssociationSet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the AssociationSetMapping elements in the + above example. And it is possible to access the AssociationTypeMap underneath it. + There will be only one TypeMap under AssociationSetMap. + + + + + Initializes a new AssociationSetMapping instance. + + The association set to be mapped. + The store entity set to be mapped. + The parent container mapping. + + + + Gets the association set that is mapped. + + + + + Gets the contained association type mapping. + + + + + Gets or sets the corresponding function mapping. Can be null. + + + + + Gets the store entity set that is mapped. + + + + + Gets or sets the source end property mapping. + + + + + Gets or sets the target end property mapping. + + + + + Gets the property mapping conditions. + + + + + Adds a property mapping condition. + + The condition to add. + + + + Removes a property mapping condition. + + The property mapping condition to remove. + + + + Describes modification function mappings for an association set. + + + + + Initializes a new AssociationSetModificationFunctionMapping instance. + + An association set. + A delete function mapping. + An insert function mapping. + + + + Gets the association set. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + + + + Represents the Mapping metadata for an association type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all association Type map elements in the + above example. Users can access the table mapping fragments under the + association type mapping through this class. + + + + + Creates an AssociationTypeMapping instance. + + The AssociationSetMapping that + the contains this AssociationTypeMapping. + + + + Gets the AssociationSetMapping that contains this AssociationTypeMapping. + + + + + Gets the association type being mapped. + + + + + Gets the single mapping fragment. + + + + + Mapping metadata for Complex properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the complex property map elements in the + above example. ComplexPropertyMaps contain ComplexTypeMaps which define mapping based + on the type of the ComplexProperty in case of inheritance. + + + + + Construct a new Complex Property mapping object + + The MemberMetadata object that represents this Complex member + + + + Gets a read only collections of type mappings corresponding to the + nested complex types. + + + + + Adds a type mapping corresponding to a nested complex type. + + The complex type mapping to be added. + + + + Removes a type mapping corresponding to a nested complex type. + + The complex type mapping to be removed. + + + + Mapping metadata for Complex Types. + + + + + Creates a ComplexTypeMapping instance. + + The ComplexType being mapped. + + + + Gets the ComplexType being mapped. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Mapping metadata for Conditional property mapping on a type. + Condition Property Mapping specifies a Condition either on the C side property or S side property. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the condition property map elements in the + above example. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Mapping metadata for End property of an association. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the end property map elements in the + above example. EndPropertyMaps provide mapping for each end of the association. + + + + + Creates an association end property mapping. + + An AssociationEndMember that specifies + the association end to be mapped. + + + + Gets an AssociationEndMember that specifies the mapped association end. + + + + + Gets a ReadOnlyCollection of ScalarPropertyMapping that specifies the children + of this association end property mapping. + + + + + Adds a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be added. + + + + Removes a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be removed. + + + + Represents the Mapping metadata for the EntityContainer map in CS space. + Only one EntityContainerMapping element is allowed in the MSL file for CS mapping. + + + For Example if conceptually you could represent the CS MSL file as following + ---Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --AssociationSetMapping + The type represents the metadata for EntityContainerMapping element in the above example. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + We currently assume that an Entity Container on the C side + is mapped to a single Entity Container in the S - space. + + + + + Initializes a new EntityContainerMapping instance. + + The conceptual entity container to be mapped. + The store entity container to be mapped. + The parent mapping item collection. + Flag indicating whether to generate update views. + + + + Gets the parent mapping item collection. + + + + + Gets the type kind for this item + + + + + Gets the conceptual entity container. + + + + + Gets the store entity container. + + + + + Gets the entity set mappings. + + + + + Gets the association set mappings. + + + + + Gets the function import mappings. + + + + + Gets a flag that indicates whether to generate the update views or not. + + + + + Adds an entity set mapping. + + The entity set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds an association set mapping. + + The association set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds a function import mapping. + + The function import mapping to add. + + + + Removes a function import mapping. + + The function import mapping to remove. + + + + Represents the Mapping metadata for an Extent in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for all the extent map elements in the + above example namely EntitySetMapping, AssociationSetMapping and CompositionSetMapping. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + + + Gets the parent container mapping. + + + + + Gets or sets the query view associated with this mapping. + + + + + Represents the Mapping metadata for an EntitySet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the EntitySetMapping elements in the + above example. And it is possible to access the EntityTypeMaps underneath it. + + + + + Initializes a new EntitySetMapping instance. + + The entity set to be mapped. + The parent container mapping. + + + + Gets the entity set that is mapped. + + + + + Gets the contained entity type mappings. + + + + + Gets the corresponding function mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Adds a function mapping. + + The function mapping to add. + + + + Removes a function mapping. + + The function mapping to remove. + + + + Mapping metadata for Entity type. + If an EntitySet represents entities of more than one type, than we will have + more than one EntityTypeMapping for an EntitySet( For ex : if + PersonSet Entity extent represents entities of types Person and Customer, + than we will have two EntityType Mappings under mapping for PersonSet). + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all entity Type map elements in the + above example. Users can access the table mapping fragments under the + entity type mapping through this class. + + + + + Creates an EntityTypeMapping instance. + + The EntitySetMapping that contains this EntityTypeMapping. + + + + Gets the EntitySetMapping that contains this EntityTypeMapping. + + + + + Gets the single EntityType being mapped. Throws exception in case of hierarchy type mapping. + + + + + Gets a flag that indicates whether this is a type hierarchy mapping. + + + + + Gets a read-only collection of mapping fragments. + + + + + Gets the mapped entity types. + + + + + Gets the mapped base types for a hierarchy mapping. + + + + + Adds an entity type to the mapping. + + The EntityType to be added. + + + + Removes an entity type from the mapping. + + The EntityType to be removed. + + + + Adds an entity type hierarchy to the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be added. + + + + Removes an entity type hierarchy from the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be removed. + + + + Adds a mapping fragment. + + The mapping fragment to be added. + + + + Removes a mapping fragment. + + The mapping fragment to be removed. + + + + Describes modification function mappings for an entity type within an entity set. + + + + + Initializes a new EntityTypeModificationFunctionMapping instance. + + An entity type. + A delete function mapping. + An insert function mapping. + An updated function mapping. + + + + Gets the entity type. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + Gets the update function mapping. + + + + + + + + Base class for the type created at design time to store the generated views. + + + + Returns the key/value pair at the specified index, which contains the view and its key. + The key/value pair at index , which contains the view and its key. + The index of the view. + + + + Gets or sets the name of . + + The container name. + + + + Gets or sets in storage schema. + + Container name. + + + Hash value. + Hash value. + + + Hash value of views. + Hash value. + + + Gets or sets view count. + View count. + + + + Attribute to mark the assemblies that contain the generated views type. + + + + + Initializes a new instance of the class. + + The view type. + + + Gets the T:System.Type of the view. + The T:System.Type of the view. + + + + Represents a complex type mapping for a function import result. + + + + + Initializes a new FunctionImportComplexTypeMapping instance. + + The return type. + The property mappings for the result type of a function import. + + + + Ges the return type. + + + + + Represents a function import entity type mapping. + + + + + Initializes a new FunctionImportEntityTypeMapping instance. + + The entity types at the base of + the type hierarchies to be mapped. + The entity types to be mapped. + The property mappings for the result types of a function import. + The mapping conditions. + + + + Gets the entity types being mapped. + + + + + Gets the entity types at the base of the hierarchies being mapped. + + + + + Gets the mapping conditions. + + + + + Represents a mapping condition for a function import result. + + + + + Gets the name of the column used to evaluate the condition. + + + + + + + + Represents a mapping condition for the result of a function import + evaluated by checking null or not null. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionIsNull instance. + + The name of the column used to evaluate the condition. + Flag that indicates whether a null or not null check is performed. + + + + Gets a flag that indicates whether a null or not null check is performed. + + + + + Represents a mapping condition for the result of a function import, + evaluated by comparison with a specified value. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionValue instance. + + The name of the column used to evaluate the condition. + The value to compare with. + + + + Gets the value used for comparison. + + + + + Represents a mapping from a model function import to a store composable or non-composable function. + + + + + Gets model function (or source of the mapping) + + + + + Gets store function (or target of the mapping) + + + + + Represents a mapping from a model function import to a store composable function. + + + + + Initializes a new FunctionImportMappingComposable instance. + + The model function import. + The store composable function. + The result mapping for the function import. + The parent container mapping. + + + + Gets the result mapping for the function import. + + + + + Represents a mapping from a model function import to a store non-composable function. + + + + + Initializes a new FunctionImportMappingNonComposable instance. + + The model function import. + The store non-composable function. + The function import result mappings. + The parent container mapping. + + + + Gets the function import result mappings. + + + + + Represents a result mapping for a function import. + + + + + Gets the type mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Base class for mapping a property of a function import return type. + + + + + Maps a function import return type property to a table column. + + + + + Initializes a new FunctionImportReturnTypeScalarPropertyMapping instance. + + The mapped property name. + The mapped column name. + + + + Gets the mapped property name. + + + + + Gets the mapped column name. + + + + + Specifies a function import structural type mapping. + + + + + Gets the property mappings for the result type of a function import. + + + + + Specifies a mapping condition evaluated by checking whether the value + of the a property/column is null or not null. + + + + + Creates an IsNullConditionMapping instance. + + An EdmProperty that specifies a property or column. + A boolean that indicates whether to perform a null or a not-null check. + + + + Gets a bool that specifies whether the condition is evaluated by performing a null check + or a not-null check. + + + + + Represents the base item class for all the mapping metadata + + + + + Represents the metadata for mapping fragment. + A set of mapping fragments makes up the Set mappings( EntitySet, AssociationSet or CompositionSet ) + Each MappingFragment provides mapping for those properties of a type that map to a single table. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the mapping fragment elements in the + above example. Users can access all the top level constructs of + MappingFragment element like EntityKey map, Property Maps, Discriminator + property through this mapping fragment class. + + + + + Creates a MappingFragment instance. + + The EntitySet corresponding to the table of view being mapped. + The TypeMapping that contains this MappingFragment. + Flag that indicates whether to include 'DISTINCT' when generating queries. + + + + Gets the EntitySet corresponding to the table or view being mapped. + + + + + Gets the TypeMapping that contains this MappingFragment. + + + + + Gets a flag that indicates whether to include 'DISTINCT' when generating queries. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Base class for items in the mapping space (DataSpace.CSSpace) + + + + + Class for representing a collection of mapping items in Edm space. + + + + + Describes modification function binding for change processing of entities or associations. + + + + + Initializes a new ModificationFunctionMapping instance. + + The entity or association set. + The entity or association type. + The metadata of function to which we should bind. + Bindings for function parameters. + The output parameter producing number of rows affected. + Bindings for the results of function evaluation + + + + Gets output parameter producing number of rows affected. May be null. + + + + + Gets Metadata of function to which we should bind. + + + + + Gets bindings for function parameters. + + + + + Gets bindings for the results of function evaluation. + + + + + + + + Describes the location of a member within an entity or association type structure. + + + + + Initializes a new ModificationFunctionMemberPath instance. + + Gets the members in the path from the leaf (the member being bound) + to the root of the structure. + Gets the association set to which we are navigating + via this member. If the value is null, this is not a navigation member path. + + + + Gets the members in the path from the leaf (the member being bound) + to the Root of the structure. + + + + + Gets the association set to which we are navigating via this member. If the value + is null, this is not a navigation member path. + + + + + + + + Binds a modification function parameter to a member of the entity or association being modified. + + + + + Initializes a new ModificationFunctionParameterBinding instance. + + The parameter taking the value. + The path to the entity or association member defining the value. + A flag indicating whether the current or original member value is being bound. + + + + Gets the parameter taking the value. + + + + + Gets the path to the entity or association member defining the value. + + + + + Gets a flag indicating whether the current or original + member value is being bound. + + + + + + + + Defines a binding from a named result set column to a member taking the value. + + + + + Initializes a new ModificationFunctionResultBinding instance. + + The name of the column to bind from the function result set. + The property to be set on the entity. + + + + Gets the name of the column to bind from the function result set. + + + + + Gets the property to be set on the entity. + + + + + + + + Mapping metadata for all types of property mappings. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all property map elements in the + above example. This includes the scalar property maps, complex property maps + and end property maps. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Mapping metadata for scalar properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the scalar property map elements in the + above example. + + + + + Creates a mapping between a simple property and a column. + + The property to be mapped. + The column to be mapped. + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Represents a collection of items in Storage Mapping (CS Mapping) space. + + + + Initializes a new instance of the class using the specified , and a collection of string indicating the metadata file paths. + The that this mapping is to use. + The that this mapping is to use. + The file paths that this mapping is to use. + + + Initializes a new instance of the class using the specified , and XML readers. + The that this mapping is to use. + The that this mapping is to use. + The XML readers that this mapping is to use. + + + + Gets or sets a for creating instances + that are used to retrieve pre-generated mapping views. + + + + Gets the version of this represents. + The version of this represents. + + + + Computes a hash value for the container mapping specified by the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A string that specifies the computed hash value. + + + + Computes a hash value for the single container mapping in the collection. + + A string that specifies the computed hash value. + + + + Creates a dictionary of (extent, generated view) for a container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Creates a dictionary of (extent, generated view) for the single container mapping + in the collection. + + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Factory method that creates a . + + + The edm metadata collection to map. Must not be null. + + + The store metadata collection to map. Must not be null. + + + MSL artifacts to load. Must not be null. + + + Paths to MSL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Specifies a structural type mapping. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Represents the Mapping metadata for a type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all the Type map elements in the + above example namely EntityTypeMapping, AssociationTypeMapping and CompositionTypeMapping. + The TypeMapping elements contain TableMappingFragments which in turn contain the property maps. + + + + + Specifies a mapping condition evaluated by comparing the value of + a property or column with a given value. + + + + + Creates a ValueConditionMapping instance. + + An EdmProperty that specifies a property or column. + An object that specifies the value to compare with. + + + + Gets an object that specifies the value to check against. + + + + + metadata exception class + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Represents a end of a Association Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Creates a read-only AssociationEndMember instance. + + The name of the association end member. + The reference type for the end. + The multiplicity of the end. + Flag that indicates the delete behavior of the end. + Metadata properties to be associated with the instance. + The newly created AssociationEndMember instance. + The specified name is null or empty. + The specified reference type is null. + + + + Class for representing an Association set + + + + + Gets the association related to this . + + + An object that represents the association related to this + + . + + + + + Gets the ends of this . + + + A collection of type that contains the ends of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents built-in type kind for this + + . + + + + + Creates a read-only AssociationSet instance from the specified parameters. + + The name of the association set. + The association type of the elements in the association set. + The entity set for the source association set end. + The entity set for the target association set end. + Metadata properties to be associated with the instance. + The newly created AssociationSet instance. + The specified name is null or empty. + The specified association type is null. + + The entity type of one of the ends of the specified + association type does not match the entity type of the corresponding entity set end. + + + + + Class representing a AssociationSet End + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the parent association set of this . + + + An object that represents the parent association set of this + + . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the End member that this object corresponds to. + + + An object that represents the End member that this + + object corresponds to. + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the name of the End for this . + + + The name of the End for this . + + + + + Gets the name of the End role for this . + + + The name of the End role for this . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + Gets the entity set referenced by this End role. + + An object that represents the entity set referred by this End role. + + + + + Returns the name of the End role for this . + + + The name of the End role for this . + + + + + Describes an association/relationship between two entities in the conceptual model or a foreign key relationship + between two tables in the store model. In the conceptual model the dependant class may or may not define a foreign key property. + If a foreign key is defined the property will be true and the property will contain details of the foreign keys + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of ends for this . + + + A collection of type that contains the list of ends for this + + . + + + + Gets or sets the referential constraint. + The referential constraint. + + + + Gets the list of constraints for this . + + + A collection of type that contains the list of constraints for this + + . + + + + Gets the Boolean property value that specifies whether the column is a foreign key. + A Boolean value that specifies whether the column is a foreign key. If true, the column is a foreign key. If false (default), the column is not a foreign key. + + + + Creates a read-only AssociationType instance from the specified parameters. + + The name of the association type. + The namespace of the association type. + Flag that indicates a foreign key (FK) relationship. + The data space for the association type. + The source association end member. + The target association end member. + A referential constraint. + Metadata properties to be associated with the instance. + The newly created AssociationType instance. + The specified name is null or empty. + The specified namespace is null or empty. + + + + List of all the built in types + + + + + Association Type Kind + + + + + AssociationSetEnd Kind + + + + + AssociationSet Kind + + + + + Association Type Kind + + + + + EntitySetBase Kind + + + + + Entity Type Base Kind + + + + + Collection Type Kind + + + + + Collection Kind + + + + + Complex Type Kind + + + + + Documentation Kind + + + + + DeleteAction Type Kind + + + + + Edm Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Enumeration Type Kind + + + + + Enum Member Kind + + + + + Facet Kind + + + + + EdmFunction Kind + + + + + Function Parameter Kind + + + + + Global Item Type Kind + + + + + Metadata Property Kind + + + + + Navigation Property Kind + + + + + Metadata Item Type Kind + + + + + EdmMember Type Kind + + + + + Parameter Mode Kind + + + + + Primitive Type Kind + + + + + Primitive Type Kind Kind + + + + + EdmProperty Type Kind + + + + + ProviderManifest Type Kind + + + + + Referential Constraint Type Kind + + + + + Ref Type Kind + + + + + RelationshipEnd Type Kind + + + + + Relationship Multiplicity Type Kind + + + + + Relationship Set Type Kind + + + + + Relationship Type + + + + + Row Type Kind + + + + + Simple Type Kind + + + + + Structural Type Kind + + + + + Type Information Kind + + + + + Kind of collection (applied to Properties) + + + + + Property is not a Collection + + + + + Collection has Bag semantics( unordered and duplicates ok) + + + + + Collection has List semantics + (Order is deterministic and duplicates ok) + + + + + Represents the Edm Collection Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + The instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + + + Represents the Edm Complex Type. This can be used to configure complex types + from a conceptual-space model-based convention. Complex types are not supported in the store model. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Creates a new instance of the type. + + The name of the complex type. + The namespace of the complex type. + The dataspace to which the complex type belongs to. + Members of the complex type. + Metadata properties to be associated with the instance. + Thrown if either name, namespace or members argument is null. + + A new instance a the type. + + + The newly created will be read only. + + + + + The concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Serializes an that conforms to the restrictions of a single + CSDL schema file to an XML writer. The model to be serialized must contain a single + . + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the XmlWriter. + + + The EdmModel to serialize. + + The XmlWriter to serialize to. + The serialized model's namespace. + true if the model is valid; otherwise, false. + + + + Information about an error that occurred processing an Entity Framework model. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + DataSpace + + + + + OSpace indicates the item in the clr space + + + + + CSpace indicates the item in the CSpace - edm primitive types + + types defined in csdl + + + + + SSpace indicates the item in the SSpace + + + + + Mapping between OSpace and CSpace + + + + + Mapping between CSpace and SSpace + + + + + Extension methods for . + + + + + Gets the conceptual model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the conceptual model. + + + + Gets the store model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the store model. + + + + Class representing the Documentation associated with an item + + + + + Initializes a new Documentation instance. + + A summary string. + A long description string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the summary for this . + + + The summary for this . + + + + + Gets the long description for this . + + + The long description for this . + + + + + Gets a value indicating whether this object contains only a null or an empty + + and a + + . + + + true if this object contains only a null or an empty + + and a + + ; otherwise, false. + + + + + Returns the summary for this . + + + The summary for this . + + + + + This class encapsulates the error information for a generic EDM error. + + + + Gets the error message. + The error message. + + + + Class for representing a function + + + + + Gets the built-in type kind for this . + + + One of the enumeration values of the enumeration. + + + + Returns the full name (namespace plus name) of this type. + The full name of the type. + + + + Gets the parameters of this . + + + A collection of type that contains the parameters of this + + . + + + + + Adds a parameter to this function. + + The parameter to be added. + + + + Gets the return parameter of this . + + + A object that represents the return parameter of this + + . + + + + + Gets the return parameters of this . + + + A collection of type that represents the return parameters of this + + . + + + + Gets the store function name attribute of this function. + + + Gets the parameter type semantics attribute of this function. + + + Gets the aggregate attribute of this function. + + + + Gets a value indicating whether built in attribute is present on this function. + + + true if the attribute is present; otherwise, false. + + + + + Gets a value indicating whether this instance is from the provider manifest. + + + true if this instance is from the provider manifest; otherwise, false. + + + + + Gets a value indicating whether the is a niladic function (a function that accepts no arguments). + + + true if the function is niladic; otherwise, false. + + + + Gets whether this instance is mapped to a function or to a stored procedure. + true if this instance is mapped to a function; false if this instance is mapped to a stored procedure. + + + Gets a query in the language that is used by the database management system or storage model. + + A string value in the syntax used by the database management system or storage model that contains the query or update statement of the + + . + + + + Gets or sets the schema associated with the function. + The schema associated with the function. + + + + The factory method for constructing the object. + + The name of the function. + The namespace of the function. + The namespace the function belongs to. + Additional function attributes and properties. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the type. + + + + + Contains additional attributes and properties of the + + + Note that objects are short lived and exist only to + make initialization easier. Instance of this type are not + compared to each other and arrays returned by array properties are copied to internal + collections in the ctor. Therefore it is fine to suppress the + Code Analysis messages. + + + + Gets or sets the function schema. + The function schema. + + + Gets or sets the store function name. + The store function name. + + + Gets or sets the command text associated with the function. + The command text associated with the function. + + + Gets or sets the entity sets for the function. + The entity sets for the function. + + + Gets a value that indicates whether this is an aggregate function. + true if this is an aggregate function; otherwise, false. + + + Gets or sets whether this function is a built-in function. + true if this function is a built-in function; otherwise, false. + + + Gets or sets whether the function contains no arguments. + true if the function contains no arguments; otherwise, false. + + + Gets or sets whether this function can be composed. + true if this function can be composed; otherwise, false. + + + Gets or sets whether this function is from a provider manifest. + true if this function is from a provider manifest; otherwise, false. + + + Gets or sets whether this function is a cached store function. + true if this function is a cached store function; otherwise, false. + + + Gets or sets whether this function is a function import. + true if this function is a function import; otherwise, false. + + + Gets or sets the return parameters. + The return parameters. + + + Gets or sets the parameter type semantics. + The parameter type semantics. + + + Gets or sets the function parameters. + The function parameters. + + + + Class for representing a collection of items in Edm space. + + + + + Initializes a new instance of the class by using the collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + The collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + + Initializes a new instance of the class. + The entity data model. + + + + Initializes a new instance of the class by using the paths where the conceptual schema definition language (CSDL) files exist. + + The paths where the conceptual schema definition language (CSDL) files exist. + + + Gets the conceptual model version for this collection. + The conceptual model version for this collection. + + + + Returns a collection of the objects. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + + + + Returns a collection of the objects with the specified conceptual model version. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + The conceptual model version. + + + + Factory method that creates an . + + + CSDL artifacts to load. Must not be null. + + + Paths to CSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the edm member class + + + + + Gets or sets the name of the property. Setting this from a store-space model-convention will change the name of the database + column for this property. In the conceptual model, this should align with the corresponding property from the entity class + and should not be changed. + + The name of this member. + + + Gets the type on which this member is declared. + + A object that represents the type on which this member is declared. + + + + + Gets the instance of the class that contains both the type of the member and facets for the type. + + + A object that contains both the type of the member and facets for the type. + + + + Returns the name of this member. + The name of this member. + + + + Tells whether this member is marked as a Computed member in the EDM definition + + + + + Tells whether this member's Store generated pattern is marked as Identity in the EDM definition + + + + + Represents a conceptual or store model. This class can be used to access information about the shape of the model + and the way the that it has been configured. + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + + Gets the data space associated with the model, which indicates whether + it is a conceptual model (DataSpace.CSpace) or a store model (DataSpace.SSpace). + + + + + Gets the association types in the model. + + + + + Gets the complex types in the model. + + + + + Gets the entity types in the model. + + + + + Gets the enum types in the model. + + + + + Gets the functions in the model. + + + + + Gets the container that stores entity and association sets, and function imports. + + + + Gets the global items associated with the model. + The global items associated with the model. + + + + Adds an association type to the model. + + The AssociationType instance to be added. + + + + Adds a complex type to the model. + + The ComplexType instance to be added. + + + + Adds an entity type to the model. + + The EntityType instance to be added. + + + + Adds an enumeration type to the model. + + The EnumType instance to be added. + + + + Adds a function to the model. + + The EdmFunction instance to be added. + + + + Removes an association type from the model. + + The AssociationType instance to be removed. + + + + Removes a complex type from the model. + + The ComplexType instance to be removed. + + + + Removes an entity type from the model. + + The EntityType instance to be removed. + + + + Removes an enumeration type from the model. + + The EnumType instance to be removed. + + + + Removes a function from the model. + + The EdmFunction instance to be removed. + + + + In conceptual-space, EdmProperty represents a property on an Entity. + In store-space, EdmProperty represents a column in a table. + + + + Creates a new primitive property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new enum property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new complex property. + The newly created property. + The name of the property. + The type of the property. + + + + Creates a new instance of EdmProperty type. + + Name of the property. + + Property + + A new instance of EdmProperty type + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a value indicating whether this can have a null value. + + + Nullability in the conceptual model and store model is a simple indication of whether or not + the property is considered nullable. Nullability in the object model is more complex. + When using convention based mapping (as usually happens with POCO entities), a property in the + object model is considered nullable if and only if the underlying CLR type is nullable and + the property is not part of the primary key. + When using attribute based mapping (usually used with entities that derive from the EntityObject + base class), a property is considered nullable if the IsNullable flag is set to true in the + attribute. This flag can + be set to true even if the underlying type is not nullable, and can be set to false even if the + underlying type is nullable. The latter case happens as part of default code generation when + a non-nullable property in the conceptual model is mapped to a nullable CLR type such as a string. + In such a case, the Entity Framework treats the property as non-nullable even though the CLR would + allow null to be set. + There is no good reason to set a non-nullable CLR type as nullable in the object model and this + should not be done even though the attribute allows it. + + + true if this can have a null value; otherwise, false. + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets the type name of the property. + The type name of the property. + + + + Gets the default value for this . + + + The default value for this . + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets whether the property is a collection type property. + true if the property is a collection type property; otherwise, false. + + + Gets whether this property is a complex type property. + true if this property is a complex type property; otherwise, false. + + + Gets whether this property is a primitive type. + true if this property is a primitive type; otherwise, false. + + + Gets whether this property is an enumeration type property. + true if this property is an enumeration type property; otherwise, false. + + + Gets whether this property is an underlying primitive type. + true if this property is an underlying primitive type; otherwise, false. + + + Gets the complex type information for this property. + The complex type information for this property. + + + Gets the primitive type information for this property. + The primitive type information for this property. + + + Gets the enumeration type information for this property. + The enumeration type information for this property. + + + Gets the underlying primitive type information for this property. + The underlying primitive type information for this property. + + + Gets or sets the concurrency mode for the property. + The concurrency mode for the property. + + + Gets or sets the database generation method for the database column associated with this property + The store generated pattern for the property. + + + Gets or sets the kind of collection for this model. + The kind of collection for this model. + + + Gets whether the maximum length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the maximum length of the property. + The maximum length of the property. + + + Gets or sets whether this property uses the maximum length supported by the provider. + true if this property uses the maximum length supported by the provider; otherwise, false. + + + Gets whether the fixed length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether the length of this property is fixed. + true if the length of this property is fixed; otherwise, false. + + + Gets whether the Unicode facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether this property is a Unicode property. + true if this property is a Unicode property; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the precision of this property. + The precision of this property. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the scale of this property. + The scale of this property. + + + Sets the metadata properties. + The metadata properties to be set. + + + + This class encapsulates the error information for a schema error that was encountered. + + + + + Constructs a EdmSchemaError object. + + The explanation of the error. + The code associated with this error. + The severity of the error. + + + Returns the error message. + The error message. + + + Gets the error code. + The error code. + + + Gets the severity level of the error. + + One of the values. The default is + + . + + + + Gets the line number where the error occurred. + The line number where the error occurred. + + + Gets the column where the error occurred. + The column where the error occurred. + + + Gets the location of the schema that contains the error. This string also includes the name of the schema at the end. + The location of the schema that contains the error. + + + Gets the name of the schema that contains the error. + The name of the schema that contains the error. + + + Gets a string representation of the stack trace at the time the error occurred. + A string representation of the stack trace at the time the error occurred. + + + + Defines the different severities of errors that can occur when validating an Entity Framework model. + + + + + A warning that does not prevent the model from being used. + + + + + An error that prevents the model from being used. + + + + + Base EdmType class for all the model types + + + + Gets the name of this type. + The name of this type. + + + Gets the namespace of this type. + The namespace of this type. + + + Gets a value indicating whether this type is abstract or not. + true if this type is abstract; otherwise, false. + Thrown if the setter is called on instance that is in ReadOnly state + + + Gets the base type of this type. + The base type of this type. + Thrown if the setter is called on instance that is in ReadOnly state + Thrown if the value passed in for setter will create a loop in the inheritance chain + + + Gets the full name of this type. + The full name of this type. + + + Returns the full name of this type. + The full name of this type. + + + + Returns an instance of the whose element type is this type. + + + The object whose element type is this type. + + + + + Class for representing an entity container + + + + + Creates an entity container with the specified name and data space. + + The entity container name. + The entity container data space. + Thrown if the name argument is null. + Thrown if the name argument is empty string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets a list of entity sets and association sets that this + + includes. + + + A object that contains a list of entity sets and association sets that this + + includes. + + + + Gets the association sets for this entity container. + The association sets for this entity container . + + + Gets the entity sets for this entity container. + The entity sets for this entity container . + + + + Specifies a collection of elements. Each function contains the details of a stored procedure that exists in the database or equivalent CommandText that is mapped to an entity and its properties. + + + A that contains + + elements. + + + + + Returns an object by using the specified name for the entity set. + + + An object that represents the entity set that has the specified name. + + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified name for the entity set. + + true if there is an entity set that matches the search criteria; otherwise, false. + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains an object. If there is no entity set, this output parameter contains null. + + + + + Returns a object by using the specified name for the relationship set. + + + An object that represents the relationship set that has the specified name. + + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns a object by using the specified name for the relationship set. + + true if there is a relationship set that matches the search criteria; otherwise, false. + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains a object. + + + + + Returns the name of this . + + + The name of this . + + + + + Adds the specified entity set to the container. + + The entity set to add. + + + Removes a specific entity set from the container. + The entity set to remove. + + + + Adds a function import to the container. + + The function import to add. + + + + The factory method for constructing the EntityContainer object. + + The name of the entity container to be created. + DataSpace in which this entity container belongs to. + Entity sets that will be included in the new container. Can be null. + Functions that will be included in the new container. Can be null. + Metadata properties to be associated with the instance. + The EntityContainer object. + Thrown if the name argument is null or empty string. + The newly created EntityContainer will be read only. + + + + Represents a particular usage of a structure defined in EntityType. In the conceptual-model, this represents a set that can + query and persist entities. In the store-model it represents a table. + From a store-space model-convention it can be used to configure + table name with property and table schema with property. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + + + + The factory method for constructing the EntitySet object. + + The name of the EntitySet. + The db schema. Can be null. + The db table. Can be null. + + The provider specific query that should be used to retrieve data for this EntitySet. Can be null. + + The entity type of the entities that this entity set type contains. + + Metadata properties that will be added to the newly created EntitySet. Can be null. + + The EntitySet object. + Thrown if the name argument is null or empty string. + The newly created EntitySet will be read only. + + + + Class for representing a entity set + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets escaped provider specific SQL describing this entity set. + + + + + Gets or sets the name of the current entity or relationship set. + If this property is changed from store-space, the mapping layer must also be updated to reflect the new name. + To change the table name of a store space use the Table property. + + The name of the current entity or relationship set. + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Gets the entity container of the current entity or relationship set. + + An object that represents the entity container of the current entity or relationship set. + + Thrown if the setter is called when the EntitySetBase instance or the EntityContainer passed into the setter is in ReadOnly state + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database table name for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database schema for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Returns the name of the current entity or relationship set. + The name of the current entity or relationship set. + + + + Represents the structure of an . In the conceptual-model this represents the shape and structure + of an entity. In the store model this represents the structure of a table. To change the Schema and Table name use EntitySet. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the declared navigation properties associated with the entity type. + The declared navigation properties associated with the entity type. + + + + Gets the navigation properties of this . + + + A collection of type that contains the list of navigation properties on this + + . + + + + Gets the list of declared properties for the entity type. + The declared properties for the entity type. + + + Gets the collection of declared members for the entity type. + The collection of declared members for the entity type. + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Returns a object that references this + + . + + + A object that references this + + . + + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + The base type. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + Adds the specified navigation property to the members of this type. + The navigation property is added regardless of the read-only flag. + + The navigation property to be added. + + + + Represents the Entity Type + + + + Gets the list of all the key members for the current entity or relationship type. + + A object that represents the list of key members for the current entity or relationship type. + + + + Gets the list of all the key properties for this entity type. + The list of all the key properties for this entity type. + + + + Adds the specified property to the list of keys for the current entity. + + The property to add. + if member argument is null + Thrown if the EntityType has a base type of another EntityTypeBase. In this case KeyMembers should be added to the base type + If the EntityType instance is in ReadOnly state + + + Removes the specified key member from the collection. + The key member to remove. + + + + Represents an enumeration member. + + + + Gets the kind of this type. + + + Gets the name of this enumeration member. + + + Gets the value of this enumeration member. + + + Overriding System.Object.ToString to provide better String representation for this type. + The name of this enumeration member. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Represents an enumeration type. + + + + Returns the kind of the type + + + Gets a collection of enumeration members for this enumeration type. + + + Gets a value indicating whether the enum type is defined as flags (i.e. can be treated as a bit field) + + + Gets the underlying type for this enumeration type. + + + + Creates a read-only EnumType instance. + + The name of the enumeration type. + The namespace of the enumeration type. + The underlying type of the enumeration type. + Indicates whether the enumeration type can be treated as a bit field; that is, a set of flags. + The members of the enumeration type. + Metadata properties to be associated with the enumeration type. + The newly created EnumType instance. + underlyingType is null. + + name is null or empty. + -or- + namespaceName is null or empty. + -or- + underlyingType is not a supported underlying type. + -or- + The specified members do not have unique names. + -or- + The value of a specified member is not in the range of the underlying type. + + + + + Class for representing a Facet object + This object is Immutable (not just set to readonly) and + some parts of the system are depending on that behavior + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the description of this . + + + The object that represents the description of this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the type of this . + + + The object that represents the type of this + + . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the Facet instance is in ReadOnly state + + + Gets a value indicating whether the value of the facet is unbounded. + true if the value of the facet is unbounded; otherwise, false. + + + + Returns the name of this . + + + The name of this . + + + + + Class for representing a FacetDescription object + + + + Gets the name of this facet. + The name of this facet. + + + Gets the type of this facet. + + An object that represents the type of this facet. + + + + Gets the minimum value for this facet. + The minimum value for this facet. + + + Gets the maximum value for this facet. + The maximum value for this facet. + + + Gets the default value of a facet with this facet description. + The default value of a facet with this facet description. + + + Gets a value indicating whether the value of this facet is a constant. + true if this facet is a constant; otherwise, false. + + + Gets a value indicating whether this facet is a required facet. + true if this facet is a required facet; otherwise, false. + + + Returns the name of this facet. + The name of this facet. + + + + Class representing a function parameter + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the mode of this . + + + One of the values. + + Thrown if the FunctionParameter instance is in ReadOnly state + + + + Gets the name of this . + + + The name of this . + + + + + Gets the instance of the class that contains both the type of the parameter and facets for the type. + + + A object that contains both the type of the parameter and facets for the type. + + + + Gets the type name of this parameter. + The type name of this parameter. + + + Gets whether the max length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the maximum length of the parameter. + The maximum length of the parameter. + + + Gets whether the parameter uses the maximum length supported by the database provider. + true if parameter uses the maximum length supported by the database provider; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the precision value of the parameter. + The precision value of the parameter. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the scale value of the parameter. + The scale value of the parameter. + + + + Gets the on which this parameter is declared. + + + A object that represents the function on which this parameter is declared. + + + + + Returns the name of this . + + + The name of this . + + + + + The factory method for constructing the object. + + The name of the parameter. + The EdmType of the parameter. + + The of the parameter. + + + A new, read-only instance of the type. + + + + + Represents the base item class for all the metadata + + + + + An interface to get the underlying store and conceptual model for a . + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Class for representing a collection of items. + Most of the implementation for actual maintenance of the collection is + done by MetadataCollection + + + + Gets the data model associated with this item collection. + The data model associated with this item collection. + + + + Returns a strongly typed object by using the specified identity. + + The item that is specified by the identity. + The identity of the item. + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity with either case-sensitive or case-insensitive search. + + The item that is specified by the identity. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The type returned by the method. + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all the items of the specified type. + + The type returned by the method. + + + + Returns an object by using the specified type name and the namespace name in this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + Returns all the overloads of the functions by using the specified name from this item collection. + A collection of type ReadOnlyCollection that contains all the functions that have the specified name. + A dictionary of functions. + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first one. + The name of the entity container. + + + + Returns an object by using the specified entity container name. If there is no entity container, the output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Do not perform any extension check + + + + + Check the extension against a specific value + + + + + Check the extension against the set of acceptable extensions + + + + + Represents the base item class for all the metadata + + + Represents the base item class for all the metadata + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + Gets the list of properties of the current type. + + A collection of type that contains the list of properties of the current type. + + + + + Adds or updates an annotation with the specified name and value. + + + If an annotation with the given name already exists then the value of that annotation + is updated to the given value. If the given value is null then the annotation will be + removed. + + The name of the annotation property. + The value of the annotation property. + + + + Removes an annotation with the specified name. + + The name of the annotation property. + true if an annotation was removed; otherwise, false. + + + Gets or sets the documentation associated with this type. + + A object that represents the documentation on this type. + + + + + Returns a conceptual model built-in type that matches one of the + + values. + + + An object that represents the built-in type in the EDM. + + + One of the values. + + + + Returns the list of the general facet descriptions for a specified type. + + A object that represents the list of the general facet descriptions for a specified type. + + + + + Class representing a metadata attribute for an item + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the instance of the class that contains both the type of this + + and facets for the type. + + + A object that contains both the type of this + + and facets for the type. + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the value of this . + + + The value of this . + + + + + Gets a boolean that indicates whether the metadata property is an annotation. + + + + + The factory method for constructing the MetadataProperty object. + + The name of the metadata property. + The type usage of the metadata property. + The value of the metadata property. + The MetadataProperty object. + + Thrown is null. + + The newly created MetadataProperty will be read only. + + + + Creates a metadata annotation having the specified name and value. + + The annotation name. + The annotation value. + A MetadataProperty instance representing the created annotation. + + + + Runtime Metadata Workspace + + + + + Initializes a new instance of the class. + + + + + Constructs a with loaders for all item collections () + needed by EF except the o/c mapping which will be created automatically based on the given o-space and c-space + loaders. The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + Delegate to return the o-space item collection. + + + + Constructs a with loaders for all item collections () + that come from traditional EDMX mapping. Default o-space and o/c mapping collections will be used. + The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + + + + Initializes a new instance of the class using the specified paths and assemblies. + + The paths to workspace metadata. + The names of assemblies used to construct workspace. + + + + The Max EDM version thats going to be supported by the runtime. + + + + + Creates an configured to use the + + data space. + + The created parser object. + + + + Creates a new bound to this metadata workspace based on the specified query expression. + + + A new with the specified expression as it's + + property. + + + A that defines the query. + + + If + + is null + + + If + + contains metadata that cannot be resolved in this metadata workspace + + + If + + is not structurally valid because it contains unresolvable variable references + + + + + Gets items. + + + The items. + + + The from which to retrieve items. + + + + Registers the item collection with each associated data model. + The output parameter collection that needs to be filled up. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The delegate for logging the load messages. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + The conceptual model in which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object that represents the type that matches the given type name and the namespace name in the specified data model. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + true to perform the case-insensitive search; otherwise, false. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns the list of primitive types in the specified data model. + + A collection of type that contains all the primitive types in the specified data model. + + The data model for which you need the list of primitive types. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Tests the retrieval of . + + true if the retrieval was successful; otherwise, false. + + The from which to attempt retrieval of + + . + + When this method returns, contains the item collection. This parameter is passed uninitialized. + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true on success, false on failure. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + Clears all the metadata cache entries. + + + Gets original value members from an entity set and entity type. + The original value members from an entity set and entity type. + The entity set from which to retrieve original values. + The entity type of which to retrieve original values. + + + + Returns members of a given / + + for which original values are needed when modifying an entity. + + + The s for which original value is required. + + + An belonging to the C-Space. + + + An that participates in the given + + . + + true if entities may be updated partially; otherwise, false. + + + + Represent the edm navigation property class + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the relationship type that this navigation property operates on. + The relationship type that this navigation property operates on. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "to" relationship end member of this navigation. + The "to" relationship end member of this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "from" relationship end member in this navigation. + The "from" relationship end member in this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + + Where the given navigation property is on the dependent end of a referential constraint, + returns the foreign key properties. Otherwise, returns an empty set. We will return the members in the order + of the principal end key properties. + + A collection of the foreign key properties. + + + + Creates a NavigationProperty instance from the specified parameters. + + The name of the navigation property. + Specifies the navigation property type and its facets. + The relationship type for the navigation. + The source end member in the navigation. + The target end member in the navigation. + The metadata properties of the navigation property. + The newly created NavigationProperty instance. + + + + Class for representing a collection of items for the object layer. + Most of the implementation for actual maintenance of the collection is + done by ItemCollection + + + + + Initializes a new instance of the class. + + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + The delegate to which log messages are sent. + + + Loads metadata from the specified assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + + + Returns a collection of primitive type objects. + A collection of primitive type objects. + + + + Returns the CLR type that corresponds to the supplied by the objectSpaceType parameter. + + The CLR type of the OSpace argument. + + A that represents the object space type. + + + + + Returns a CLR type corresponding to the supplied by the objectSpaceType parameter. + + true if there is a type that matches the search criteria; otherwise, false. + + A that represents the object space type. + + The CLR type. + + + The method returns the underlying CLR type for the specified OSpace type argument. If the DataSpace of the parameter is not OSpace, an ArgumentException is thrown. + The CLR type of the OSpace argument. + The OSpace type to look up. + + + Returns the underlying CLR type for the specified OSpace enum type argument. If the DataSpace of the parameter is not OSpace, the method returns false and sets the out parameter to null. + true on success, false on failure + The OSpace enum type to look up + The CLR enum type of the OSpace argument + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all items of the specified type. + + The type returned by the method. + + + + Represents the list of possible actions for delete operation + + + + + no action + + + + + Cascade to other ends + + + + + The enumeration defining the mode of a parameter + + + + + In parameter + + + + + Out parameter + + + + + Both in and out parameter + + + + + Return Parameter + + + + + The enumeration defining the type semantics used to resolve function overloads. + These flags are defined in the provider manifest per function definition. + + + + + Allow Implicit Conversion between given and formal argument types (default). + + + + + Allow Type Promotion between given and formal argument types. + + + + + Use strict Equivalence only. + + + + + Class representing a primitive type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a enumeration value that indicates a primitive type of this + + . + + + A enumeration value that indicates a primitive type of this + + . + + + + + Gets the list of facet descriptions for this . + + + A collection of type that contains the list of facet descriptions for this + + . + + + + + Returns an equivalent common language runtime (CLR) type of this + + . Note that the + + property always returns a non-nullable type value. + + + A object that represents an equivalent common language runtime (CLR) type of this + + . + + + + + Returns the equivalent of this + + . + + + For example if this instance is nvarchar and it's + base type is Edm String then the return type is Edm String. + If the type is actually already a model type then the + return type is "this". + + + An object that is an equivalent of this + + . + + + + Returns the list of primitive types. + + A collection of type that contains the list of primitive types. + + + + + Returns the equivalent of a + + . + + + An object that is an equivalent of a specified + + . + + + A value of type . + + + + + Primitive Types as defined by EDM + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Geometry Type Kind + + + + + Geography Type Kind + + + + + Geometric point type kind + + + + + Geometric linestring type kind + + + + + Geometric polygon type kind + + + + + Geometric multi-point type kind + + + + + Geometric multi-linestring type kind + + + + + Geometric multi-polygon type kind + + + + + Geometric collection type kind + + + + + Geographic point type kind + + + + + Geographic linestring type kind + + + + + Geographic polygon type kind + + + + + Geographic multi-point type kind + + + + + Geographic multi-linestring type kind + + + + + Geographic multi-polygon type kind + + + + + Geographic collection type kind + + + + + HierarchyId type kind + + + + + Specifies the kinds of item attributes in the conceptual model. + + + + + An enumeration member indicating that an item attribute is System + + + + + An enumeration member indicating that an item attribute is Extended. + + + + + Class representing a read-only wrapper around MetadataCollection + + The type of items in this collection + + + + The enumerator for MetadataCollection + + + + Gets the member at the current position. + The member at the current position. + + + + Gets the member at the current position + + + + Disposes of this enumerator. + + + + Moves to the next member in the collection of type + + . + + + true if the enumerator is moved in the collection of type + + ; otherwise, false. + + + + + Positions the enumerator before the first position in the collection of type + + . + + + + Gets a value indicating whether this collection is read-only. + true if this collection is read-only; otherwise, false. + + + Gets an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + + + Retrieves an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + + + Determines whether the collection contains an item with the specified identity. + true if the collection contains the item to be searched for; otherwise, false. The default is false. + The identity of the item. + + + Retrieves an item from this collection by using the specified identity. + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + When this method returns, this output parameter contains an item from the collection. If there is no matched item, this output parameter contains null. + + + Returns an enumerator that can iterate through this collection. + + A that can be used to iterate through this + + . + + + + Returns the index of the specified value in this collection. + The index of the specified value in this collection. + A value to seek. + + + + This class represents a referential constraint between two entities specifying the "to" and "from" ends of the relationship. + + + + + Constructs a new constraint on the relationship + + role from which the relationship originates + role to which the relationship is linked/targeted to + properties on entity type of to role which take part in the constraint + properties on entity type of from role which take part in the constraint + Argument Null exception if any of the arguments is null + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the "from role" that takes part in this + + . + + + A object that represents the "from role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the "to role" that takes part in this . + + + A object that represents the "to role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the list of properties for the "from role" on which this + + is defined. + + + A collection of type that contains the list of properties for "from role" on which this + + is defined. + + + + + Gets the list of properties for the "to role" on which this + + is defined. + + + A collection of type that contains the list of properties for the "to role" on which this + + is defined. + + + + + Returns the combination of the names of the + + and the + + . + + + The combination of the names of the + + and the + + . + + + + + Class representing a ref type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type referenced by this . + + + An object that represents the entity type referenced by this + + . + + + + + + + + + + + Initializes a new instance of the RelationshipEndMember class + + + + Gets the operational behavior of this relationship end member. + + One of the values. The default is + + . + + + + Gets the multiplicity of this relationship end member. + + One of the values. + + + + Access the EntityType of the EndMember in an association. + The EntityType of the EndMember in an association. + + + + Represents the multiplicity information about the end of a relationship type + + + + + Lower Bound is Zero and Upper Bound is One + + + + + Both lower bound and upper bound is one + + + + + Lower bound is zero and upper bound is null + + + + + Class for representing a relationship set + + + + + Gets the relationship type of this . + + + An object that represents the relationship type of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Represents the Relationship type + + + + Gets the list of ends for this relationship type. + + A collection of type that contains the list of Ends for this relationship type. + + + + + Represents the Edm Row Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties on this . + + + A collection of type that contains the list of properties on this + + . + + + + Gets a collection of the properties defined by the current type. + A collection of the properties defined by the current type. + + + + The factory method for constructing the object. + + Properties of the row type object. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the object. + + + + + Class representing a simple type + + + + + Serializes the storage (database) section of an to XML. + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the + + The EdmModel to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + Serialize the to the + + The EdmModel to serialize + Namespace name on the Schema element + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + The pattern for Server Generated Properties. + + + + + Not a Server Generated Property. This is the default. + + + + + A value is generated on INSERT, and remains unchanged on update. + + + + + A value is generated on both INSERT and UPDATE. + + + + + Class for representing a collection of items in Store space. + + + + + Initializes a new instance of the class using the specified XMLReader. + + The XMLReader used to create metadata. + + + Initializes a new instances of the class. + The model of the . + + + + Initializes a new instance of the class using the specified file paths. + + The file paths used to create metadata. + + + Gets the provider factory of the StoreItemCollection. + The provider factory of the StoreItemCollection. + + + Gets the provider manifest of the StoreItemCollection. + The provider manifest of the StoreItemCollection. + + + Gets the manifest token of the StoreItemCollection. + The manifest token of the StoreItemCollection. + + + Gets the invariant name of the StoreItemCollection. + The invariant name of the StoreItemCollection. + + + Gets the version of the store schema for this collection. + The version of the store schema for this collection. + + + + Returns a collection of the objects. + + + A object that represents the collection of the + + objects. + + + + + Factory method that creates a . + + + SSDL artifacts to load. Must not be null. + + + Paths to SSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + Custom resolver. Currently used to resolve DbProviderServices implementation. If null + the default resolver will be used. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the Structural Type + + + + Gets the list of members on this type. + + A collection of type that contains a set of members on this type. + + + + + Adds a member to this type + + The member to add + + + Removes a member from this type. + The member to remove. + + + + Class representing a type information for an item + + + + + Factory method for creating a TypeUsage with specified EdmType and facets + + EdmType for which to create a type usage + facets to be copied into the new TypeUsage + new TypeUsage instance + + + + Creates a object with the specified conceptual model type. + + + A object with the default facet values for the specified + + . + + + A for which the + + object is created. + + + + + Creates a object to describe a string type by using the specified facet values. + + + A object describing a string type by using the specified facet values. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false. + + + + Creates a object to describe a string type by using the specified facet values and unbounded MaxLength. + + + A object describing a string type by using the specified facet values and unbounded MaxLength. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + The maximum length of the binary type. + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + The simple type that defines the units of measurement of the offset. + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object to describe a decimal type by using the specified facet values. + + + A object describing a decimal type by using the specified facet values. + + + A for which the + + object is created. + + + The precision of the decimal type as type . + + + The scale of the decimal type as type . + + + + + Creates a object to describe a decimal type with unbounded precision and scale facet values. + + + A object describing a decimal type with unbounded precision and scale facet values. + + + A for which the + + object is created. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the type information described by this . + + + An object that represents the type information described by this + + . + + + + + Gets the list of facets for the type that is described by this + + . + + + A collection of type that contains the list of facets for the type that is described by this + + . + + + + + Returns a Model type usage for a provider type + + Model (CSpace) type usage + + + + Checks whether this is a subtype of the specified + + . + + + true if this is a subtype of the specified + + ; otherwise, false. + + + The object to be checked. + + + + + Returns the full name of the type described by this . + + + The full name of the type described by this as string. + + + + + This exception is thrown when a requested object is not found in the store. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of class that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Caches an ELinq query + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg15 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + + The values currently assigned to the properties of an entity. + + + + + This is the interface that represent the minimum interface required + to be an entity in ADO.NET. + + + + Notifies the change tracker that a property change is pending on a complex object. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property of a complex object has changed. + The name of the changed property. + property is null. + + + + Attribute for complex properties + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + attribute for complex types + + + + + Attribute identifying the Edm base class + + + + + Attribute indicating an enum type. + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this attribute has been replaced by the starting with EF6. + + + + + Creates a new DbFunctionAttribute instance. + + The namespace name of the EDM function represented by the attributed method. + The function name of the EDM function represented by the attributed method. + + + + Base attribute for properties mapped to store elements. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Attribute identifying the Ends defined for a RelationshipSet + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Initializes a new instance of the + + class. + + The namespace name of the relationship property. + The name of the relationship. The relationship name is not namespace qualified. + The role name at the other end of the relationship. + + + The namespace name of the navigation property. + + A that is the namespace name. + + + + Gets the unqualified relationship name. + The relationship name. + + + Gets the role name at the other end of the relationship. + The target role name is specified by the Role attribute of the other End element in the association that defines this relationship in the conceptual model. For more information, see Association (EDM). + + + + Defines a relationship between two entity types based on an association in the conceptual model. + + + + + Creates an instance of the class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + + + + Initializes a new instance of the + + class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + A value that indicates whether the relationship is based on the foreign key value. + + + The namespace for the relationship. + + A that is the namespace for the relationship. + + + + Name of the relationship. + + A that is the name of a relationship that is defined by this + + . + + + + Name of the role at one end of the relationship. + + A that is the name of the role. + + + + Multiplicity at one end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at one end of the relationship. + + A that is the type of the object at this end of the association. + + + + Name of the role at the other end of the relationship. + + A that is the name of the role. + + + + Multiplicity at the other end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at the other end of the relationship. + + A that is the type of the object t the other end of the association. + + + + Gets a Boolean value that indicates whether the relationship is based on the foreign key value. + true if the relationship is based on the foreign key value; otherwise false. + + + + Attribute for scalar properties in an IEntity. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + Gets or sets the value that indicates whether the property can have a null value. + The value that indicates whether the property can have a null value. + + + Gets or sets the value that indicates whether the property is part of the entity key. + The value that indicates whether the property is part of the entity key. + + + + Attribute for static types + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a unique value for each model referenced by the assembly. + + + Setting this parameter to a unique value for each model file in a Visual Basic + assembly will prevent the following error: + "'System.Data.Entity.Core.Objects.DataClasses.EdmSchemaAttribute' cannot be specified more than once in this project, even with identical parameter values." + + A string that is a unique GUID value for the model in the assembly. + + + + Base attribute for schematized types + + + + The name of the type in the conceptual schema that maps to the class to which this attribute is applied. + + A that is the name. + + + + The namespace name of the entity object type or complex type in the conceptual schema that maps to this type. + + A that is the namespace name. + + + + + Collection of entities modeling a particular EDM construct + which can either be all entities of a particular type or + entities participating in a particular relationship. + + The type of entities in this collection. + + + + Initializes a new instance of the class. + + + + Gets the number of objects that are contained in the collection. + + The number of elements that are contained in the + + . + + + + + Gets a value that indicates whether the + + is read-only. + + Always returns false. + + + + IListSource.ContainsListCollection implementation. Always returns false. + This means that the IList we return is the one which contains our actual data, + it is not a list of collections. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + Loads related objects into the collection, using the specified merge option. + + Specifies how the objects in this collection should be merged with the objects that might have been returned from previous queries against the same + + . + + + + + + + Defines relationships between an object and a collection of related objects in an object context. + + Loads related entities into the local collection. If the collection is already filled + or partially filled, merges existing entities with the given entities. The given + entities are not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. We allow + deleted elements only when the state manager is already tracking the relationship + instance. + + Collection of objects in the object context that are related to the source object. + entities collection is null. + + The source object or an object in the entities collection is null or is not in an + + or state.-or-The relationship cannot be defined based on the EDM metadata. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + + Defines a relationship between two attached objects in an object context. + The object being attached. + When the entity is null. + + When the entity cannot be related to the source object. This can occur when the association in the conceptual schema does not support a relationship between the two types.-or-When either object is null or is not in an + + or state. + + + + Adds an object to the collection. + + An object to add to the collection. entity must implement + + . + + entity is null. + + + Removes an object from the collection and marks the relationship for deletion. + true if item was successfully removed; otherwise, false. + The object to remove from the collection. + entity object is null. + The entity object is not attached to the same object context.-or-The entity object does not have a valid relationship manager. + + + Returns an enumerator that is used to iterate through the objects in the collection. + + An that iterates through the set of values cached by + + . + + + + + Returns an enumerator that is used to iterate through the set of values cached by + + . + + + An that iterates through the set of values cached by + + . + + + + Removes all entities from the collection. + + + Determines whether a specific object exists in the collection. + + true if the object is found in the ; otherwise, false. + + + The object to locate in the . + + + + Copies all the contents of the collection to an array, starting at the specified index of the target array. + The array to copy to. + The zero-based index in the array at which copying begins. + + + Used internally to serialize entity objects. + The streaming context. + + + Used internally to deserialize entity objects. + The streaming context. + + + Returns an object query that, when it is executed, returns the same set of objects that exists in the current collection. + + An that represents the entity collection. + + + When the object is in an state + or when the object is in a + state with a + other than + . + + + + + This is the class is the basis for all perscribed EntityObject classes. + + + + Gets the entity state of the object. + + The of this object. + + + + Gets or sets the key for this object. + + The for this object. + + + + + Used by the ObjectStateManager to attach or detach this EntityObject to the cache. + + Reference to the ObjectStateEntry that contains this entity + + + + Returns the container for the lazily created relationship + navigation property objects, collections and refs. + + + + Notifies the change tracker that a property change is pending. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property has changed. + The name of the changed property. + property is null. + + + + Models a relationship end with multiplicity 1. + + + + Returns the key for the related object. + + Returns the EntityKey of the target entity associated with this EntityReference. + Is non-null in the following scenarios: + (a) Entities are tracked by a context and an Unchanged or Added client-side relationships exists for this EntityReference's owner with the + same RelationshipName and source role. This relationship could have been created explicitly by the user (e.g. by setting + the EntityReference.Value, setting this property directly, or by calling EntityCollection.Add) or automatically through span queries. + (b) If the EntityKey was non-null before detaching an entity from the context, it will still be non-null after detaching, until any operation + occurs that would set it to null, as described below. + (c) Entities are detached and the EntityKey is explicitly set to non-null by the user. + (d) Entity graph was created using a NoTracking query with full span + Is null in the following scenarios: + (a) Entities are tracked by a context but there is no Unchanged or Added client-side relationship for this EntityReference's owner with the + same RelationshipName and source role. + (b) Entities are tracked by a context and a relationship exists, but the target entity has a temporary key (i.e. it is Added) or the key + is one of the special keys + (c) Entities are detached and the relationship was explicitly created by the user. + + + An that is the key of the related object. + + + + + Models a relationship end with multiplicity 1. + + The type of the entity being referenced. + + + + Creates a new instance of . + + + The default constructor is required for some serialization scenarios. It should not be used to + create new EntityReferences. Use the GetRelatedReference or GetRelatedEnd methods on the RelationshipManager + class instead. + + + + + Gets or sets the related object returned by this + + . + + + The object returned by this . + + + + + Loads the related object for this with the specified merge option. + + + Specifies how the object should be returned if it already exists in the + + . + + + The source of the is null + or a query returned more than one related end + or a query returned zero related ends, and one related end was expected. + + + + + + + Creates a many-to-one or one-to-one relationship between two objects in the object context. + The object being attached. + When the entity is null. + When the entity cannot be related to the current related end. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + Creates an equivalent object query that returns the related object. + + An that returns the related object. + + + When the object is in an state + or when the object is in a + state with a + other than . + + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + + This interface is implemented by a change tracker and is used by data classes to report changes + + + + Notifies the change tracker of a pending change to a property of an entity type. + The name of the property that is changing. + + + Notifies the change tracker that a property of an entity type has changed. + The name of the property that has changed. + + + Notifies the change tracker of a pending change to a complex property. + The name of the top-level entity property that is changing. + The complex type that contains the property that is changing. + The name of the property that is changing on complex type. + + + Notifies the change tracker that a property of a complex type has changed. + The name of the complex property of the entity type that has changed. + The complex type that contains the property that changed. + The name of the property that changed on complex type. + + + Gets current state of a tracked object. + + An that is the state of the tracked object.For more information, see Identity Resolution, State Management, and Change Tracking and Tracking Changes in POCO Entities. + + + + + Minimum interface that a data class must implement in order to be managed by a change tracker. + + + + + Gets or sets the used to report changes. + + + The used to report changes. + + + + + Interface that defines an entity containing a key. + + + + + Gets or sets the for instances of entity types that implement this interface. + + + If an object is being managed by a change tracker, it is expected that + IEntityChangeTracker methods EntityMemberChanging and EntityMemberChanged will be + used to report changes on EntityKey. This allows the change tracker to validate the + EntityKey's new value and to verify if the change tracker is in a state where it can + allow updates to the EntityKey. + + + The for instances of entity types that implement this interface. + + + + + Interface that a data class must implement if exposes relationships + + + + Returns the relationship manager that manages relationships for an instance of an entity type. + + Classes that expose relationships must implement this property + by constructing and setting RelationshipManager in their constructor. + The implementation of this property should use the static method RelationshipManager.Create + to create a new RelationshipManager when needed. Once created, it is expected that this + object will be stored on the entity and will be provided through this property. + + + The for this entity. + + + + + Represents one end of a relationship. + + + + + Gets or sets a value indicating whether the entity (for an or all entities + in the collection (for an have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded + and wants to prevent any other entities from being loaded automatically. + Note that explicit loading using will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity is detached the IsLoaded flag is reset to false indicating that not all related entities + are now loaded. + + + True if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise false. + + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this is participating. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + The role name at the source end of the relationship. + + + Gets the role name at the target end of the relationship. + The role name at the target end of the relationship. + + + Returns a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + Loads the related object or objects into this related end with the default merge option. + + + Asynchronously loads the related object or objects into this related end with the default merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Loads the related object or objects into the related end with the specified merge option. + + The to use when merging objects into an existing + . + + + + Asynchronously loads the related object or objects into the related end with the specified merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Adds an object to the related end. + + An object to add to the collection. entity must implement + + . + + + + Adds an object to the related end. + An object to add to the collection. + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed, false if entity was not part of the + + . + + + The object to remove from the collection. entity must implement + + . + + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed; false if entity was not part of the + + . + + An object to remove from the collection. + + + Defines a relationship between two attached objects. + + The object being attached. entity must implement + + . + + + + Defines a relationship between two attached objects. + The object being attached. + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Base class for EntityCollection and EntityReference + + + + Occurs when a change is made to a related end. + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this participates. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + + A that is the role name. + + + + Gets the role name at the target end of the relationship. + + A that is the role name. + + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + Gets a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + + + + + Loads the related object or objects into the related end with the default merge option. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads the related object or objects into the related end with the default merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Loads an object or objects from the related end with the specified merge option. + + + The to use when merging objects into an existing + . + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads an object or objects from the related end with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Attaches an entity to the related end. This method works in exactly the same way as Attach(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Attaches an entity to the related end. If the related end is already filled + or partially filled, this merges the existing entities with the given entity. The given + entity is not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. + Deleted elements are allowed only when the state manager is already tracking the relationship + instance. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Adds an entity to the related end. This method works in exactly the same way as Add(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to add to the related end + + + + Adds an entity to the related end. If the owner is + attached to a cache then the all the connected ends are + added to the object cache and their corresponding relationships + are also added to the ObjectStateManager. The RelatedEnd of the + relationship is also fixed. + + Entity instance to add to the related end + + + + Removes an entity from the related end. This method works in exactly the same way as Remove(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Removes an entity from the related end. If owner is + attached to a cache, marks relationship for deletion and if + the relationship is composition also marks the entity for deletion. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + Identifies the kind of a relationship + + + + + The relationship is an Association + + + + + Container for the lazily created relationship navigation + property objects (collections and refs). + + + + + Creates a new object. + + + Used by data classes that support relationships. If the change tracker + requests the RelationshipManager property and the data class does not + already have a reference to one of these objects, it calls this method + to create one, then saves a reference to that object. On subsequent accesses + to that property, the data class should return the saved reference. + The reason for using a factory method instead of a public constructor is to + emphasize that this is not something you would normally call outside of a data class. + By requiring that these objects are created via this method, developers should + give more thought to the operation, and will generally only use it when + they explicitly need to get an object of this type. It helps define the intended usage. + + + The requested . + + Reference to the entity that is calling this method. + + + + Returns either an or + + of the correct type for the specified target role in a relationship. + + + representing the + + or + + that was retrieved. + + Name of the relationship in which targetRoleName is defined. The relationship name is not namespace qualified. + Target role to use to retrieve the other end of relationshipName . + relationshipName or targetRoleName is null. + The source type does not match the type of the owner. + targetRoleName is invalid or unable to find the relationship type in the metadata. + + + + Takes an existing EntityReference that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityReference has already been initialized, + if the relationship manager already contains a relationship with this name and target role, or if the relationship manager is already attached to a ObjectContext.W + + The relationship name. + The role name of the related end. + + The to initialize. + + + The type of the being initialized. + + + When the provided + is already initialized.-or-When the relationship manager is already attached to an + + or when the relationship manager already contains a relationship with this name and target role. + + + + + Takes an existing EntityCollection that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityCollection has already been initialized, + or if the relationship manager is already attached to a ObjectContext. + + The relationship name. + The target role name. + An existing EntityCollection. + Type of the entity represented by targetRoleName + + + + Gets an of related objects with the specified relationship name and target role name. + + + The of related objects. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + + Gets the for a related object by using the specified combination of relationship name and target role name. + + + The of a related object. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + Returns an enumeration of all the related ends managed by the relationship manager. + + An of objects that implement + + . An empty enumeration is returned when the relationships have not yet been populated. + + + + + Called by Object Services to prepare an for binary serialization with a serialized relationship. + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + This class contains the common methods need for an date object. + + + + + Public constant name used for change tracking + Providing this definition allows users to use this constant instead of + hard-coding the string. This helps to ensure the property name is correct + and allows faster comparisons in places where we are looking for this specific string. + Users can still use the case-sensitive string directly instead of the constant, + it will just be slightly slower on comparison. + Including the dash (-) character around the name ensures that this will not conflict with + a real data property, because -EntityKey- is not a valid identifier name + + + + + Notification that a property has been changed. + + + The PropertyChanged event can indicate all properties on the + object have changed by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangedEventArgs. + + + + + Notification that a property is about to be changed. + + + The PropertyChanging event can indicate all properties on the + object are changing by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangingEventArgs. + + + + + Raises the event. + + The name of the changed property. + + + + Raises the event. + + The name of the property changing. + + + Returns the minimum date time value supported by the data source. + + A value that is the minimum date time that is supported by the data source. + + + + Raises an event that is used to report that a property change is pending. + The name of the changing property. + + + Raises an event that is used to report that a property change has occurred. + The name for the changed property. + + + Returns a complex type for the specified property. + + Unlike most of the other helper methods in this class, this one is not static + because it references the SetValidValue for complex objects, which is also not static + because it needs a reference to this. + + A complex type object for the property. + A complex object that inherits from complex object. + The name of the complex property that is the complex object. + Indicates whether the type supports null values. + Indicates whether the type is initialized. + The type of the complex object being requested. + + + Determines whether the specified byte arrays contain identical values. + true if both arrays are of the same length and contain the same byte values or if both arrays are null; otherwise, false. + The first byte array value to compare. + The second byte array to compare. + + + Returns a copy of the current byte value. + + A copy of the current value. + + The current byte array value. + + + + Makes sure the value being set for a property is valid. + + + The value being validated. + + The value passed into the property setter. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + If value is null for a non nullable value. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + The value being set. + Indicates whether the property is nullable. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + A that is set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value that is set. + + The value that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + The name of the property that is being validated. + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + Name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + The name of the property that is being validated. + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + The name of the property that is being validated. + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + + + Validates that the property is not null, and throws if it is. + The validated property. + The string value to be checked. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The string value is null for a non-nullable string. + + + Validates that the property is not null, and throws if it is. + + The validated value. + + The string value to be checked. + Flag indicating if this property is allowed to be null. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + Name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Sets a complex object for the specified property. + A complex type that derives from complex object. + The original complex object for the property, if any. + The complex object is being set. + The complex property that is being set to the complex object. + The type of the object being replaced. + + + Verifies that a complex object is not null. + The complex object being validated. + The complex object that is being validated. + The complex property on the parent object that is associated with complexObject . + The type of the complex object being verified. + + + + Provides access to the original values of object data. The DbUpdatableDataRecord implements methods that allow updates to the original values of an object. + + + + Gets the number of fields in the record. + An integer value that is the field count. + + + Returns a value that has the given field ordinal. + The value that has the given field ordinal. + The ordinal of the field. + + + Gets a value that has the given field name. + The field value. + The name of the field. + + + Retrieves the field value as a Boolean. + The field value as a Boolean. + The ordinal of the field. + + + Retrieves the field value as a byte. + The field value as a byte. + The ordinal of the field. + + + Retrieves the field value as a byte array. + The number of bytes copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of bytes to copy. + + + Retrieves the field value as a char. + The field value as a char. + The ordinal of the field. + + + Retrieves the field value as a char array. + The number of characters copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of characters to copy. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as a + + + The field value as a . + + The ordinal of the field. + + + Retrieves the name of the field data type. + The name of the field data type. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Retrieves the field value as a decimal. + The field value as a decimal. + The ordinal of the field. + + + Retrieves the field value as a double. + The field value as a double. + The ordinal of the field. + + + Retrieves the type of a field. + The field type. + The ordinal of the field. + + + Retrieves the field value as a float. + The field value as a float. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + Retrieves the name of a field. + The name of the field. + The ordinal of the field. + + + Retrieves the ordinal of a field by using the name of the field. + The ordinal of the field. + The name of the field. + + + Retrieves the field value as a string. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Populates an array of objects with the field values of the current record. + The number of field values returned. + An array of objects to store the field values. + + + + Returns whether the specified field is set to . + + + true if the field is set to ; otherwise false. + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets field values in a record. + The number of the fields that were set. + The values of the field. + + + + Sets a field to the value. + + The ordinal of the field. + + + Gets data record information. + + A object. + + + + + Retrieves a field value as a . + + + A field value as a . + + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + + List of type pairs that constructor call new XXXX(YYY yyy) could be translated to SQL CAST(yyy AS XXXXX) call + + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that these functions have been moved to the class starting with EF6. + The functions are retained here only to help in the migration of older EF apps to EF6. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + Options for query execution. + + + + + Creates a new instance of . + + Merge option to use for entity results. + + + + Creates a new instance of . + + Merge option to use for entity results. + Whether the query is streaming or buffering. + + + + Merge option to use for entity results. + + + + + Whether the query is streaming or buffering. + + + + Determines whether the specified objects are equal. + true if the two objects are equal; otherwise, false. + The left object to compare. + The right object to compare. + + + + Determines whether the specified objects are not equal. + + The left object to compare. + The right object to compare. + true if the two objects are not equal; otherwise, false. + + + + + + + + + + Defines behavior for implementations of IQueryable that allow modifications to the membership of the resulting set. + + Type of entities returned from the queryable. + + + Notifies the set that an object that represents a new entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The new object to add to the set. + + + Notifies the set that an object that represents an existing entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to add to the set. + + + Notifies the set that an object that represents an existing entity must be deleted from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to delete from the set. + + + Notifies the set that an object that represents an existing entity must be detached from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The object to detach from the set. + + + + The different ways that new objects loaded from the database can be merged with existing objects already in memory. + + + + + Will only append new (top level-unique) rows. This is the default behavior. + + + + + Same behavior as LoadOption.OverwriteChanges. + + + + + Same behavior as LoadOption.PreserveChanges. + + + + + Will not modify cache. + + + + + ObjectContext is the top-level object that encapsulates a connection between the CLR and the database, + serving as a gateway for Create, Read, Update, and Delete operations. + + + + + Initializes a new instance of the class with the given connection. During construction, the metadata workspace is extracted from the + + object. + + + An that contains references to the model and to the data source connection. + + The connection is null. + The connection is invalid or the metadata workspace is invalid. + + + + Creates an ObjectContext with the given connection and metadata workspace. + + connection to the store + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + Initializes a new instance of the class with the given connection string and default entity container name. + + The connection string, which also provides access to the metadata information. + The connectionString is null. + The connectionString is invalid or the metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection string and entity container name. + + The connection string, which also provides access to the metadata information. + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connectionString is null. + The connectionString , defaultContainerName , or metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection and entity container name. + + + An that contains references to the model and to the data source connection. + + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connection is null. + The connection , defaultContainerName , or metadata workspace is not valid. + + + Gets the connection used by the object context. + + A object that is the connection. + + + When the instance has been disposed. + + + + Gets or sets the default container name. + + A that is the default container name. + + + + Gets the metadata workspace used by the object context. + + The object associated with this + + . + + + + Gets the object state manager used by the object context to track object changes. + + The used by this + + . + + + + Gets or sets the timeout value, in seconds, for all object context operations. A null value indicates that the default value of the underlying provider will be used. + + An value that is the timeout value, in seconds. + + The timeout value is less than 0. + + + Gets the LINQ query provider associated with this object context. + + The instance used by this object context. + + + + + Gets the instance that contains options that affect the behavior of the + + . + + + The instance that contains options that affect the behavior of the + + . + + + + + Returns itself. ObjectContext implements to provide a common + interface for and ObjectContext both of which will return the underlying + ObjectContext. + + + + + Gets the transaction handler in use by this context. May be null if no transaction have been started. + + + The transaction handler. + + + + + Returns the being used for this context. + + + + Occurs when changes are saved to the data source. + + + Occurs when a new entity object is created from data in the data source as part of a query or load operation. + + + Accepts all changes made to objects in the object context. + + + Adds an object to the object context. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to add. + + The entity parameter is null or the entitySetName does not qualify. + + + Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The value to use when you load the related objects. + + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + + The value to use when you load the related objects. + + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Applies property changes from a detached object to an object already attached to the object context. + The name of the entity set to which the object belongs. + The detached object that has property updates to apply to the original object. + When entitySetName is null or an empty string or when changed is null. + + When the from entitySetName does not match the + + of the object + + or when the entity is in a state other than + + or + + or the original object is not attached to the context. + + When the type of the changed object is not the same type as the original object. + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + The entity type of the object. + entitySetName or current is null. + + The from entitySetName does not match the + + of the object + + or the object is not in the + + or it is in a + + state or the entity key of the supplied object is invalid. + + entitySetName is an empty string. + + + + Copies the scalar values from the supplied object into set of original values for the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has original values to apply to the object. The entity key of originalEntity must match the + + property of an entry in the + + . + + The type of the entity object. + entitySetName or original is null. + + The from entitySetName does not match the + + of the object + + or an + + for the object cannot be found in the + + or the object is in an + + or a + + state or the entity key of the supplied object is invalid or has property changes. + + entitySetName is an empty string. + + + Attaches an object or object graph to the object context in a specific entity set. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to attach. + + The entity is null. + + Invalid entity set or the object has a temporary key or the object has an + + and the + + does not match with the entity set passed in as an argument of the method or the object does not have an + + and no entity set is provided or any object from the object graph has a temporary + + or any object from the object graph has an invalid + + (for example, values in the key do not match values in the object) or the entity set could not be found from a given entitySetName name and entity container name or any object from the object graph already exists in another state manager. + + + + Attaches an object or object graph to the object context when the object has an entity key. + The object to attach. + The entity is null. + Invalid entity key. + + + Creates the entity key for a specific object, or returns the entity key if it already exists. + + The of the object. + + The fully qualified name of the entity set to which the entity object belongs. + The object for which the entity key is being retrieved. + When either parameter is null. + When entitySetName is empty or when the type of the entity object does not exist in the entity set or when the entitySetName is not fully qualified. + When the entity key cannot be constructed successfully based on the supplied parameters. + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified entity type. + + + The new instance. + + + Entity type of the requested . + + + The property is not set on the + + or the specified type belongs to more than one entity set. + + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name. + + + The new instance. + + + Name of the entity set for the returned . The string must be qualified by the default container name if the + + property is not set on the + + . + + + Entity type of the requested . + + + The from entitySetName does not match the + + of the object + + or the + + property is not set on the + + and the name is not qualified as part of the entitySetName parameter or the specified type belongs to more than one entity set. + + + + + Creates an in the current object context by using the specified query string. + + + An of the specified type. + + The query string to be executed. + Parameters to pass to the query. + + The entity type of the returned . + + The queryString or parameters parameter is null. + + + Marks an object for deletion. + + An object that specifies the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + The entity is null. + + The entity is not associated with this (for example, was newly created and not associated with any context yet, or was obtained through some other context, or was already detached). + + + + + Finalizes an instance of the class. + + + + Releases the resources used by the object context. + + + + Releases the resources used by the object context. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns an object that has the specified entity key. + + An that is an instance of an entity type. + + The key of the object to be found. + The key parameter is null. + + The object is not found in either the or the data source. + + + + Updates a collection of objects in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Updates an object in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Persists all updates to the database and resets change tracking in the object context. + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + This parameter is needed for client-side transaction support. If true, the change tracking on all objects is reset after + + finishes. If false, you must call the + method after . + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + A value that determines the behavior of the operation. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + + Ensures that changes are synchronized with changes in all objects that are tracked by the + + . + + + + Returns an object that has the specified entity key. + true if the object was retrieved successfully. false if the key is temporary, the connection is null, or the value is null. + The key of the object to be found. + When this method returns, contains the object. + Incompatible metadata for key . + key is null. + + + + Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + The to use when executing the query. + + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given function on the default container. + + Element type for function results. + + Name of function. May include container (e.g. ContainerName.FunctionName) or just function name when DefaultContainerName is known. + + The options for executing this function. + + The parameter values to use for the function. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + An object representing the result of executing this function. + If function is null or empty + + If function is invalid (syntax, + does not exist, refers to a function with return type incompatible with T) + + + + Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution. + The number of rows affected. + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration. + + An enumeration of objects that represent custom data classes that map to the conceptual model. + + + + Returns all the existing proxy types. + + An of all the existing proxy types. + + + + Returns the entity type of the POCO entity associated with a proxy object of a specified type. + + The of the associated POCO entity. + + + The of the proxy object. + + + + Creates and returns an instance of the requested type . + An instance of the requested type T , or an instance of a derived type that enables T to be used with the Entity Framework. The returned object is either an instance of the requested type or an instance of a derived type that enables the requested type to be used with the Entity Framework. + Type of object to be returned. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior of + DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + + The to use when executing the query. The default is + . + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Translates a that contains rows of entity data to objects of the requested entity type. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + When reader is null. + + + + Translates a that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + The entity set of the TResult type. + + The to use when translated objects are added to the object context. The default is + + . + + When reader is null. + + When the supplied mergeOption is not a valid value. + + When the supplied entitySetName is not a valid entity set for the TResult type. + + + + Creates the database by using the current data source connection and the metadata in the + + . + + + + Deletes the database that is specified as the database in the current data source connection. + + + + Checks if the database that is specified as the database in the current store connection exists on the store. Most of the actual work + is done by the DbProviderServices implementation for the current store connection. + + true if the database exists; otherwise, false. + + + + Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the + + . The + + loads metadata from store schema definition language (SSDL) files. + + + A DDL script that creates schema objects for the metadata in the + + . + + + + + Defines options that affect the behavior of the ObjectContext. + + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + and are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + Gets or sets a Boolean value that determines whether related objects are loaded automatically when a navigation property is accessed. + true if lazy loading is enabled; otherwise, false. + + + Gets or sets a Boolean value that determines whether proxy instances are created for custom data classes that are persistence ignorant. + true if proxies are created; otherwise, false. The default value is true. + + + Gets or sets a Boolean value that determines whether to use the legacy PreserveChanges behavior. + true if the legacy PreserveChanges behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the consistent NullReference behavior. + + If this flag is set to false then setting the Value property of the for an + FK relationship to null when it is already null will have no effect. When this flag is set to true, then + setting the value to null will always cause the FK to be nulled and the relationship to be deleted + even if the value is currently null. The default value is false when using ObjectContext and true + when using DbContext. + + true if the consistent NullReference behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the C# NullComparison behavior. + + This flag determines whether C# behavior should be exhibited when comparing null values in LinqToEntities. + If this flag is set, then any equality comparison between two operands, both of which are potentially + nullable, will be rewritten to show C# null comparison semantics. As an example: + (operand1 = operand2) will be rewritten as + (((operand1 = operand2) AND NOT (operand1 IS NULL OR operand2 IS NULL)) || (operand1 IS NULL && operand2 IS NULL)) + The default value is false when using . + + true if the C# NullComparison behavior should be used; otherwise, false. + + + + EventArgs for the ObjectMaterialized event. + + + + + Constructs new arguments for the ObjectMaterialized event. + + The object that has been materialized. + + + Gets the entity object that was created. + The entity object that was created. + + + + Delegate for the ObjectMaterialized event. + + The ObjectContext responsable for materializing the object. + EventArgs containing a reference to the materialized object. + + + + This class represents a query parameter at the object layer, which consists + of a Name, a Type and a Value. + + + + + Initializes a new instance of the class with the specified name and type. + + The parameter name. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The common language runtime (CLR) type of the parameter. + If the value of either argument is null. + If the value of the name argument is invalid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + + Initializes a new instance of the class with the specified name and value. + + The parameter name. This name should not include the "@" parameter marker that is used in Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The initial value (and inherently, the type) of the parameter. + If the value of either argument is null. + If the value of the name argument is not valid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + Gets the parameter name, which can only be set through a constructor. + The parameter name, which can only be set through a constructor. + + + Gets the parameter type. + + The of the parameter. + + + + Gets or sets the parameter value. + The parameter value. + + + + This class represents a collection of query parameters at the object layer. + + + + Gets the number of parameters currently in the collection. + + The number of objects that are currently in the collection. + + + + + This collection is read-write - parameters may be added, removed + and [somewhat] modified at will (value only) - provided that the + implementation the collection belongs to has not locked its parameters + because it's command definition has been prepared. + + + + Provides an indexer that allows callers to retrieve parameters by name. + + The instance. + + The name of the parameter to find. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + No parameter with the specified name is found in the collection. + + + + Adds the specified to the collection. + + The parameter to add to the collection. + The parameter argument is null. + + The parameter argument already exists in the collection. This behavior differs from that of most collections that allow duplicate entries. -or-Another parameter with the same name as the parameter argument already exists in the collection. Note that the lookup is case-insensitive. This behavior differs from that of most collections, and is more like that of a + + . + + The type of the parameter is not valid. + + + + Deletes all instances from the collection. + + + + + Checks for the existence of a specified in the collection by reference. + + Returns true if the parameter object was found in the collection; otherwise, false. + + The to find in the collection. + + The parameter argument is null. + + + + Determines whether an with the specified name is in the collection. + + Returns true if a parameter with the specified name was found in the collection; otherwise, false. + The name of the parameter to look for in the collection. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + The name parameter is null. + + + Allows the parameters in the collection to be copied into a supplied array, starting with the object at the specified index. + The array into which to copy the parameters. + The index in the array at which to start copying the parameters. + + + + Removes an instance of an from the collection by reference if it exists in the collection. + + Returns true if the parameter object was found and removed from the collection; otherwise, false. + An object to remove from the collection. + The parameter argument is null. + + + + These methods return enumerator instances, which allow the collection to + be iterated through and traversed. + + An object that can be used to iterate through the collection. + + + Returns an untyped enumerator over the collection. + + An instance. + + + + + This class implements untyped queries at the object-layer. + + + + Returns the command text for the query. + A string value. + + + Gets the object context associated with this object query. + + The associated with this + + instance. + + + + Gets or sets how objects returned from a query are added to the object context. + + The query . + + + + + Whether the query is streaming or buffering + + + + Gets the parameter collection for this object query. + + The parameter collection for this . + + + + Gets or sets a value that indicates whether the query plan should be cached. + A value that indicates whether the query plan should be cached. + + + Returns the commands to execute against the data source. + A string that represents the commands that the query executes against the data source. + + + Returns information about the result type of the query. + + A value that contains information about the result type of the query. + + + + Executes the untyped object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + + Gets the result element type for this query instance. + + + + + Gets the expression describing this query. For queries built using + LINQ builder patterns, returns a full LINQ expression tree; otherwise, + returns a constant expression wrapping this query. Note that the + default expression is not cached. This allows us to differentiate + between LINQ and Entity-SQL queries. + + + + + Gets the associated with this query instance. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + ObjectQuery implements strongly-typed queries at the object-layer. + Queries are specified using Entity-SQL strings and may be created by calling + the Entity-SQL-based query builder methods declared by ObjectQuery. + + The result type of this ObjectQuery + + + + Creates a new instance using the specified Entity SQL command as the initial query. + + The Entity SQL query. + + The on which to execute the query. + + + + + Creates a new instance using the specified Entity SQL command as the initial query and the specified merge option. + + The Entity SQL query. + + The on which to execute the query. + + + Specifies how the entities that are retrieved through this query should be merged with the entities that have been returned from previous queries against the same + + . + + + + Gets or sets the name of this object query. + + A string value that is the name of this . + + The value specified on set is not valid. + + + Executes the object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + Specifies the related objects to include in the query results. + + A new with the defined query path. + + Dot-separated list of related objects to return in the query results. + path is null. + path is empty. + + + Limits the query to unique results. + + A new instance that is equivalent to the original instance with SELECT DISTINCT applied. + + + + + This query-builder method creates a new query whose results are all of + the results of this query, except those that are also part of the other + query specified. + + A query representing the results to exclude. + a new ObjectQuery instance. + If the query parameter is null. + + + Groups the query results by the specified criteria. + + A new instance of type + + that is equivalent to the original instance with GROUP BY applied. + + The key columns by which to group the results. + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + The query parameter is null or an empty string + or the projection parameter is null or an empty string. + + + + This query-builder method creates a new query whose results are those that + are both in this query and the other query specified. + + A query representing the results to intersect with. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to only results of a specific type. + + A new instance that is equivalent to the original instance with OFTYPE applied. + + + The type of the returned when the query is executed with the applied filter. + + The type specified is not valid. + + + Orders the query results by the specified criteria. + + A new instance that is equivalent to the original instance with ORDER BY applied. + + The key columns by which to order the results. + Zero or more parameters that are used in this method. + The keys or parameters parameter is null. + The key is an empty string. + + + Limits the query results to only the properties that are defined in the specified projection. + + A new instance of type + + that is equivalent to the original instance with SELECT applied. + + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + projection is null or parameters is null. + The projection is an empty string. + + + Limits the query results to only the property specified in the projection. + + A new instance of a type compatible with the specific projection. The returned + + is equivalent to the original instance with SELECT VALUE applied. + + The projection list. + An optional set of query parameters that should be in scope when parsing. + + The type of the returned by the + + method. + + projection is null or parameters is null. + The projection is an empty string. + + + Orders the query results by the specified criteria and skips a specified number of results. + + A new instance that is equivalent to the original instance with both ORDER BY and SKIP applied. + + The key columns by which to order the results. + The number of results to skip. This must be either a constant or a parameter reference. + An optional set of query parameters that should be in scope when parsing. + Any argument is null. + keys is an empty string or count is an empty string. + + + Limits the query results to a specified number of items. + + A new instance that is equivalent to the original instance with TOP applied. + + The number of items in the results as a string. + An optional set of query parameters that should be in scope when parsing. + count is null. + count is an empty string. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + without duplicates (i.e., results are unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + including any duplicates (i.e., results are not necessarily unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to results that match specified filtering criteria. + + A new instance that is equivalent to the original instance with WHERE applied. + + The filter predicate. + Zero or more parameters that are used in this method. + predicate is null or parameters is null. + The predicate is an empty string. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + This class implements IEnumerable and IDisposable. Instance of this class + is returned from ObjectQuery.Execute method. + + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + IListSource.ContainsListCollection implementation. Always returns false. + + + + Returns the results in a format useful for data binding. + + An of entity objects. + + + + + When overridden in a derived class, gets the type of the generic + + . + + + The type of the generic . + + + + Performs tasks associated with freeing, releasing, or resetting resources. + + + Releases the resources used by the object result. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the next result set of a stored procedure. + An ObjectResult that enumerates the values of the next result set. Null, if there are no more, or if the ObjectResult is not the result of a stored procedure call. + The type of the element. + + + + This class represents the result of the method. + + The type of the result. + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the type of the . + + + A that is the type of the . + + + + + Represents a typed entity set that is used to perform create, read, update, and delete operations. + + The type of the entity. + + + + Gets the metadata of the entity set represented by this instance. + + + An object. + + + + Adds an object to the object context in the current entity set. + The object to add. + + + Attaches an object or object graph to the object context in the current entity set. + The object to attach. + + + Marks an object for deletion. + + An object that represents the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + + + + Sets the property of an + + to match the property values of a supplied object. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of originalEntity must match the + + property of an entry in the + + . + + + + Creates a new entity type object. + The new entity type object, or an instance of a proxy type that corresponds to the entity type. + + + Creates an instance of the specified type. + An instance of the requested type T , or an instance of a proxy type that corresponds to the type T . + Type of object to be returned. + + + + Represents either a entity, entity stub or relationship + + + + + Gets the for the + + . + + + The for the + + . + + + + + Gets the for the object or relationship. + + + The for the object or relationship. + + + + + Gets the state of the . + + + The state of the . + + + + Gets the entity object. + The entity object. + + + Gets the entity key. + The entity key. + + + + Gets a value that indicates whether the represents a relationship. + + + true if the represents a relationship; otherwise, false. + + + + Gets the read-only version of original values of the object or relationship. + The read-only version of original values of the relationship set entry or entity. + + + + Gets the updatable version of original values of the object associated with this + + . + + The updatable original values of object data. + + + + Gets the current property values of the object or relationship associated with this + + . + + + A that contains the current values of the object or relationship associated with this + + . + + + + Accepts the current values as original values. + + + Marks an entity as deleted. + + + + Returns the names of an object’s properties that have changed since the last time + + was called. + + + An collection of names as string. + + + + Sets the state of the object or relationship to modify. + If State is not Modified or Unchanged + + + Marks the specified property as modified. + The name of the property. + If State is not Modified or Unchanged + + + Rejects any changes made to the property with the given name since the property was last loaded, attached, saved, or changes were accepted. The original value of the property is stored and the property will no longer be marked as modified. + The name of the property to change. + + + Uses DetectChanges to determine whether or not the current value of the property with the given name is different from its original value. Note that this may be different from the property being marked as modified since a property which has not changed can still be marked as modified. + + Note that this property always returns the same result as the modified state of the property for change tracking + proxies and entities that derive from the EntityObject base class. This is because original values are not tracked + for these entity types and hence there is no way to know if the current value is really different from the + original value. + + true if the property has changed; otherwise, false. + The name of the property. + + + + Gets the instance for the object represented by entry. + + + The object. + + The entry is a stub or represents a relationship + + + + Changes state of the entry to the specified value. + + + The value to set for the + + property of the entry. + + + + Sets the current values of the entry to match the property values of a supplied object. + The detached object that has updated values to apply to the object. currentEntity can also be the object’s entity key. + + + Sets the original values of the entry to match the property values of a supplied object. + The detached object that has original values to apply to the object. originalEntity can also be the object’s entity key. + + + + Used to report that a scalar entity property is about to change + The current value of the specified property is cached when this method is called. + + The name of the entity property that is changing + + + + Used to report that a scalar entity property has been changed + The property value that was cached during EntityMemberChanging is now + added to OriginalValues + + The name of the entity property that has changing + + + + Used to report that a complex property is about to change + The current value of the specified property is cached when this method is called. + + The name of the top-level entity property that is changing + The complex object that contains the property that is changing + The name of the property that is changing on complexObject + + + + Used to report that a complex property has been changed + The property value that was cached during EntityMemberChanging is now added to OriginalValues + + The name of the top-level entity property that has changed + The complex object that contains the property that changed + The name of the property that changed on complexObject + + + + Returns the EntityState from the ObjectStateEntry + + + + + Maintains object state and identity management for entity type instances and relationship instances. + + + + + Initializes a new instance of the class. + + + The , which supplies mapping and metadata information. + + + + + Gets the associated with this state manager. + + + The associated with this + + . + + + + Occurs when entities are added to or removed from the state manager. + + + + Returns a collection of objects for objects or relationships with the given state. + + + A collection of objects in the given + + . + + + An used to filter the returned + + objects. + + + When state is . + + + + + Changes state of the for a specific object to the specified entityState . + + + The for the supplied entity . + + The object for which the state must be changed. + The new state of the object. + When entity is null. + + When the object is not detached and does not have an entry in the state manager + or when you try to change the state to + from any other + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the name of the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + When source or target is null. + + When trying to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and a LINQ expression that defines the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + A LINQ expression that selects the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + The entity type of the source object. + When source , target , or selector is null. + selector is malformed or cannot return a navigation property. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a + state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the properties of the relationship. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the relationship. + The role name at the target end of the relationship. + + The requested of the specified relationship. + + When source or target is null. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an + state + or when state is not a valid value. + + + + + Returns an for the object or relationship entry with the specified key. + + + The corresponding for the given + + . + + + The . + + When key is null. + When the specified key cannot be found in the state manager. + + No entity with the specified exists in the + + . + + + + + Returns an for the specified object. + + + The corresponding for the given + + . + + + The to which the retrieved + + belongs. + + + No entity for the specified exists in the + + . + + + + + Tries to retrieve the corresponding for the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given object; otherwise, false. + + + The to which the retrieved + + belongs. + + + When this method returns, contains the for the given + + This parameter is passed uninitialized. + + + + + Tries to retrieve the corresponding for the object or relationship with the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given + + ; otherwise, false. + + + The given . + + + When this method returns, contains an for the given + + This parameter is passed uninitialized. + + A null (Nothing in Visual Basic) value is provided for key . + + + + Returns the that is used by the specified object. + + + The for the specified object. + + + The object for which to return the . + + + The entity does not implement IEntityWithRelationships and is not tracked by this ObjectStateManager + + + + + Returns the that is used by the specified object. + + + true if a instance was returned for the supplied entity ; otherwise false. + + + The object for which to return the . + + + When this method returns, contains the + + for the entity . + + + + + The original values of the properties of an entity when it was retrieved from the database. + + + + + A DataContractResolver that knows how to resolve proxy types created for persistent + ignorant classes to their base types. This is used with the DataContractSerializer. + + + + During deserialization, maps any xsi:type information to the actual type of the persistence-ignorant object. + Returns the type that the xsi:type is mapped to. Returns null if no known type was found that matches the xsi:type. + The xsi:type information to map. + The namespace of the xsi:type. + The declared type. + + An instance of . + + + + During serialization, maps actual types to xsi:type information. + true if the type was resolved; otherwise, false. + The actual type of the persistence-ignorant object. + The declared type. + + An instance of . + + When this method returns, contains a list of xsi:type declarations. + When this method returns, contains a list of namespaces used. + + + + Defines the different ways to handle modified properties when refreshing in-memory data from the database. + + + + + For unmodified client objects, same behavior as StoreWins. For modified client + objects, Refresh original values with store value, keeping all values on client + object. The next time an update happens, all the client change units will be + considered modified and require updating. + + + + + Discard all changes on the client and refresh values with store values. + Client original values is updated to match the store. + + + + + Flags used to modify behavior of ObjectContext.SaveChanges() + + + + + Changes are saved without the DetectChanges or the AcceptAllChangesAfterSave methods being called. + + + + + After changes are saved, the AcceptAllChangesAfterSave method is called, which resets change tracking in the ObjectStateManager. + + + + + Before changes are saved, the DetectChanges method is called to synchronize the property values of objects that are attached to the object context with data in the ObjectStateManager. + + + + + This exception is thrown when a update operation violates the concurrency constraint. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The enumerable collection of objects. + + + + + Property constraint exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of the class with default message. + + + + + Initializes a new instance of the class with supplied message. + + A localized error message. + + + + Initializes a new instance of the class with supplied message and inner exception. + + A localized error message. + The inner exception. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + The inner exception. + + + Gets the name of the property that violated the constraint. + The name of the property that violated the constraint. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the store provider exhibits a behavior incompatible with the entity client provider + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Used for conversion between different representations of bit array. + Returns (n+(div-1))/div, rearranged to avoid arithmetic overflow. + For example, in the bit to int case, the straightforward calc would + be (n+31)/32, but that would cause overflow. So instead it's + rearranged to ((n-1)/32) + 1, with special casing for 0. + + Usage: + GetArrayLength(77, BitsPerInt32): returns how many ints must be + allocated to store 77 bits. + + length of array + use a conversion constant, e.g. BytesPerInt32 to get + how many ints are required to store n bytes + length of the array + + + + Is this tree uses user-defined functions + Simplifying query with UDFs could caused to suboptimal plans + + Current subtree to process + Mapped variables + + + + + Exception during save changes to store + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The collection of objects. + + + + + Gets the objects for this + + . + + + A collection of objects comprised of either a single entity and 0 or more relationships, or 0 entities and 1 or more relationships. + + + + + Initializes a new instance of with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instance of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Gets the transaction the underlying store connection is enlisted in. May be null. + + + + + Enables the user to pass in a database transaction created outside of the object + if you want the Entity Framework to execute commands within that external transaction. + Alternatively, pass in null to clear the framework's knowledge of that transaction. + + the external transaction + Thrown if the transaction is already completed + + Thrown if the connection associated with the object is already enlisted in a + + transaction + + + Thrown if the connection associated with the object is already participating in a transaction + + Thrown if the connection associated with the transaction does not match the Entity Framework's connection + + + + Begins a transaction on the underlying store connection + + + a object wrapping access to the underlying store's transaction object + + + + + Begins a transaction on the underlying store connection using the specified isolation level + + The database isolation level with which the underlying store transaction will be created + + a object wrapping access to the underlying store's transaction object + + + + + Returns the connection being used by this context. This may cause the + connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Sets the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Runs the registered on this context. + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + + If set to true the initializer is run even if it has already been run. + + + + + Checks whether or not the database is compatible with the current Code First model. + + + Model compatibility currently uses the following rules. + If the context was created using either the Model First or Database First approach then the + model is assumed to be compatible with the database and this method returns true. + For Code First the model is considered compatible if the model is stored in the database + in the Migrations history table and that model has no differences from the current model as + determined by Migrations model differ. + If the model is not stored in the database but an EF 4.1/4.2 model hash is found instead, + then this is used to check for compatibility. + + + If set to true then an exception will be thrown if no model metadata is found in the database. If set to false then this method will return true if metadata is not found. + + True if the model hash in the context and the database match; false otherwise. + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + Calling this method from outside of an initializer will mark the database as having + not been initialized. This means that if an attempt is made to use the database again + after it has been deleted, then any initializer set will run again and, usually, will + try to create the database again automatically. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + By default, the instance to use is read from the application's .config + file from the "EntityFramework DefaultConnectionFactory" entry in appSettings. If no entry is found in + the config file then is used. Setting this property in code + always overrides whatever value is found in the config file. + + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local or ambient transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the timeout value, in seconds, for all context operations. + The default value is null, where null indicates that the default value of the underlying + provider will be used. + + + The timeout, in seconds, or null to use the provider default. + + + + + Set this property to log the SQL generated by the to the given + delegate. For example, to log to the console, set this property to . + + + The format of the log text can be changed by creating a new formatter that derives from + and setting it with . + For more low-level control over logging/interception see and + . + + + + + A class derived from this class can be placed in the same assembly as a class derived from + to define Entity Framework configuration for an application. + Configuration is set by calling protected methods and setting protected properties of this + class in the constructor of your derived type. + The type to use can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Any class derived from must have a public parameterless constructor + and that constructor should call this constructor. + + + + + The Singleton instance of for this app domain. This can be + set at application start before any Entity Framework features have been used and afterwards + should be treated as read-only. + + The instance of . + + + + Attempts to discover and load the associated with the given + type. This method is intended to be used by tooling to ensure that + the correct configuration is loaded into the app domain. Tooling should use this method + before accessing the property. + + A type to use for configuration discovery. + + + + Attempts to discover and load the from the given assembly. + This method is intended to be used by tooling to ensure that the correct configuration is loaded into + the app domain. Tooling should use this method before accessing the + property. If the tooling knows the type being used, then the + method should be used since it gives a greater chance that + the correct configuration will be found. + + An to use for configuration discovery. + + + + Occurs during EF initialization after the DbConfiguration has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that this event should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The exceptions to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here. + + The resolver to add. + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + + A implementation is automatically registered as a default resolver + when it is added with a call to . This allows EF providers to act as + resolvers for other services that may need to be overridden by the provider. + + The resolver to add. + + + + Gets the that is being used to resolve service + dependencies in the Entity Framework. + + + + + Call this method from the constructor of a class derived from to register + an Entity Framework provider. + + + Note that the provider is both registered as a service itself and also registered as a default resolver with + a call to AddDefaultResolver. This allows EF providers to act as resolvers for other services that + may need to be overridden by the provider. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register + an ADO.NET provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolvers for + and . This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + A function that returns a new instance of an execution strategy. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A function that returns a new instance of an execution strategy. + A string that will be matched against the server name in the connection string. + + + + Call this method from the constructor of a class derived from to register a + . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + A string that will be matched against the server name in the connection string. + + + + Sets the that is used to create connections by convention if no other + connection string or connection is given to or can be discovered by . + Note that a default connection factory is set in the app.config or web.config file whenever the + EntityFramework NuGet package is installed. As for all config file settings, the default connection factory + set in the config file will take precedence over any setting made with this method. Therefore the setting + must be removed from the config file before calling this method will have any effect. + Call this method from the constructor of a class derived from to change + the default connection factory being used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The connection factory. + + + + Call this method from the constructor of a class derived from to + set the pluralization service. + + The pluralization service to use. + + + + Call this method from the constructor of a class derived from to + set the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + + Calling this method is equivalent to calling . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is typically used by providers to register an associated SQL generator for Code First Migrations. + It is different from setting the generator in the because it allows + EF to use the Migrations pipeline to create a database even when there is no Migrations configuration in the project + and/or Migrations are not being explicitly used. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + A delegate that returns a new instance of the SQL generator each time it is called. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows provider manifest tokens to + be obtained from connections without necessarily opening the connection. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The manifest token resolver. + + + + Call this method from the constructor of a class derived from to set + a factory for implementations of which allows custom annotations + represented by instances to be serialized to and from the EDMX XML. + + + Note that an is not needed if the annotation uses a simple string value. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The name of custom annotation that will be handled by this serializer. + A delegate that will be used to create serializer instances. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows a + to be obtained from a in cases where the default implementation is not + sufficient. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The provider factory service. + + + + Call this method from the constructor of a class derived from to set + a as the model cache key factory which allows the key + used to cache the model behind a to be changed. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can + be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The key factory. + + + + Call this method from the constructor of a class derived from to set + a delegate which can be used for + creation of the default for a any + . This default factory will only be used if no factory is + set explicitly in the and if no factory has been registered + for the provider in use using the + + method. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + a delegate which allows for creation of a customized + for the given provider for any + that does not have an explicit factory set. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + the global instance of which will be used whenever a spatial provider is + required and a provider-specific spatial provider cannot be found. Normally, a provider-specific spatial provider + is obtained from the a implementation which is in turn returned by resolving + a service for passing the provider invariant name as a key. However, this + cannot work for stand-alone instances of and since + it is impossible to know the spatial provider to use. Therefore, when creating stand-alone instances + of and the global spatial provider is always used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider and provider + manifest token. + + + Use + to register spatial services for use only when a specific manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The indicating the type of ADO.NET connection for which this spatial provider will be used. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider with any + manifest token. + + + Use + to register spatial services for use when any manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this spatial provider will be used. + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + a factory for the type of to use with . + + + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + instance onto before any commands will be logged. + For more low-level control over logging/interception see and + . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A delegate that will create formatter instances. + + + + Call this method from the constructor of a class derived from to + register an at application startup. Note that interceptors can also + be added and removed at any time using . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The interceptor to register. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Sets a singleton model store implementation (persisted model cache). + + The model store implementation. + + + + Call this method from the constructor of a class derived from to register + a database table existence checker for a given provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The table existence checker to use. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + This attribute can be placed on a subclass of to indicate that the subclass of + representing the code-based configuration for the application is in a different + assembly than the context type. + + + Normally a subclass of should be placed in the same assembly as + the subclass of used by the application. It will then be discovered automatically. + However, if this is not possible or if the application contains multiple context types in different + assemblies, then this attribute can be used to direct DbConfiguration discovery to the appropriate type. + An alternative to using this attribute is to specify the DbConfiguration type to use in the application's + config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. + + + + + Indicates that the given subclass of should be used for code-based configuration + for this application. + + + The type to use. + + + + + Indicates that the subclass of represented by the given assembly-qualified + name should be used for code-based configuration for this application. + + + The type to use. + + + + + Gets the subclass of that should be used for code-based configuration + for this application. + + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to (localdb)\MSSQLLocalDB unless a different DefaultConnectionFactory is registered.) + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + The model that will back this context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + + An existing ObjectContext to wrap with the new context. + + If set to true the ObjectContext is disposed when the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuilder, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns a instance for access to entities of the given type in the context + and the underlying store. + + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the non-generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic instance for access to entities of the given type in the context + and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + + + + Saves all changes made in this context to the underlying database. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + Thrown if the context has been disposed. + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + Collection of validation results for invalid entities. The collection is never null and must not contain null values or results for valid entities. + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation; false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + + User-defined dictionary containing additional info for custom validation. It will be passed to + + and will be exposed as + + . This parameter is optional and can be null. + + Entity validation result. Possibly null when overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Wraps access to the transaction object on the underlying store connection and ensures that the + Entity Framework executes commands on the database within the context of that transaction. + An instance of this class is retrieved by calling BeginTransaction() on the + + object. + + + + + Gets the database (store) transaction that is underlying this context transaction. + + + + + Commits the underlying store transaction + + + + + Rolls back the underlying store transaction + + + + + Cleans up this transaction object and ensures the Entity Framework + is no longer using that transaction. + + + + + Releases the resources used by this transaction object + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this class was called EdmFunctionAttribute in some previous versions of Entity Framework. + + + + + Initializes a new instance of the class. + + The namespace of the mapped-to function. + The name of the mapped-to function. + + + The namespace of the mapped-to function. + The namespace of the mapped-to function. + + + The name of the mapped-to function. + The name of the mapped-to function. + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that this class was called EntityFunctions in some previous versions of Entity Framework. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding + DbContext.OnModelCreating(DbModelBuilder) + . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Configures the default database schema name. This default database schema name is used + for database objects that do not have an explicitly configured schema name. + + The name of the default database schema. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes the specified type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers an entity type as part of the model. + + The type to be registered. + + This method is provided as a convenience to allow entity types to be registered dynamically + without the need to use MakeGenericMethod in order to call the normal generic Entity method. + This method does not allow further configuration of the entity type using the fluent APIs since + these APIs make extensive use of generic type parameters. + + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types + in the model that inherit from or implement the type specified by the generic argument. + This method does not register types as part of the model. + + The type of the entities or complex types that this convention will apply to. + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also known as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + when targeting .Net Framework 4 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v6.0 + should be used. + + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also known as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + + The conventions version to use. + + + + + Gets the conventions version. + + + The conventions version. + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + + + + + + + + + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + + + + + + + Returns the equivalent non-generic object. + + The generic set object. + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. + + The type of the context. + + Whether or not the model has changed is determined by the + method. + To seed the database create a derived class and override the Seed method. + + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + Describes the state of an entity. + + + + + The entity is not being tracked by the context. + An entity is in this state immediately after it has been created with the new operator + or with one of the Create methods. + + + + + The entity is being tracked by the context and exists in the database, and its property + values have not changed from the values in the database. + + + + + The entity is being tracked by the context but does not yet exist in the database. + + + + + The entity is being tracked by the context and exists in the database, but has been marked + for deletion from the database the next time SaveChanges is called. + + + + + The entity is being tracked by the context and exists in the database, and some or all of its + property values have been modified. + + + + + A provider-independent service API for HierarchyId type support. + + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Represents hierarchical data. + + + + + The Path separator character + + + + + Constructs an HierarchyId. + + + + + Constructs an HierarchyId with the given canonical string representation value. + + Hierarchyid value. + Canonical string representation + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + Value Condition Less than zero: hid1 is less than hid2. + Zero: hid1 equals hid2. + Greater than zero: hid1 is greater than hid2. + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are equal, false otherwise + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are not equal, false otherwise + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a value-based hash code, to allow HierarchyId to be used in hash tables. + + the hash value of this HierarchyId + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a string representation of the hierarchyid value. + + A string representation of the hierarchyid value. + + + + Implementation of IComparable.CompareTo() + + The object to compare to + 0 if the HierarchyIds are "equal" (i.e., have the same _hierarchyId value) + + + + An implementation of this interface is used to initialize the underlying database when + an instance of a derived class is used for the first time. + This initialization can conditionally create the database and/or seed it with data. + The strategy used is set using the static InitializationStrategy property of the + class. + The following implementations are provided: , + , . + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + An represents the collection of all entities in the context, or that + can be queried from the database, of a given type. is a concrete + implementation of IDbSet. + + + was originally intended to allow creation of test doubles (mocks or + fakes) for . However, this approach has issues in that adding new members + to an interface breaks existing code that already implements the interface without the new members. + Therefore, starting with EF6, no new members will be added to this interface and it is recommended + that be used as the base class for test doubles. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Inherit from this class to create a service that allows for code generation of custom annotations as part of + scaffolding Migrations. The derived class should be set onto the . + + + Note that an is not needed if the annotation uses a simple string value, + or if calling ToString on the annotation object is sufficient for use in the scaffolded Migration. + + + + + Override this method to return additional namespaces that should be included in the code generated for the + scaffolded migration. The default implementation returns an empty enumeration. + + The names of the annotations that are being included in the generated code. + A list of additional namespaces to include. + + + + Implement this method to generate code for the given annotation value. + + The name of the annotation for which a value is being generated. + The annotation value. + The writer to which generated code should be written. + + + + Represents a pair of annotation values in a scaffolded or hand-coded . + + + Code First allows for custom annotations to be associated with columns and tables in the + generated model. This class represents a pair of annotation values in a migration such + that when the Code First model changes the old annotation value and the new annotation + value can be provided to the migration and used in SQL generation. + + + + + Creates a new pair of annotation values. + + The old value of the annotation, which may be null if the annotation has just been created. + The new value of the annotation, which may be null if the annotation has been deleted. + + + + Gets the old value of the annotation, which may be null if the annotation has just been created. + + + + + Gets the new value of the annotation, which may be null if the annotation has been deleted. + + + + + + + + + + + Returns true if both annotation pairs contain the same values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if both pairs contain the same values. + + + + Returns true if the two annotation pairs contain different values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if the pairs contain different values. + + + + Returned by and related methods to indicate whether or + not one object does not conflict with another such that the two can be combined into one. + + + If the two objects are not compatible then information about why they are not compatible is contained + in the property. + + + + + Creates a new instance. + + Indicates whether or not the two tested objects are compatible. + + An error message indicating how the objects are not compatible. Expected to be null if isCompatible is true. + + + + + True if the two tested objects are compatible; otherwise false. + + + + + If is true, then returns an error message indicating how the two tested objects + are incompatible. + + + + + Implicit conversion to a bool to allow the result object to be used directly in checks. + + The object to convert. + True if the result is compatible; false otherwise. + + + + Types used as custom annotations can implement this interface to indicate that an attempt to use + multiple annotations with the same name on a given table or column may be possible by merging + the multiple annotations into one. + + + Normally there can only be one custom annotation with a given name on a given table or + column. If a table or column ends up with multiple annotations, for example, because + multiple CLR properties map to the same column, then an exception will be thrown. + However, if the annotation type implements this interface, then the two annotations will be + checked for compatibility using the method and, if compatible, + will be merged into one using the method. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new merged annotation. This method is + only expected to succeed if returns true. + + The annotation to merge with this one. + A new merged annotation. + + + + Instances of this class are used as custom annotations for representing database indexes in an + Entity Framework model. + + + An index annotation is added to a Code First model when an is placed on + a mapped property of that model. This is used by Entity Framework Migrations to create indexes on + mapped database columns. Note that multiple index attributes on a property will be merged into a + single annotation for the column. Similarly, index attributes on multiple properties that map to the + same column will be merged into a single annotation for the column. This means that one index + annotation can represent multiple indexes. Within an annotation there can be only one index with any + given name. + + + + + The name used when this annotation is stored in Entity Framework metadata or serialized into + an SSDL/EDMX file. + + + + + Creates a new annotation for the given index. + + An index attributes representing an index. + + + + Creates a new annotation for the given collection of indexes. + + Index attributes representing one or more indexes. + + + + Gets the indexes represented by this annotation. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + + Each index annotation contains at most one with a given name. + Two annotations are considered compatible if each IndexAttribute with a given name is only + contained in one annotation or the other, or if both annotations contain an IndexAttribute + with the given name. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new annotation containing the merged indexes. + + + Each index annotation contains at most one with a given name. + The merged annotation will contain IndexAttributes from both this and the other annotation. + If both annotations contain an IndexAttribute with the same name, then the merged annotation + will contain one IndexAttribute with that name. + + The annotation to merge with this one. + A new annotation with indexes from both annotations merged. + + The other annotation contains indexes that are not compatible with indexes in this annotation. + + + + + + + + This class is used to serialize and deserialize objects so that they + can be stored in the EDMX form of the Entity Framework model. + + + An example of the serialized format is: + { Name: 'MyIndex', Order: 7, IsClustered: True, IsUnique: False } { } { Name: 'MyOtherIndex' }. + Note that properties that have not been explicitly set in an index attribute will be excluded from + the serialized output. So, in the example above, the first index has all properties specified, + the second has none, and the third has just the name set. + + + + + Serializes the given into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize which must be an IndexAnnotation object. + The serialized value. + + + + Deserializes the given string back into an object. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + If there is an error reading the serialized value. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Checks if the is tracking any new, deleted, or changed entities or + relationships that will be sent to the database if is called. + + + Functionally, calling this method is equivalent to checking if there are any entities or + relationships in the Added, Updated, or Deleted state. + Note that this method calls unless + has been set to false. + + + True if underlying have changes, else false. + + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from + ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + The context. + + + + A non-generic version of the class. + + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Represents information about a database connection. + + + + + Creates a new instance of DbConnectionInfo representing a connection that is specified in the application configuration file. + + The name of the connection string in the application configuration. + + + + Creates a new instance of DbConnectionInfo based on a connection string. + + The connection string to use for the connection. + The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Describes the origin of the database connection string associated with a . + + + + + The connection string was created by convention. + + + + + The connection string was read from external configuration. + + + + + The connection string was explicitly specified at runtime. + + + + + The connection string was overridden by connection information supplied to DbContextInfo. + + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + + true if lazy loading is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + + true if proxy creation is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is false. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + Gets or sets a value indicating whether the + method is called automatically by methods of and related classes. + The default value is true. + + + true if should be called automatically; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + Provides runtime information about a given type. + + + + + Creates a new instance representing a given type. + + + The type deriving from . + + + + + Creates a new instance representing a given targeting a specific database. + + + The type deriving from . + + Connection information for the database to be used. + + + + Creates a new instance representing a given type. An external list of + connection strings can be supplied and will be used during connection string resolution in place + of any connection strings specified in external configuration files. + + + It is preferable to use the constructor that accepts the entire config document instead of using this + constructor. Providing the entire config document allows DefaultConnectionFactroy entries in the config + to be found in addition to explicitly specified connection strings. + + + The type deriving from . + + A collection of connection strings. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + + + + Creates a new instance representing a given , targeting a specific database. + An external config object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + Connection information for the database to be used. + + + + Creates a new instance representing a given type. A + can be supplied in order to override the default determined provider used when constructing + the underlying EDM model. + + + The type deriving from . + + + A specifying the underlying ADO.NET provider to target. + + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + A can be supplied in order to override the default determined + provider used when constructing the underlying EDM model. This can be useful to prevent EF from + connecting to discover a manifest token. + + + The type deriving from . + + An object representing the config file. + + A specifying the underlying ADO.NET provider to target. + + + + + The concrete type. + + + + + Whether or not instances of the underlying type can be created. + + + + + The connection string used by the underlying type. + + + + + The connection string name used by the underlying type. + + + + + The ADO.NET provider name of the connection used by the underlying type. + + + + + The origin of the connection string used by the underlying type. + + + + + An action to be run on the DbModelBuilder after OnModelCreating has been run on the context. + + + + + If instances of the underlying type can be created, returns + a new instance; otherwise returns null. + + + A instance. + + + + + A non-generic version of the class. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object,object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + The object representing the tracked entity. + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object, object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Provides the base implementation of the retry mechanism for unreliable operations and transient conditions that uses + exponentially increasing delays between retries. + + + A new instance will be created each time an operation is executed. + The following formula is used to calculate the delay after retryCount number of attempts: + min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) + The retryCount starts at 0. + The random factor distributes uniformly the retry attempts from multiple simultaneous operations failing simultaneously. + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + Returns true to indicate that might retry the execution after a failure. + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + A delegate representing an executable operation that doesn't return any results. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + The type of result expected from the executable operation. + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified asynchronous operation while it satisfies the current retry policy. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repeatedly executes the specified asynchronous operation while it satisfies the current retry policy. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Determines whether the operation should be retried and the delay before the next attempt. + + The exception thrown during the last execution attempt. + + Returns the delay indicating how long to wait for before the next execution attempt if the operation should be retried; + null otherwise + + + + + Recursively gets InnerException from as long as it's an + , or + and passes it to + + The type of the unwrapped exception. + The exception to be unwrapped. + A delegate that will be called with the unwrapped exception. + + The result from . + + + + + Determines whether the specified exception represents a transient failure that can be compensated by a retry. + + The exception object to be verified. + + true if the specified exception is considered as transient, otherwise false. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + Gets the name of the property. + The name of the property. + + + + Gets or sets the current value of this property. + + The current value. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Gets the provider information. + + + + + Gets the provider manifest. + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Gets the mapping model. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Base class for persisted model cache. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the default database schema used by a model. + + The type of context representing the model. + The default database schema. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + Setting this value to false for a modified property will revert the change by setting the + current value to the original value. If the result is that no properties of the entity are + marked as modified, then the entity will be marked as Unchanged. + Setting this value to false for properties of Added, Unchanged, or Deleted entities + is a no-op. + + + true if this instance is modified; otherwise, false . + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false . + + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Groups a pair of strings that identify a provider and server version together into a single object. + + + Instances of this class act as the key for resolving a for a specific + provider from a . This is typically used when registering spatial services + in or when the spatial services specific to a provider is + resolved by an implementation of . + + + + + Creates a new object for a given provider invariant name and manifest token. + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + The manifest token is sometimes referred to as a version hint. + + + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + + + + + + + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new DbQuery<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + + + + + + + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + Returns a new instance of the non-generic class for this query. + + The query. + A non-generic version. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a generic version of this class. + + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a non-generic version of this class. + + The type of elements returned by the query. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of the query that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a generic version of this class. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking + and AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a non-generic version of this class. + + The type of entities returned by the query. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking and + AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateConcurrencyException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Exception thrown by when the saving of changes to the database fails. + Note that state entries referenced by this exception are not serialized due to security and accesses to the + state entries after serialization will return null. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Loads or saves models from/into .edmx files at a specified location. + + + + + Initializes a new DefaultDbModelStore instance. + + The parent directory for the .edmx files. + + + + Gets the location of the .edmx files. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the path of the .edmx file corresponding to the specified context type. + + A context type. + The .edmx file path. + + + + Validates the model store is valid. + The default implementation verifies that the .edmx file was last + written after the context assembly was last written. + + The type of context representing the model. + The path of the stored model. + Whether the edmx file should be invalidated. + + + + An that doesn't retry operations if they fail. + + + + + Returns false to indicate that will not retry the execution after a failure. + + + + + Executes the specified operation once. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation once and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation once, without retrying on failure. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + Executes the specified asynchronous operation once, without retrying on failure. + + + The result type of the returned by . + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + A default implementation of that uses the + underlying provider to get the manifest token. + Note that to avoid multiple queries, this implementation using caching based on the actual type of + instance, the property, + and the property. + + + + + + + + Event arguments passed to event handlers. + + + + + Returns a snapshot of the that is about to be locked. + Use the GetService methods on this object to get services that have been registered. + + + + + Call this method to add a instance to the Chain of + Responsibility of resolvers that are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The only exception to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here, unless the + overrideConfigFile is set to true in which case the resolver added here will also override config + file settings. + + The resolver to add. + If true, then the resolver added will take precedence over settings in the config file. + + + + Call this method to add a instance to the Chain of Responsibility + of resolvers that are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + The resolver to add. + + + + Adds a wrapping resolver to the configuration that is about to be locked. A wrapping + resolver is a resolver that incepts a service would have been returned by the resolver + chain and wraps or replaces it with another service of the same type. + + The type of service to wrap or replace. + A delegate that takes the unwrapped service and key and returns the wrapped or replaced service. + + + + + + + + + + + + + + + + An implementation used for resolving + factories. + + + This class can be used by to aid in the resolving + of factories as a default service for the provider. + + The type of execution strategy that is resolved. + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + A string that will be matched against the server name in the connection string. null will match anything. + + A function that returns a new instance of an execution strategy. + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return null. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + This interface is implemented by any object that can resolve a dependency, either directly + or through use of an external container. + + + The public services currently resolved using IDbDependencyResolver are documented here: + http://msdn.microsoft.com/en-us/data/jj680697 + + + + + Attempts to resolve a dependency for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return null and not throw. This + allows resolvers to be used in a Chain of Responsibility pattern such that multiple resolvers + can be asked to resolve a dependency until one finally does. + + The interface or abstract base class that defines the dependency to be resolved. The returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + The resolved dependency, which must be an instance of the given contract type, or null if the dependency could not be resolved. + + + + Attempts to resolve a dependencies for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return an empty enumeration and + not throw. This method differs from in that it returns all registered + services for the given type and key combination. + + The interface or abstract base class that defines the dependency to be resolved. Every returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + All services that resolve the dependency, which must be instances of the given contract type, or an empty enumeration if the dependency could not be resolved. + + + + Extension methods to call the method using + a generic type parameter and/or no name. + + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Implements to resolve a dependency such that it always returns + the same instance. + + The type that defines the contract for the dependency that will be resolved. + + This class is immutable such that instances can be accessed by multiple threads at the same time. + + + + + Constructs a new resolver that will return the given instance for the contract type + regardless of the key passed to the Get method. + + The instance to return. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches exactly the key passed to the Get method. + + The instance to return. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches the key passed to the Get method based on the given predicate. + + The instance to return. + A predicate that takes the key object and returns true if and only if it matches. + + + + + + + + + + An implementation used for resolving + factories. + + + + + Initializes a new instance of + + A function that returns a new instance of a transaction handler. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which the transaction handler will be used. + null will match anything. + + + A string that will be matched against the server name in the connection string. null will match anything. + + + + + If the given type is , then this method will attempt + to return the service to use, otherwise it will return null. When the given type is + , then the key is expected to be a . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + , then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + + + + + + + Provides utility methods for reading from an App.config or Web.config file. + + + + + Initializes a new instance of . + + The configuration to read from. + + + + Gets the specified provider services from the configuration. + + The invariant name of the provider services. + The provider services type name, or null if not found. + + + + Used for design-time scenarios where the user's code needs to be executed inside + of an isolated, runtime-like . + + Instances of this class should be created inside of the guest domain. + Handlers should be created inside of the host domain. To invoke operations, + create instances of the nested classes inside + + + + + Initializes a new instance of the class. Do this inside of the guest + domain. + + The path for the assembly containing the user's code. + The parameter is not used. + + + + Used to get the assembly-qualified name of the DbProviderServices type for the + specified provider invariant name. + + + + + Represents an operation. + + + + + Initializes a new instance of the class. + + An object to handle callbacks during the operation. + + + + Executes an action passing exceptions to the handler. + + The action to execute. + + + + Executes an action passing the result or exceptions to the handler. + + The result type. + The action to execute. + + + + Executes an action passing results or exceptions to the handler. + + The type of results. + The action to execute. + + + + Base handler type. Handlers aren't required to use this exact type. Only the + namespace, name, and member signatures need to be the same. This also applies to + handler contracts types + + + + + Indicates whether the specified contract is implemented by this handler. + + The full name of the contract interface. + True if the contract is implemented, otherwise false. + + + + Used to handle reported design-time activity. + + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + A contract handlers can use to accept a single result. + + + + + + Sets the result. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + true if the error was handled; otherwise, false. + + + + Used to handle reported design-time activity. + + + + + Initializes a new instance of the class. + + A callback for . + A callback for . + A callback for . + A callback for . + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + Used with to handle operation results. + + + + + Gets a value indicating whether a result is available. + + A value indicating whether a result is available. + + + + Gets the result. + + The result. + + + + Gets the type of the exception if any. + + The exception type. + + + + Gets the error message if any. + + The error message. + + + + Get the error stack trace if any. + + The stack trace. + + + + Invoked when a result is available. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Utility class for reading a metadata model from .edmx. + + + + + Reads a metadata model from .edmx. + + XML reader for the .edmx + Default database schema used by the model. + The loaded metadata model. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + A key used for resolving . It consists of the ADO.NET provider invariant name + and the database server name as specified in the connection string. + + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A string that will be matched against the server name in the connection string. + + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + + + A string that will be matched against the server name in the connection string. + + + + + + + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements of the enumerable sequence to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets the current element in the iteration. + + + + + Defines methods to create and asynchronously execute queries that are described by an + object. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Asynchronously executes the query represented by a specified expression tree. + + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Asynchronously executes the strongly-typed query represented by a specified expression tree. + + The type of the value that results from executing the query. + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + A factory for creating derived instances. Implement this + interface to enable design-time services for context types that do not have a + public default constructor. + At design-time, derived instances can be created in order to enable specific + design-time experiences such as model rendering, DDL generation etc. To enable design-time instantiation + for derived types that do not have a public, default constructor, implement + this interface. Design-time services will auto-discover implementations of this interface that are in the + same assembly as the derived type. + + The type of the context. + + + + Creates a new instance of a derived type. + + An instance of TContext + + + + A strategy that is used to execute a command or query against the database, possibly with logic to retry when a failure occurs. + + + + + Indicates whether this might retry the execution after a failure. + + + + + Executes the specified operation. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation and returns the result. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory. + + + + Determines whether the current cached model key is equal to the specified cached model key. + true if the current cached model key is equal to the specified cached model key; otherwise, false. + The cached model key to compare to the current cached model key. + + + Returns the hash function for this cached model key. + The hash function for this cached model key. + + + + Implement this interface on your context to use custom logic to calculate the key used to lookup an already created model in the cache. + This interface allows you to have a single context type that can be used with different models in the same AppDomain, + or multiple context types that use the same model. + + + + Gets the cached key associated with the provider. + The cached key associated with the provider. + + + + A service for obtaining the correct from a given + . + + + On .NET 4.5 the provider is publicly accessible from the connection. On .NET 4 the + default implementation of this service uses some heuristics to find the matching + provider. If these fail then a new implementation of this service can be registered + on to provide an appropriate resolution. + + + + + Returns the for the given connection. + + The connection. + The provider factory for the connection. + + + + A service for getting a provider manifest token given a connection. + The class is used by default and makes use of the + underlying provider to get the token which often involves opening the connection. + A different implementation can be used instead by adding an + to that may use any information in the connection to return + the token. For example, if the connection is known to point to a SQL Server 2008 database then + "2008" can be returned without opening the connection. + + + + + Returns the manifest token to use for the given connection. + + The connection for which a manifest token is required. + The manifest token to use. + + + + Implement this interface to allow custom annotations represented by instances to be + serialized to and from the EDMX XML. Usually a serializer instance is set using the + method. + + + + + Serializes the given annotation value into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize. + The serialized value. + + + + Deserializes the given string back into the expected annotation value. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to start a transaction. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The isolation level to associate. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + This is the default log formatter used when some is set onto the + property. A different formatter can be used by creating a class that inherits from this class and overrides + some or all methods to change behavior. + + + To set the new formatter create a code-based configuration for EF using and then + set the formatter class to use with . + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + onto before any commands will be logged. + For more low-level control over logging/interception see and + . + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Creates a formatter that will not filter by any and will instead log every command + from any context and also commands that do not originate from a context. + + + This constructor is not used when a delegate is set on . Instead it can be + used by setting the formatter directly using . + + The delegate to which output will be sent. + + + + Creates a formatter that will only log commands the come from the given instance. + + + This constructor must be called by a class that inherits from this class to override the behavior + of . + + + The context for which commands should be logged. Pass null to log every command + from any context and also commands that do not originate from a context. + + The delegate to which output will be sent. + + + + The context for which commands are being logged, or null if commands from all contexts are + being logged. + + + + + Writes the given string to the underlying write delegate. + + The string to write. + + + + This property is obsolete. Using it can result in logging incorrect execution times. Call + instead. + + + + + The stopwatch used to time executions. This stopwatch is started at the end of + , , and + methods and is stopped at the beginning of the , , + and methods. If these methods are overridden and the stopwatch is being used + then the overrides should either call the base method or start/stop the stopwatch themselves. + + The interception context for which the stopwatch will be obtained. + The stopwatch. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + Called whenever a command is about to be executed. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the + context filtering behavior. + + The type of the operation's results. + The command that will be executed. + Contextual information associated with the command. + + + + Called whenever a command has completed executing. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the context + filtering behavior. + + The type of the operation's results. + The command that was executed. + Contextual information associated with the command. + + + + Called to log a command that is about to be executed. Override this method to change how the + command is logged to . + + The type of the operation's results. + The command to be logged. + Contextual information associated with the command. + + + + Called by to log each parameter. This method can be called from an overridden + implementation of to log parameters, and/or can be overridden to + change the way that parameters are logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + The parameter to log. + + + + Called to log the result of executing a command. Override this method to change how results are + logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + + + + Does not write to log unless overridden. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that began the transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was opened. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was closed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + + + + + + + + + + + + A simple logger for logging SQL and other database operations to the console or a file. + A logger can be registered in code or in the application's web.config /app.config file. + + + + + Creates a new logger that will send log output to the console. + + + + + Creates a new logger that will send log output to a file. If the file already exists then + it is overwritten. + + A path to the file to which log output will be written. + + + + Creates a new logger that will send log output to a file. + + A path to the file to which log output will be written. + True to append data to the file if it exists; false to overwrite the file. + + + + Stops logging and closes the underlying file if output is being written to a file. + + + + + Stops logging and closes the underlying file if output is being written to a file. + + + True to release both managed and unmanaged resources; False to release only unmanaged resources. + + + + + Starts logging. This method is a no-op if logging is already started. + + + + + Stops logging. This method is a no-op if logging is not started. + + + + + Called to start logging during Entity Framework initialization when this logger is registered. + as an . + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when executing commands. It is provided publicly so that + code that runs outside of the core EF assemblies can opt-in to command interception/tracing. This is + typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls into + implementations. + + + An instance of this class is passed to the dispatch methods of + and does not contain mutable information such as the result of the operation. This mutable information + is obtained from the that is passed to the interceptors. + Instances of this class are publicly immutable. To add contextual information use one of the + With... or As... methods to create a new interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The that will be used or has been used to execute the command with a + . This property is only used for + and its async counterparts. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations including the result of the operation. + + The type of the operation's results. + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Base class that implements . This class is a convenience for + use when only one or two methods of the interface actually need to have any implementation. + + + + + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The original tree created by Entity Framework. Interceptors can change the + property to change the tree that will be used, but the + will always be the tree created by Entity Framework. + + + + + The command tree that will be used by Entity Framework. This starts as the tree contained in the + the property but can be set by interceptors to change + the tree that will be used by Entity Framework. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + setting . + + The connection on which the operation will be executed. + Information about the context of the call being made, including the value to be set. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token. + A task that represents the asynchronous operation. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type on a . + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Provides access to all dispatchers through the fluent API. + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + This is the registration point for interceptors. Interceptors + receive notifications when EF performs certain operations such as executing commands against + the database. For example, see . + + + + + Registers a new to receive notifications. Note that the interceptor + must implement some interface that extends from to be useful. + + The interceptor to add. + + + + Removes a registered so that it will no longer receive notifications. + If the given interceptor is not registered, then this is a no-op. + + The interceptor to remove. + + + + This is the entry point for dispatching to interceptors. This is usually only used internally by + Entity Framework but it is provided publicly so that other code can make sure that registered + interceptors are called when operations are performed on behalf of EF. For example, EF providers + a may make use of this when executing commands. + + + + + Represents contextual information associated with calls into + implementations. + + + Note that specific types/operations that can be intercepted may use a more specific + interception context derived from this class. For example, if SQL is being executed by + a , then the DbContext will be contained in the + instance that is passed to the methods + of . + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. See + + The context from which to copy state. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item if + a single has been used to construct multiple + instances. + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item when + EF has created a new for use in database creation and initialization, or + if a single is used with multiple . + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + True if the operation is being executed asynchronously, otherwise false. + + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + Call this method when creating a copy of an interception context in order to add new state + to it. Using this method instead of calling the constructor directly ensures virtual dispatch + so that the new type will have the same type (and any specialized state) as the context that + is being cloned. + + A new context with all state copied. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The connection on which the transaction was started + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The connection on which the transaction was started. + A new interception context that also contains the connection on which the transaction was started. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to enlist a connection. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The transaction to be used in the invocation. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework executes commands. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework creates command trees. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called after a new has been created. + The tree that is used after interception can be changed by setting + while intercepting. + + + Command trees are created for both queries and insert/update/delete commands. However, query + command trees are cached by model which means that command tree creation only happens the + first time a query is executed and this notification will only happen at that time + + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework loads the application's . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Occurs during EF initialization after the has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that an interceptor of this type should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework performs operations on a . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is invoked. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The transaction used by Entity Framework can be changed by setting + . + + The connection that began the transaction. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was closed. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is set. + + The connection. + Contextual information associated with the call. + + + + Called after is set. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being disposed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was disposed. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection. + Contextual information associated with the call. + + + + Called before or its async counterpart is invoked. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + + The connection that was opened. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + This is the base interface for all interfaces that provide interception points for various + different types and operations. For example, see . + Interceptors are registered on the class. + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework commits or rollbacks a transaction. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being disposed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was disposed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + Represents contextual information associated with calls that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type . + + + An instance of this class is passed to the dispatch methods and does not contain mutable information such as + the result of the operation. This mutable information is obtained from the + that is passed to the interceptors. Instances of this class are publicly immutable. To add contextual information + use one of the With... or As... methods to create a new interception context containing the new information. + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The value that will be assigned to the target property. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Used by and when resolving + a provider invariant name from a . + + + + Gets the name of the provider. + The name of the provider. + + + + Instances of this class are used to create DbConnection objects for + SQL Server LocalDb based on a given database name or connection string. + + + An instance of this class can be set on the class or in the + app.config/web.config for the application to cause all DbContexts created with no + connection information or just a database name to use SQL Server LocalDb by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + The connection string to use for options to the database other than the 'Initial Catalog', 'Data Source', and 'AttachDbFilename'. The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the database name when CreateConnection is called. The 'Data Source' will be set based on the LocalDbVersion argument. + + + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + The default is 'Integrated Security=True;'. + + + + + Creates a connection for SQL Server LocalDb based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a mapping view. + + + + + Creates a instance having the specified entity SQL. + + A string that specifies the entity SQL. + + + + Gets the entity SQL. + + + + + Base abstract class for mapping view cache implementations. + Derived classes must have a parameterless constructor if used with . + + + + + Gets a hash value computed over the mapping closure. + + + + + Gets a view corresponding to the specified extent. + + An that specifies the extent. + A that specifies the mapping view, + or null if the extent is not associated with a mapping view. + + + + Specifies the means to create concrete instances. + + + + + Creates a generated view cache instance for the container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + + A that specifies the generated view cache. + + + + + Defines a custom attribute that specifies the mapping view cache type (subclass of ) + associated with a context type (subclass of or ). + The cache type is instantiated at runtime and used to retrieve pre-generated views in the + corresponding context. + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + + A subclass of . + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + The assembly qualified full name of the cache type. + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Applies the convention to the given model. + + The container to apply the convention to. + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Compares objects using reference equality. + + + + + Gets the default instance. + + + + + Represents a custom pluralization term to be used by the + + + + + Get the singular. + + + + + Get the plural. + + + + + Create a new instance + + A non null or empty string representing the singular. + A non null or empty string representing the plural. + + + + Default pluralization service implementation to be used by Entity Framework. This pluralization + service is based on English locale. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + A collection of user dictionary entries to be used by this service.These inputs + can customize the service according the user needs. + + + + Returns the plural form of the specified word. + The plural form of the input parameter. + The word to be made plural. + + + Returns the singular form of the specified word. + The singular form of the input parameter. + The word to be made singular. + + + + Pluralization services to be used by the EF runtime implement this interface. + By default the is used, but the pluralization service to use + can be set in a class derived from . + + + + + Pluralize a word using the service. + + The word to pluralize. + The pluralized word + + + + Singularize a word using the service. + + The word to singularize. + The singularized word. + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + The exception that is thrown when the action failed again after being retried the configured number of times. + + + + + Initializes a new instance of the class with no error message. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use its default for the database file location. + The connection string to use for options to the database other than the 'Data Source'. The Data Source will be prepended to this string based on the database name when CreateConnection is called. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True;'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will be prepended to this string based on the database name when CreateConnection is called. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True;'. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Implemented by Entity Framework providers and used to check whether or not tables exist + in a given database. This is used by database initializers when determining whether or not to + treat an existing database as empty such that tables should be created. + + + + + When overridden in a derived class checks where the given tables exist in the database + for the given connection. + + + The context for which table checking is being performed, usually used to obtain an appropriate + . + + + A connection to the database. May be open or closed; should be closed again if opened. Do not + dispose. + + The tables to check for existence. + The name of the EdmMetadata table to check for existence. + True if any of the model tables or EdmMetadata table exists. + + + + Helper method to get the table name for the given s-space . + + The s-space entity set for the table. + The table name. + + + + Thrown when an error occurs committing a . + + + + + Initializes a new instance of + + + + + Initializes a new instance of + + The exception message. + + + + Initializes a new instance of + + The exception message. + The inner exception. + + + + Initializes a new instance of the class. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + A transaction handler that allows to gracefully recover from connection failures + during transaction commit by storing transaction tracing information in the database. + It needs to be registered by using . + + + This transaction handler uses to store the transaction information + the schema used can be configured by creating a class derived from + that overrides and passing it to the constructor of this class. + + + + + Initializes a new instance of the class using the default . + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes a new instance of the class. + + The transaction context factory. + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Gets the transaction context. + + + The transaction context. + + + + + The map between the store transactions and the transaction tracking objects + + + + + Creates a new instance of an to use for quering the transaction log. + If null the default will be used. + + An instance or null. + + + + + + + + + + Gets the number of transactions to be executed on the context before the transaction log will be cleaned. + The default value is 20. + + + + + + + + + + + Stores the tracking information for the new transaction to the database in the same transaction. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + If there was an exception thrown checks the database for this transaction and rethrows it if not found. + Otherwise marks the commit as succeeded and queues the transaction information to be deleted. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was rolled back. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was disposed. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + A task that represents the asynchronous operation. + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + The cancellation token. + A task that represents the asynchronous operation. + + + + Adds the specified transaction to the list of transactions that can be removed from the database + + The transaction to be removed from the database. + + + + Removes the transactions marked for deletion. + + + + + Asynchronously removes the transactions marked for deletion. + + A task that represents the asynchronous operation. + + + + Asynchronously removes the transactions marked for deletion. + + The cancellation token. + A task that represents the asynchronous operation. + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + The cancellation token. + A task that represents the asynchronous operation. + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + This class is used by to write and read transaction tracing information + from the database. + To customize the definition of the transaction table you can derive from + this class and override . Derived classes can be registered + using . + + + By default EF will poll the resolved to check wether the database schema is compatible and + will try to modify it accordingly if it's not. To disable this check call + Database.SetInitializer<TTransactionContext>(null) where TTransactionContext is the type of the resolved context. + + + + + Initializes a new instance of the class. + + The connection used by the context for which the transactions will be recorded. + + + + Gets or sets a that can be used to read and write instances. + + + + + + + + The base class for interceptors that handle the transaction operations. Derived classes can be registered using + or + . + + + + + Initializes a new instance of the class. + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + The connection to use for the initialization. + + This method is called by migrations. It is important that no action is performed on the + specified context that causes it to be initialized. + + + + + Gets the context. + + + The for which the transaction operations will be handled. + + + + + Gets the context. + + + The for which the transaction operations will be handled, could be null. + + + + + Gets the connection. + + + The for which the transaction operations will be handled. + + + This connection object is only used to determine whether a particular operation needs to be handled + in cases where a context is not available. + + + + + + + + Gets or sets a value indicating whether this transaction handler is disposed. + + + true if disposed; otherwise, false. + + + + + Releases the resources used by this transaction handler. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Checks whether the supplied interception context contains the target context + or the supplied connection is the same as the one used by the target context. + + A connection. + An interception context. + + true if the supplied interception context contains the target context or + the supplied connection is the same as the one used by the target context if + the supplied interception context doesn't contain any contexts; false otherwise. + + + Note that calling this method will trigger initialization of any DbContext referenced from the + + + + + When implemented in a derived class returns the script to prepare the database + for this transaction handler. + + A script to change the database schema for this transaction handler. + + + + Can be implemented in a derived class. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection that was disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being rolled back. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Rrepresents a transaction + + + + + A unique id assigned to a transaction object. + + + + + The local time when the transaction was started. + + + + + + + + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Allows configuration to be performed for an complex type in a model. + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same ComplexTypeConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows derived configuration classes for entities and complex types to be registered with a + . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Discovers all types that inherit from or + in the given assembly and adds an instance + of each discovered type to this registrar. + + + Note that only types that are abstract or generic type definitions are skipped. Every + type that is discovered and added must provide a parameterless constructor. + + The assembly containing model configurations to add. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows the conventions used by a instance to be customized. + The default conventions can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + + + + Discover all conventions in the given assembly and add them to the . + + + This method add all conventions ordered by type name. The order in which conventions are added + can have an impact on how they behave because it governs the order in which they are run. + All conventions found must have a parameterless public constructor. + + The assembly containing conventions to be added. + + + + Enables one or more conventions for the . + + The conventions to be enabled. + + + + Enables a convention for the . + + The type of the convention to be enabled. + + + + Enables a convention for the . This convention + will run after the one specified. + + The type of the convention after which the enabled one will run. + The convention to enable. + + + + Enables a configuration convention for the . This convention + will run before the one specified. + + The type of the convention before which the enabled one will run. + The convention to enable. + + + + Disables one or more conventions for the . + + The conventions to be disabled. + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the + System.Data.Entity.ModelConfiguration.Conventions namespace. + + The type of the convention to be disabled. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties in a model. + + + + + Filters the properties that this convention applies to based on a predicate. + + A function to test each property for a condition. + + A instance so that multiple calls can be chained. + + + + + Filters the properties that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each property. If the value is null, the + property will be filtered out. + + + A instance so that multiple calls can be chained. + + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties of entity types in a model and a captured value. + + The type of the captured value. + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model. + + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type. + + The common type of the entity types that this convention applies to. + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model and a captured value. + + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type and a + captured value. + + The common type of the entity types that this convention applies to. + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to modify a relationship. + + The type of the entity that the relationship is being configured from. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Creates a convention that configures stored procedures to be used to delete entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to insert entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a convention that configures stored procedures to be used to update entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to delete entities. + + The type of the entity that the stored procedure can be used to delete. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to insert entities. + + The type of the entity that the stored procedure can be used to insert. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + + Sets the name of the stored procedure. + + Name of the procedure. + The same configuration instance so that multiple calls can be chained. + + + + Sets the name of the stored procedure. + + Name of the procedure. + Name of the schema. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + Configures stored procedure used to insert relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Performs configuration of a stored procedure uses to modify an entity in the database. + + + + + Allows configuration to be performed for a stored procedure that is used to modify entities. + + The type of the entity that the stored procedure can be used to modify. + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to update entities. + + The type of the entity that the stored procedure can be used to update. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + Initializes a new instance of the class. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + A lambda expression to an anonymous type that contains the properties to be mapped. C#: t => new { t.Id, t.Property1, t.Property2 } VB.Net: Function(t) New With { p.Id, t.Property1, t.Property2 } + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Re-maps all properties inherited from base types. + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name to be mapped to. + + Name of the table. + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + The same configuration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + A lambda expression representing the property being used to discriminate between types. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object to further configure the discriminator condition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a column with length facets for an entity type or complex type. This configuration functionality is exposed by the Code First Fluent API, see . + + + + Configures the column to allow the maximum length supported by the database provider. + The same instance so that multiple calls can be chained. + + + Configures the column to have the specified maximum length. + The same instance so that multiple calls can be chained. + The maximum length for the column. Setting the value to null will remove any maximum length restriction from the column and a default length will be used for the database column. + + + Configures the column to be fixed length. + The same instance so that multiple calls can be chained. + + + Configures the column to be variable length. + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a primitive column from an entity type. + + + + Configures the primitive column to be optional. + The same instance so that multiple calls can be chained. + + + Configures the primitive column to be required. + The same instance so that multiple calls can be chained. + + + Configures the data type of the primitive column used to store the property. + The same instance so that multiple calls can be chained. + The name of the database provider specific data type. + + + Configures the order of the primitive column used to store the property. This method is also used to specify key ordering when an entity type has a composite key. + The same instance so that multiple calls can be chained. + The order that this column should appear in the database table. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. Setting 'null' will result in a default length being used for the column. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + Value indicating if the column supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the column. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an index. + + + + + Configures the index to be unique. + + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures whether the index will be unique. + + Value indicating if the index should be unique or not. + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a primary key index. + + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A lambda expression representing the navigation property on the other end of the relationship. + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + A lambda expression representing the property to be used as the foreign key. If the foreign key is made up of multiple properties then specify an anonymous type including the properties. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the principal entity type. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for a database column that has been configured with . + The annotation value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The name of the column that was configured with the HasKey method. + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the join table. The annotation value can later be used when + processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key points to the parent entity of the navigation property specified in the HasMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key points to the parent entity of the navigation property specified in the WithMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + Determines whether the specified object is equal to the current object. + true if the specified object is equal to the current object; otherwise, false. + The object to compare with the current object. + + + + + + + + + + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + The type of the parent entity of the navigation property specified in the HasMany call. + The type of the parent entity of the navigation property specified in the WithMany call. + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + The default conventions for procedure and parameter names will be used. + + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + + + Configuration to override the default conventions for procedure and parameter names. + + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property in a mapping fragment. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the database column used to store the property, in a mapping fragment. + + The name of the column. + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via lightweight conventions. + + + + + Gets the for this property. + + + + + Configures the name of the database column used to store the property. + + The name of the column. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + + The same instance so that multiple calls can be chained. + + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be used as an optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures how values for the property are generated by the database. + + The pattern used to generate values for the property in the database. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to support Unicode string content. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to be variable length. + Properties are variable length by default. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to allow the maximum length supported by the database provider. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures this property to be part of the entity type's primary key. + + + The same instance so that + multiple calls can be chained. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The name of the property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Configures a property that is defined on this type. + + The name of the property being configured. + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The property being configured. + A configuration object that can be used to configure the property. + + + + Configures the primary key property for this entity type. + + The name of the property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property for this entity type. + + The property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The names of the properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured or if any + property does not exist. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + A type inherited by the entity type. + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + + The same instance so that multiple calls can be chained. + + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A general purpose class for Code First conventions that read attributes from .NET properties + and generate column annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create column annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each column. + + + + A general purpose class for Code First conventions that read attributes from .NET types + and generate table annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create table annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each table. + + + + Convention to process instances of found on properties in the model + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on foreign key properties in the model. + + + + + + + + A convention for discovering attributes on properties and generating + column annotations in the model. + + + + + Constructs a new instance of the convention. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Base class for conventions that process CLR attributes found on primitive properties in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The configuration for the property that has the attribute. + The attribute. + + + + Base class for conventions that process CLR attributes found on properties of types in the model. + + + Note that the derived convention will be applied for any non-static property on the mapped type that has + the specified attribute, even if it wasn't included in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The member info for the property that has the attribute. + The configuration for the class that contains the property. + The attribute. + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a class that has an attribute of type TAttribute applied. + + The configuration for the class that contains the property. + The attribute. + + + + A convention that doesn't override configuration. + + + + + The derived class can use the default constructor to apply a set rule of that change the model configuration. + + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model that derive from or implement the specified type. + + The type of the entities that this convention will apply to. + A configuration object for the convention. + This method does not add new types to the model. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + + + + Convention to apply column ordering specified via + + or the API. + + + + + + + + Validates the ordering configuration supplied for columns. + This base implementation is a no-op. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to apply column ordering specified via + + or the API. This convention throws if a duplicate configured column order + is detected. + + + + + Validates the ordering configuration supplied for columns to ensure + that the same ordinal was not supplied for two columns. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to introduce indexes for foreign keys. + + + + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Initializes a new instance of with the default precision and scale. + + + + + Initializes a new instance of with the specified precision and scale. + + Precision + Scale + + + + + + + Convention to move primary key properties to appear first. + + + + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + + + + Base class for conventions that discover foreign key properties. + + + + + Returns true if the convention supports pairs of entity types that have multiple associations defined between them. + + + + + When overridden returns true if should be part of the foreign key. + + The association type being configured. + The dependent end. + The candidate property on the dependent end. + The principal end entity type. + A key property on the principal end that is a candidate target for the foreign key. + true if dependentProperty should be a part of the foreign key; otherwise, false. + + + + + + + Convention to process instances of found on navigation properties in the model. + + + + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + + + + Base class for conventions that discover primary key properties. + + + + + + + + When overridden returns the subset of properties that will be part of the primary key. + + The entity type. + The primitive types of the entities + The properties that should be part of the primary key. + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + + + + + + + Convention to enable cascade delete for any required relationships. + + + + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + + + + Convention to set a maximum length for properties whose type supports length facets. The default value is 128. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The maximum length of properties. + + + + + + + + + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The default maximum length for properties. + + + + + + + + + + Convention to configure integer primary keys to be identity. + + + + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + + + + A convention that operates on the conceptual section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Identifies conventions that can be added to or removed from a instance. + + + Note that implementations of this interface must be immutable. + + + + + A convention that operates on the database section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Allows configuration to be performed for an entity type in a model. + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + The entity type being configured. + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + A builder to configure the key. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures index property(s) for this entity type. + + The type of the index. + A lambda expression representing the property to apply an index to. C#: t => t.Id VB.Net: Function(t) t.Id If the index is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The IndexConfiguration instance so that the index can be further configured. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + The properties of an entity can be split between multiple tables using multiple Map calls. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + Initializes a new instance of class serialization info and streaming context. + The serialization info. + The streaming context. + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + An implementation of that will use Code First Migrations + to update the database to the latest version. + + The type of the context. + The type of the migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will use + the connection information from a context constructed using the default constructor + or registered factory if applicable + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + Also allows specifying migrations configuration to use during initialization. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + Migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will + use a specific connection string from the configuration file to connect to + the database to perform the migration. + + The name of the connection string to use for migration. + + + + + + + Helper class that is used to configure a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new column definition to store Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + Value indicating whether or not this column should be configured as a timestamp. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The numeric precision of the column. + The numeric scale of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Value indicating whether or not the database will generate values for this column during insert. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the column supports Unicode content. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store hierarchyid data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to configure a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new parameter definition to pass Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The numeric precision of the parameter. + The numeric scale of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the parameter supports Unicode content. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to further configure a table being created from a CreateTable call on + + . + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The type that represents the table's columns. + + + + Initializes a new instance of the TableBuilder class. + + The table creation operation to be further configured. + The migration the table is created in. + + + + Specifies a primary key for the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The name of the primary key. If null is supplied, a default name will be generated. + A value indicating whether or not this is a clustered primary key. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies an index to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be indexed. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties are to be indexed then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + The name of the index. + A value indicating whether or not this is a unique index. + A value indicating whether or not this is a clustered index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies a foreign key constraint to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table that the foreign key constraint targets. + A lambda expression representing the properties of the foreign key. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties make up the foreign key then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + A value indicating whether or not cascade delete should be configured on the foreign key constraint. + The name of this foreign key constraint. If no name is supplied, a default name will be calculated. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Base class for code-based migrations. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operations to be performed during the upgrade process. + + + + + Operations to be performed during the downgrade process. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + The parameters in this create stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The parameters in this alter stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing stored procedure with the specified name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the procedure to drop. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + Custom annotations that exist on the table to be created. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to handle changes in the annotations defined on tables. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The column this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The columns this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The name of the foreign key constraint in the database. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a table to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be moved. Schema name is optional, if no schema is specified then dbo is + assumed. + + The schema the table is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a stored procedure to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be moved. Schema name is optional, if no schema is specified + then dbo is assumed. + + The schema the stored procedure is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a table. To change the schema of a table use MoveTable. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be renamed. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The new name for the table. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a stored procedure. To change the schema of a stored procedure use MoveStoredProcedure + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be renamed. Schema name is optional, if no schema is specified + then dbo is assumed. + + + The new name for the stored procedure. Schema name is optional, if no schema is specified then + dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the column to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the column to be renamed. + The new name for the column. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to add a column to an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to add the column to. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be added. + + An action that specifies the column to be added. i.e. c => c.Int(nullable: false, + defaultValue: 3) + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter the definition of an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table the column exists in. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be changed. + + An action that specifies the new definition for the column. i.e. c => c.String(nullable: + false, defaultValue: "none") + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The primary key column. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key based on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The primary key columns. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that does not have the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the primary key to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that was created with the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on a single column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the columns to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the index to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column(s) the index targets. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename an index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the index to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the index to be renamed. + The new name for the index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL command or set of SQL commands. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The SQL file to be executed. Relative paths are assumed to be relative to the current AppDomain's BaseDirectory. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL resource file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The manifest resource name of the SQL resource file to be executed. + + The assembly containing the resource file. The calling assembly is assumed if not provided. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + + + + + + + + + + + + + + + + + + + Configuration relating to the use of migrations for a given model. + You will typically create a configuration class that derives + from rather than + using this class. + + + + + The default directory that migrations are stored in. + + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Gets or sets a value indicating if automatic migrations can be used when migrating the database. + + + + + Gets or sets the string used to distinguish migrations belonging to this configuration + from migrations belonging to other configurations using the same database. + This property enables migrations from multiple different models to be applied to a single database. + + + + + Gets or sets a value indicating if data loss is acceptable during automatic migration. + If set to false an exception will be thrown if data loss may occur as part of an automatic migration. + + + + + Adds a new SQL generator to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + The SQL generator to be used. + + + + Gets the SQL generator that is set to be used with a given database provider. + + Name of the database provider to get the SQL generator for. + The SQL generator that is set for the database provider. + + + + Adds a new factory for creating instances to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + + A factory for creating instances for a given and + representing the default schema. + + + + + Gets the history context factory that is set to be used with a given database provider. + + Name of the database provider to get thefactory for. + The history context factory that is set for the database provider. + + + + Gets or sets the derived DbContext representing the model to be migrated. + + + + + Gets or sets the namespace used for code-based migrations. + + + + + Gets or sets the sub-directory that code-based migrations are stored in. + Note that this property must be set to a relative path for a sub-directory under the + Visual Studio project root; it cannot be set to an absolute path. + + + + + Gets or sets the code generator to be used when scaffolding migrations. + + + + + Gets or sets the assembly containing code-based migrations. + + + + + Gets or sets a value to override the connection of the database to be migrated. + + + + + Gets or sets the timeout value used for the individual commands within a + migration. + + + The time in seconds to wait for the command to execute. A null value indicates + that the default value of the underlying provider will be used. + + + + + Configuration relating to the use of migrations for a given model. + + The context representing the model that this configuration applies to. + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Runs after upgrading to the latest migration to allow seed data to be updated. + + + Note that the database may already contain seed data when this method runs. This means that + implementations of this method must check whether or not seed data is present and/or up-to-date + and then only make changes if necessary and in a non-destructive way. The + + can be used to help with this, but for seeding large amounts of data it may be necessary to do less + granular checks if performance is an issue. + If the database + initializer is being used, then this method will be called each time that the initializer runs. + If one of the , , + or initializers is being used, then this method will not be + called and the Seed method defined in the initializer should be used instead. + + Context to be used for updating seed data. + + + + + + + + + + + + + + + + + + + DbMigrator is used to apply existing migrations to a database. + DbMigrator can be used to upgrade and downgrade to any given migration. + To scaffold migrations based on changes to your model use + + + + + Migration Id representing the state of the database before any migrations are applied. + + + + + Initializes a new instance of the DbMigrator class. + + Configuration to be used for the migration process. + + + + Initializes a new instance of the DbMigrator class using the supplied context. + Use this constructor when applying migrations from code to avoid having migrations attempt + to create a context/connection for you. + + Configuration to be used for the migration process. + The to use. + + + + Gets the configuration that is being used for the migration process. + + + + + Gets all migrations that are defined in the configured migrations assembly. + + The list of migrations. + + + + Gets all migrations that have been applied to the target database. + + The list of migrations. + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + The list of migrations. + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + A set of extension methods for + + + + + Adds or updates entities by key when SaveChanges is called. Equivalent to an "upsert" operation + from database terminology. + This method can be useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Adds or updates entities by a custom identification expression when SaveChanges is called. + Equivalent to an "upsert" operation from database terminology. + This method can useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + An expression specifying the properties that should be used when determining whether an Add or Update operation should be performed. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Generates C# code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which using directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to specify the definition for a . + The parameter definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + Base class for providers that generate code for code-based migrations. + + + + + Generates the code that should be added to the users project. + + Unique identifier of the migration. + Operations to be performed by the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Gets the namespaces that must be output as "using" or "Imports" directives to handle + the code generated by the given operations. + + The operations for which code is going to be generated. + An ordered list of namespace names. + + + + Gets the default namespaces that must be output as "using" or "Imports" directives for + any code generated. + + A value indicating if this class is being generated for a code-behind file. + An ordered list of namespace names. + + + + Gets the instances that are being used. + + + + + Scaffolds code-based migrations to apply pending model changes to the database. + + + + + Initializes a new instance of the MigrationScaffolder class. + + Configuration to be used for scaffolding. + + + + Gets or sets the namespace used in the migration's generated code. + By default, this is the same as MigrationsNamespace on the migrations + configuration object passed into the constructor. For VB.NET projects, this + will need to be updated to take into account the project's root namespace. + + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + The scaffolded migration. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The scaffolded migration. + + + + Represents a code-based migration that has been scaffolded and is ready to be written to a file. + + + + + Gets or sets the unique identifier for this migration. + Typically used for the file name of the generated code. + + + + + Gets or sets the scaffolded migration code that the user can edit. + + + + + Gets or sets the scaffolded migration code that should be stored in a code behind file. + + + + + Gets or sets the programming language used for this migration. + Typically used for the file extension of the generated code. + + + + + Gets or sets the subdirectory in the user's project that this migration should be saved in. + + + + + Gets a dictionary of string resources to add to the migration resource file. + + + + + Gets or sets whether the migration was re-scaffolded. + + + + + Represents an exception that occurred while running an operation in another AppDomain in the + . + + + + + Initializes a new instance of the ToolingException class. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the ToolingException class. + + Error that explains the reason for the exception. + The type of the exception that was thrown. + The stack trace of the exception that was thrown. + + + + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the type of the exception that was thrown. + + + + + Gets the stack trace of the exception that was thrown. + + + + + Helper class that is used by design time tools to run migrations related + commands that need to interact with an application that is being edited + in Visual Studio. + Because the application is being edited the assemblies need to + be loaded in a separate AppDomain to ensure the latest version + is always loaded. + The App/Web.config file from the startup project is also copied + to ensure that any configuration is applied. + + + + + Gets or sets an action to be run to log information. + + + + + Gets or sets an action to be run to log warnings. + + + + + Gets or sets an action to be run to log verbose information. + + + + + Initializes a new instance of the ToolingFacade class. + + The name of the assembly that contains the migrations configuration to be used. + The name of the assembly that contains the DbContext to be used. + The namespace qualified name of migrations configuration to be used. + The working directory containing the compiled assemblies. + The path of the config file from the startup project. + The path of the application data directory from the startup project. Typically the App_Data directory for web applications or the working directory for executables. + The connection to the database to be migrated. If null is supplied, the default connection for the context will be used. + + + + Releases all unmanaged resources used by the facade. + + + + + Gets the fully qualified name of all types deriving from . + + All context types found. + + + + Gets the fully qualified name of a type deriving from . + + The name of the context type. If null, the single context type found in the assembly will be returned. + The context type found. + + + + Gets a list of all migrations that have been applied to the database. + + Ids of applied migrations. + + + + Gets a list of all migrations that have not been applied to the database. + + Ids of pending migrations. + + + + Updates the database to the specified migration. + + The Id of the migration to migrate to. If null is supplied, the database will be updated to the latest migration. + Value indicating if data loss during automatic migration is acceptable. + + + + Generates a SQL script to migrate between two migrations. + + The migration to update from. If null is supplied, a script to update the current database will be produced. + The migration to update to. If null is supplied, a script to update to the latest migration will be produced. + Value indicating if data loss during automatic migration is acceptable. + The generated SQL script. + + + + Scaffolds a code-based migration to apply any pending model changes. + + The name for the generated migration. + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + The scaffolded migration. + + + + + + + Releases all resources used by the facade. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Generates VB.Net code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which Imports directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The parameter model definition to generate code for. + Text writer to add the generated code to. + true to include the column name in the definition; otherwise, false. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + To customize the definition of the migrations history table you can derive from + this class and override OnModelCreating. Derived instances can either be registered + on a per migrations configuration basis using , + or globally using . + + + + + The default name used for the migrations history table. + + + + + Initializes a new instance of the HistoryContext class. + If you are creating a derived history context you will generally expose a constructor + that accepts these same parameters and passes them to this base constructor. + + + An existing connection to use for the new context. + + + The default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets the key used to locate a model that was previously built for this context. This is used + to avoid processing OnModelCreating and calculating the model every time a new context instance is created. + By default this property returns the default schema. + In most cases you will not need to override this property. However, if your implementation of OnModelCreating + contains conditional logic that results in a different model being built for the same database provider and + default schema you should override this property and calculate an appropriate key. + + + + + Gets the default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets or sets a that can be used to read and write instances. + + + + + Applies the default configuration for the migrations history table. If you override + this method it is recommended that you call this base implementation before applying your + custom configuration. + + The builder that defines the model for the context being created. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + + + + + Gets or sets the Id of the migration this row represents. + + + + + Gets or sets a key representing to which context the row applies. + + + + + Gets or sets the state of the model after this migration was applied. + + + + + Gets or sets the version of Entity Framework that created this entry. + + + + + Represents an error that occurs when an automatic migration would result in data loss. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents an error that occurs when there are pending model changes after applying the last migration and automatic migration is disabled. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Explicitly implemented by to prevent certain members from showing up + in the IntelliSense of scaffolded migrations. + + + + + Adds a custom to the migration. + Custom operation implementors are encouraged to create extension methods on + that provide a fluent-style API for adding new operations. + + The operation to add. + + + + Provides additional metadata about a code-based migration. + + + + + Gets the unique identifier for the migration. + + + + + Gets the state of the model before this migration is run. + + + + + Gets the state of the model after this migration is run. + + + + + Represents errors that occur inside the Code First Migrations pipeline. + + + + + Initializes a new instance of the MigrationsException class. + + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the MigrationsException class with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + Base class for loggers that can be used for the migrations process. + + + + + Logs an informational message. + + The message to be logged. + + + + Logs a warning that the user should be made aware of. + + The message to be logged. + + + + Logs some additional information that should only be presented to the user if they request verbose output. + + The message to be logged. + + + + Thrown when an operation can't be performed because there are existing migrations that have not been applied to the database. + + + + + Initializes a new instance of the MigrationsPendingException class. + + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Base class for decorators that wrap the core + + + + + Initializes a new instance of the MigratorBase class. + + The migrator that this decorator is wrapping. + + + + Gets a list of the pending migrations that have not been applied to the database. + + List of migration Ids + + + + Gets the configuration being used for the migrations process. + + + + + Updates the target database to the latest migration. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets a list of the migrations that are defined in the assembly. + + List of migration Ids + + + + Gets a list of the migrations that have been applied to the database. + + List of migration Ids + + + + Decorator to provide logging during migrations operations.. + + + + + Initializes a new instance of the MigratorLoggingDecorator class. + + The migrator that this decorator is wrapping. + The logger to write messages to. + + + + Decorator to produce a SQL script instead of applying changes to the database. + Using this decorator to wrap will prevent + from applying any changes to the target database. + + + + + Initializes a new instance of the MigratorScriptingDecorator class. + + The migrator that this decorator is wrapping. + + + + Produces a script to update the database. + + + The migration to update from. If null is supplied, a script to update the + current database will be produced. + + + The migration to update to. If null is supplied, + a script to update to the latest migration will be produced. + + The generated SQL script. + + + + Represents a column being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be added to. + Details of the column being added. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be added to. + + + + + Gets the details of the column being added. + + + + + Gets an operation that represents dropping the added column. + + + + + + + + Represents a foreign key constraint being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddForeignKeyOperation class. + The PrincipalTable, PrincipalColumns, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + The names of the column(s) that the foreign key constraint should target. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if cascade delete should be configured on the foreign key constraint. + + + + + Gets an operation to create an index on the foreign key column(s). + + An operation to add the index. + + + + Gets an operation to drop the foreign key constraint. + + + + + + + + Represents adding a primary key to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the primary key. + + + + + Represents altering an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + An operation to revert this alteration of the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table that the column belongs to. + + + + + Gets the new definition for the column. + + + + + Gets an operation that represents reverting the alteration. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents altering an existing stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Represents changes made to custom annotations on a table. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterTableOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table on which annotations have changed. + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table on which annotations have changed. + + + + + Gets the columns to be included in the table for which annotations have changed. + + + + + Gets the custom annotations that have changed on the table. + + + + + Gets an operation that is the inverse of this one such that annotations will be changed back to how + they were before this operation was applied. + + + + + + + + Represents information about a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the CLR type corresponding to the database type of this column. + + + + + Gets the default value for the CLR type corresponding to the database type of this column. + + + + + Gets or sets a value indicating if this column can store null values. + + + + + Gets or sets a value indicating if values for this column will be generated by the database using the identity pattern. + + + + + Gets or sets a value indicating if this property model should be configured as a timestamp. + + + + + Gets or sets the custom annotations that have changed on the column. + + + + + Determines if this column is a narrower data type than another column. + Used to determine if altering the supplied column definition to this definition will result in data loss. + + The column to compare to. + Details of the database provider being used. + True if this column is of a narrower data type. + + + + Represents creating a database index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateIndexOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets a value indicating if this is a unique index. + + + + + Gets an operation to drop this index. + + + + + + + + Gets or sets whether this is a clustered index. + + + + + A migration operation to add a new stored procedure to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the stored procedure. + + + + + Represents creating a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Custom annotations that exist on the table to be created. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be created. + + + + + Gets the columns to be included in the new table. + + + + + Gets or sets the primary key for the new table. + + + + + Gets custom annotations that exist on the table to be created. + + + + + Gets an operation to drop the table. + + + + + + + + Represents a column being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be dropped from. + + + + + Gets the name of the column to be dropped. + + + + + Gets custom annotations that exist on the column that is being dropped. + + + + + Gets an operation that represents reverting dropping the column. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents a foreign key constraint being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + The PrincipalTable, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc.. + + The operation that represents reverting dropping the foreign key constraint. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the associated index on the foreign key column(s). + + An operation to drop the index. + + + + Gets an operation that represents reverting dropping the foreign key constraint. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The operation that represents reverting dropping the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that represents reverting dropping the index. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping a primary key from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to add the primary key. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Drops a stored procedure from the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to drop. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to drop. + + + The name of the stored procedure to drop. + + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents dropping an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be dropped. + + + + + Gets custom annotations that exist on the table that is being dropped. + + + + + Gets custom annotations that exist on columns of the table that is being dropped. + + + + + Gets an operation that represents reverting dropping the table. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Base class for changes that affect foreign key constraints. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that the foreign key constraint targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the name of the table that the foreign key columns exist in. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + The names of the foreign key column(s). + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this foreign key constraint. + + + + + Gets or sets the name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operation representing DML changes to the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the HistoryOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A sequence of command trees representing the operations being applied to the history table. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + A sequence of commands representing the operations being applied to the history table. + + + + + + + + Common base class for operations affecting indexes. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a default index name based on the supplied column names. + + The column names used to create a default index name. + A default index name. + + + + Initializes a new instance of the IndexOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the table the index belongs to. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the columns that are indexed. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this index. + + + + + Gets or sets the name of this index. + If no name is supplied, a default name will be calculated. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents an operation to modify a database schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MigrationOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" + }'. + + + + + Gets additional arguments that may be processed by providers. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. + + + + + Represents moving a stored procedure to a new schema in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to move. + The new schema for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to move. + + + The name of the stored procedure to move. + + + + + Gets the new schema for the stored procedure. + + + The new schema for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents moving a table from one schema to another. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MoveTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be moved. + Name of the schema to move the table to. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be moved. + + + + + Gets the name of the schema to move the table to. + + + + + Gets an operation that moves the table back to its original schema. + + + + + + + + Used when altering the migrations history table so that data can be moved to the new table. + + + The context key for the model. + + + + + Gets a value that indicates whether this is a system table. + + + true if the table is a system table; otherwise, false. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Represents a migration operation that can not be performed, possibly because it is not supported by the targeted database provider. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets or sets a value indicating whether this instance is out parameter. + + + true if this instance is out parameter; otherwise, false. + + + + + Common base class to represent operations affecting primary keys. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Returns the default name for the primary key. + + The target table name. + The default primary key name. + + + + Initializes a new instance of the PrimaryKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that contains the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the column(s) that make up the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this primary key. + + + + + Gets or sets the name of this primary key. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + + + + Gets or sets whether this is a clustered primary key. + + + + + A migration operation that affects stored procedures. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure. + + + The name of the stored procedure. + + + + + Gets the body of the stored procedure expressed in SQL. + + + The body of the stored procedure expressed in SQL. + + + + + Gets the parameters of the stored procedure. + + + The parameters of the stored procedure. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a property of an entity. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the PropertyModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this property model. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the data type for this property model. + + + + + Gets additional details about the data type of this property model. + This includes details such as maximum length, nullability etc. + + + + + Gets or sets the name of the property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a provider specific data type to use for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the maximum length for this property model. + Only valid for array data types. + + + + + Gets or sets the precision for this property model. + Only valid for decimal data types. + + + + + Gets or sets the scale for this property model. + Only valid for decimal data types. + + + + + Gets or sets a constant value to use as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a SQL expression used as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if this property model is fixed length. + Only valid for array data types. + + + + + Gets or sets a value indicating if this property model supports Unicode characters. + Only valid for textual data types. + + + + + Represents renaming an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the column belongs to. + Name of the column to be renamed. + New name for the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column belongs to. + + + + + Gets the name of the column to be renamed. + + + + + Gets the new name for the column. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the index belongs to. + Name of the index to be renamed. + New name for the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the index belongs to. + + + + + Gets the name of the index to be renamed. + + + + + Gets the new name for the index. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming a stored procedure in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to rename. + The new name for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to rename. + + + The name of the stored procedure to rename. + + + + + Gets the new name for the stored procedure. + + + The new name for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents renaming an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be renamed. + New name for the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be renamed. + + + + + Gets the new name for the table. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents a provider specific SQL statement to be executed directly against the target database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the SqlOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the SQL to be executed. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + + + + Used when scripting an update database operation to store the operations that would have been performed against the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents a migration to be applied to the database. + + + + + Gets the id of the migration. + + + The id of the migration. + + + + + Gets the individual operations applied by this migration. + + + The individual operations applied by this migration. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + Gets the migrations applied during the update database operation. + + + The migrations applied during the update database operation. + + + + + Adds a migration to this update database operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The id of the migration. + The individual operations applied by the migration. + + + + Gets a value indicating if any of the operations may result in data loss. + + + + + Common base class for providers that convert provider agnostic migration + operations into database provider specific SQL commands. + + + + + Gets or sets the provider manifest. + + + The provider manifest. + + + + + Converts a set of migration operations into database provider specific SQL. + + The operations to be converted. + Token representing the version of the database being targeted. + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Builds the store type usage for the specified using the facets from the specified . + + Name of the store type. + The target property. + A store-specific TypeUsage + + + + Represents a migration operation that has been translated into a SQL statement. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the SQL to be executed to perform this migration operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Gets or sets the batch terminator for the database provider. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The batch terminator for the database provider. + + + + + The same as but works in partial trust and adds explicit caching of + generated indentation string and also recognizes writing a string that contains just \r\n or \n as a write-line to ensure + we indent the next line properly. + + + + + Specifies the default tab string. This field is constant. + + + + + Specifies the culture what will be used by the underlying TextWriter. This static property is read-only. + Note that any writer passed to one of the constructors of must use this + same culture. The culture is . + + + + + Gets the encoding for the text writer to use. + + + An that indicates the encoding for the text writer to use. + + + + + Gets or sets the new line character to use. + + The new line character to use. + + + + Gets or sets the number of spaces to indent. + + The number of spaces to indent. + + + + Gets the to use. + + + The to use. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and default tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + The tab string to use for indentation. + + + + Closes the document being written to. + + + + + Flushes the stream. + + + + + Outputs the tab string once for each level of indentation according to the + + property. + + + + + Builds a string representing the current indentation level for a new line. + + + Does NOT check if tabs are currently pending, just returns a string that would be + useful in replacing embedded newline characters. + + An empty string, or a string that contains .Indent level's worth of specified tab-string. + + + + Writes the specified string to the text stream. + + The string to write. + + + + Writes the text representation of a Boolean value to the text stream. + + The Boolean value to write. + + + + Writes a character to the text stream. + + The character to write. + + + + Writes a character array to the text stream. + + The character array to write. + + + + Writes a subarray of characters to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double to the text stream. + + The double to write. + + + + Writes the text representation of a Single to the text stream. + + The single to write. + + + + Writes the text representation of an integer to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object to the text stream. + + The object to write. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the specified string to a line without tabs. + + The string to write. + + + + Writes the specified string, followed by a line terminator, to the text stream. + + The string to write. + + + + Writes a line terminator. + + + + + Writes the text representation of a Boolean, followed by a line terminator, to the text stream. + + The Boolean to write. + + + + Writes a character, followed by a line terminator, to the text stream. + + The character to write. + + + + Writes a character array, followed by a line terminator, to the text stream. + + The character array to write. + + + + Writes a subarray of characters, followed by a line terminator, to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double, followed by a line terminator, to the text stream. + + The double to write. + + + + Writes the text representation of a Single, followed by a line terminator, to the text stream. + + The single to write. + + + + Writes the text representation of an integer, followed by a line terminator, to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer, followed by a line terminator, to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object, followed by a line terminator, to the text stream. + + The object to write. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the text representation of a UInt32, followed by a line terminator, to the text stream. + + A UInt32 to output. + + + + An implementation of that does nothing. Using this + initializer disables database initialization for the given context type. Passing an instance + of this class to is equivalent to passing null. + When is being used to resolve initializers an instance of + this class must be used to disable initialization. + + The type of the context. + + + + + + + Extension methods for . + + + + + Returns an implementation that stays in sync with the given + . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + Useful extension methods for use with Entity Framework LINQ queries. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + The type of entity being queried. + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + The path expression must be composed of simple property access expressions together with calls to Select for + composing additional includes after including a collection proprty. Examples of possible include paths are: + To include a single reference: query.Include(e => e.Level1Reference) + To include a single collection: query.Include(e => e.Level1Collection) + To include a reference and then a reference one level down: query.Include(e => e.Level1Reference.Level2Reference) + To include a reference and then a collection one level down: query.Include(e => e.Level1Reference.Level2Collection) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection, a reference, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference.Level3Reference)) + To include a collection, a collection, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection.Select(l2 => l2.Level3Reference))) + This extension method calls the Include(String) method of the source IQueryable object, if such a method exists. + If the source IQueryable does not have a matching method, then this method does nothing. + The Entity Framework ObjectQuery, ObjectSet, DbQuery, and DbSet types all have an appropriate Include method to call. + When you call the Include method, the query path is only valid on the returned instance of the IQueryable<T>. Other + instances of IQueryable<T> and the object context itself are not affected. Because the Include method returns the + query object, you can call this method multiple times on an IQueryable<T> to specify multiple paths for the query. + + The type of entity being queried. + The type of navigation property being included. + The source IQueryable on which to call Include. + A lambda expression representing the path to include. + + A new IQueryable<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + The type of the elements of . + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a list from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + is null. + + + doesn't implement . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Bypasses a specified number of elements in a sequence and then returns the remaining elements. + + The type of the elements of source. + A sequence to return elements from. + An expression that evaluates to the number of elements to skip. + A sequence that contains elements that occur after the specified index in the + input sequence. + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of source. + The sequence to return elements from. + An expression that evaluates to the number of elements + to return. + A sequence that contains the specified number of elements from the + start of the input sequence. + + + + Represents data in a geodetic (round earth) coordinate system. + + + + Gets the default coordinate system id (SRID) for geography values (WGS 84) + The default coordinate system id (SRID) for geography values (WGS 84) + + + Gets a representation of this DbGeography value that is specific to the underlying provider that constructed it. + A representation of this DbGeography value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeography value. + A data contract serializable well known representation of this DbGeography value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeography value as defined by the well known binary value with the default geography coordinate system identifier (SRID)( + + ). + + A byte array that contains a well known binary representation of the geography value. + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeography value as defined by the GML value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified well known text value. + + + A new DbGeography value as defined by the well known text value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geography value. + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known text value. + The multi polygon value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Gets the identifier associated with the coordinate system. + The identifier associated with the coordinate system. + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of the given value. + + + + Gets the spatial type name of the DBGeography. + The spatial type name of the DBGeography. + + + Gets a nullable Boolean value indicating whether this DbGeography value is empty. + True if this DbGeography value is empty; otherwise, false. + + + Generates the well known text representation of this DbGeography value. Includes only Longitude and Latitude for points. + A string containing the well known text representation of this DbGeography value. + + + Generates the well known binary representation of this DbGeography value. + The well-known binary representation of this DbGeography value. + + + Generates the Geography Markup Language (GML) representation of this DbGeography value. + A string containing the GML representation of this DbGeography value. + + + Determines whether this DbGeography is spatially equal to the specified DbGeography argument. + true if other is spatially equal to this geography value; otherwise false. + The geography value that should be compared with this geography value for equality. + + + Determines whether this DbGeography is spatially disjoint from the specified DbGeography argument. + true if other is disjoint from this geography value; otherwise false. + The geography value that should be compared with this geography value for disjointness. + + + Determines whether this DbGeography value spatially intersects the specified DbGeography argument. + true if other intersects this geography value; otherwise false. + The geography value that should be compared with this geography value for intersection. + + + Returns a geography object that represents the union of all points whose distance from a geography instance is less than or equal to a specified value. + A geography object that represents the union of all points + The distance. + + + Computes the distance between the closest points in this DbGeography value and another DbGeography value. + A double value that specifies the distance between the two closest points in this geography value and other. + The geography value for which the distance from this value should be computed. + + + Computes the intersection of this DbGeography value and another DbGeography value. + A new DbGeography value representing the intersection between this geography value and other. + The geography value for which the intersection with this value should be computed. + + + Computes the union of this DbGeography value and another DbGeography value. + A new DbGeography value representing the union between this geography value and other. + The geography value for which the union with this value should be computed. + + + Computes the difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the difference between this geography value and other. + The geography value for which the difference with this value should be computed. + + + Computes the symmetric difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the symmetric difference between this geography value and other. + The geography value for which the symmetric difference with this value should be computed. + + + Gets the number of elements in this DbGeography value, if it represents a geography collection. <returns>The number of elements in this geography value, if it represents a collection of other geography values; otherwise null.</returns> + The number of elements in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a geography collection. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a collection of other geography values; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets the Latitude coordinate of this DbGeography value, if it represents a point. <returns>The Latitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Latitude coordinate of this DbGeography value. + + + Gets the Longitude coordinate of this DbGeography value, if it represents a point. <returns>The Longitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Longitude coordinate of this DbGeography value. + + + Gets the elevation (Z coordinate) of this DbGeography value, if it represents a point. <returns>The elevation (Z coordinate) value of this geography value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeography value. + + + Gets the M (Measure) coordinate of this DbGeography value, if it represents a point. <returns>The M (Measure) coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The M (Measure) coordinate of this DbGeography value. + + + Gets a nullable double value that indicates the length of this DbGeography value, which may be null if this value does not represent a curve. + A nullable double value that indicates the length of this DbGeography value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeography value is closed, which may be null if this value does not represent a curve. + True if this DbGeography value is closed; otherwise, false. + + + Gets the number of points in this DbGeography value, if it represents a linestring or linear ring. <returns>The number of elements in this geography value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets a nullable double value that indicates the area of this DbGeography value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeography value. + + + Returns a string representation of the geography value. + A string representation of the geography value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + Represents geometric shapes. + + + + Gets the default coordinate system id (SRID) for geometry values. + The default coordinate system id (SRID) for geometry values. + + + Gets a representation of this DbGeometry value that is specific to the underlying provider that constructed it. + A representation of this DbGeometry value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeometry value. + A data contract serializable well known representation of this DbGeometry value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeometry value as defined by the well known binary value with the default geometry coordinate system identifier ( + + ). + + A byte array that contains a well known binary representation of the geometry value. + wellKnownBinary + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownBinary + coordinateSystemId + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownBinary + coordinateSystemId + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownBinary + coordinateSystemId + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownBinary + coordinateSystemId + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multipoint value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownBinary + coordinateSystemId + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeometry value as defined by the GML value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + geometryMarkup + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryMarkup + coordinateSystemId + + + + Creates a new value based on the specified well known text value. + + + A new DbGeometry value as defined by the well known text value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geometry value. + wellKnownText + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownText + coordinateSystemId + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownText + coordinateSystemId + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownText + coordinateSystemId + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownText + coordinateSystemId + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownText + coordinateSystemId + + + Gets the coordinate system identifier of the DbGeometry object. + The coordinate system identifier of the DbGeometry object. + + + Gets the boundary of the DbGeometry objects. + The boundary of the DbGeometry objects. + + + + Gets the dimension of the given value or, if the value is a collection, the dimension of its largest element. + + + The dimension of the given value. + + + + Gets the envelope (minimum bounding box) of this DbGeometry value, as a geometry value. + The envelope (minimum bounding box) of this DbGeometry value. + + + Gets a spatial type name representation of this DbGeometry value. + A spatial type name representation of this DbGeometry value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is empty, which may be null if this value does not represent a curve. + True if this DbGeometry value is empty; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is simple. + True if this DbGeometry value is simple; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is valid. + True if this DbGeometry value is valid; otherwise, false. + + + Generates the well known text representation of this DbGeometry value. Includes only X and Y coordinates for points. + A string containing the well known text representation of this DbGeometry value. + + + Generates the well known binary representation of this DbGeometry value. + The well-known binary representation of this DbGeometry value. + + + Generates the Geography Markup Language (GML) representation of this DbGeometry value. + A string containing the GML representation of this DbGeometry value. + + + Determines whether this DbGeometry is spatially equal to the specified DbGeometry argument. + true if other is spatially equal to this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for equality. + other + + + Determines whether this DbGeometry is spatially disjoint from the specified DbGeometry argument. + true if other is disjoint from this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for disjointness. + other + + + Determines whether this DbGeometry value spatially intersects the specified DbGeometry argument. + true if other intersects this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for intersection. + other + + + Determines whether this DbGeometry value spatially touches the specified DbGeometry argument. + true if other touches this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value spatially crosses the specified DbGeometry argument. + true if other crosses this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value is spatially within the specified DbGeometry argument. + true if this geometry value is within other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially contains the specified DbGeometry argument. + true if this geometry value contains other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially overlaps the specified DbGeometry argument. + true if this geometry value overlaps other; otherwise false. + The geometry value that should be compared with this geometry value for overlap. + other + + + Determines whether this DbGeometry value spatially relates to the specified DbGeometry argument according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + true if this geometry value relates to other according to the specified intersection pattern matrix; otherwise false. + The geometry value that should be compared with this geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + other + matrix + + + Returns a geometry object that represents the union of all points whose distance from a geometry instance is less than or equal to a specified value. + A geometry object that represents the union of all points. + The distance. + + + Computes the distance between the closest points in this DbGeometry value and another DbGeometry value. + A double value that specifies the distance between the two closest points in this geometry value and other. + The geometry value for which the distance from this value should be computed. + other + + + Gets the convex hull of this DbGeometry value as another DbGeometry value. + The convex hull of this DbGeometry value as another DbGeometry value. + + + Computes the intersection of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the intersection between this geometry value and other. + The geometry value for which the intersection with this value should be computed. + other + + + Computes the union of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the union between this geometry value and other. + The geometry value for which the union with this value should be computed. + other + + + Computes the difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the difference between this geometry value and other. + The geometry value for which the difference with this value should be computed. + other + + + Computes the symmetric difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the symmetric difference between this geometry value and other. + The geometry value for which the symmetric difference with this value should be computed. + other + + + Gets the number of elements in this DbGeometry value, if it represents a geometry collection. <returns>The number of elements in this geometry value, if it represents a collection of other geometry values; otherwise null.</returns> + The number of elements in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a geometry collection. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a collection of other geometry values; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets the X coordinate of this DbGeometry value, if it represents a point. <returns>The X coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The X coordinate of this DbGeometry value. + + + Gets the Y coordinate of this DbGeometry value, if it represents a point. <returns>The Y coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The Y coordinate of this DbGeometry value. + + + Gets the elevation (Z coordinate) of this DbGeometry value, if it represents a point. <returns>The elevation (Z coordinate) of this geometry value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeometry value. + + + Gets the Measure (M coordinate) of this DbGeometry value, if it represents a point. <returns>The Measure (M coordinate) value of this geometry value, if it represents a point; otherwise null.</returns> + The Measure (M coordinate) of this DbGeometry value. + + + Gets a nullable double value that indicates the length of this DbGeometry value, which may be null if this value does not represent a curve. + The length of this DbGeometry value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is closed, which may be null if this value does not represent a curve. + True if this DbGeometry value is closed; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is a ring, which may be null if this value does not represent a curve. + True if this DbGeometry value is a ring; otherwise, false. + + + Gets the number of points in this DbGeometry value, if it represents a linestring or linear ring. <returns>The number of elements in this geometry value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets a nullable double value that indicates the area of this DbGeometry value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeometry value. + + + Gets the DbGeometry value that represents the centroid of this DbGeometry value, which may be null if this value does not represent a surface. + The DbGeometry value that represents the centroid of this DbGeometry value. + + + Gets a point on the surface of this DbGeometry value, which may be null if this value does not represent a surface. + A point on the surface of this DbGeometry value. + + + Gets the DbGeometry value that represents the exterior ring of this DbGeometry value, which may be null if this value does not represent a polygon. + The DbGeometry value that represents the exterior ring of this DbGeometry value. + + + Gets the number of interior rings in this DbGeometry value, if it represents a polygon. <returns>The number of elements in this geometry value, if it represents a polygon; otherwise null.</returns> + The number of interior rings in this DbGeometry value. + + + Returns an interior ring from this DbGeometry value at a specific position, if it represents a polygon. <param name="index">The position within this geometry value from which the interior ring should be taken.</param><returns>The interior ring in this geometry value at the specified position, if it represents a polygon; otherwise null.</returns> + An interior ring from this DbGeometry value at a specific position. + The index. + + + Returns a string representation of the geometry value. + A string representation of the geometry value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeography at the specified column value + The ordinal of the column that contains the geography value + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the column that contains the geography value. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeometry at the specified column value + The ordinal of the data record column that contains the provider-specific geometry data + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the data record column that contains the provider-specific geometry data. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + Returns whether the column at the specified column ordinal is of geography type + + The column ordinal. + + true if the column at the specified column ordinal is of geography type; + false otherwise. + + + + + Returns whether the column at the specified column ordinal is of geometry type + + The column ordinal. + + true if the column at the specified column ordinal is of geometry type; + false otherwise. + + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + Gets the default services for the . + + The default services. + + + + Override this property to allow the spatial provider to fail fast when native types or other + resources needed for the spatial provider to function correctly are not available. + The default value is true which means that EF will continue with the assumption + that the provider has the necessary types/resources rather than failing fast. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + The provider value. + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geography value. + A new DbGeography value backed by this spatial services implementation and the specified provider value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geography value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geographyValue, as a new + + . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geographyValue, or the largest element dimension if + + is a collection. + + The geography value for which the dimension value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value. This value should include only the Longitude and Latitude of points. + + A string containing the well-known text representation of geographyValue. + The geography value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geography value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeography value. + The geography value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geographyValue is spatially equal to otherGeography; otherwise false. + The first geography value to compare for equality. + The second geography value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geographyValue is disjoint from otherGeography; otherwise false. + The first geography value to compare for disjointness. + The second geography value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geographyValue intersects otherGeography; otherwise false. + The first geography value to compare for intersection. + The second geography value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geography value representing all points less than or equal to distance from the given + + value. + + A new DbGeography value representing all points less than or equal to distance from geographyValue. + The geography value. + A double value specifying how far from geographyValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference of two values. + + A new DbGeography value representing the difference of geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference of two values. + + + A new value representing the symmetric difference of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geography collection. + + The number of elements in geographyValue, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geography collection. + + The element in geographyValue at position index, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Latitude coordinate of the given value, if it represents a point. + + + The Latitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Longitude coordinate of the given value, if it represents a point. + + + The Longitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z coordinate) of the given value, if it represents a point. + + The elevation (Z coordinate) of geographyValue, if it represents a point; otherwise null. + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeography value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeography value, which may be null if the value does not represent a curve. + + The end point of geographyValue, if it represents a curve; otherwise null. + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geography value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geographyValue at position index, if it represents a linestring or linear ring; otherwise null. + The geography value, which need not represent a linestring or linear ring. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geography value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + A provider value. + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geometry value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geometryValue, as a new + + . + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the boundary of the given + + value. + + + The boundary of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geometryValue, or the largest element dimension if + + is a collection. + + The geometry value for which the dimension value should be retrieved. + + + + Gets the envelope (minimum bounding box) of the given value, as a geometry value. + + + The envelope of geometryValue, as a value. + + The geometry value for which the envelope value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is simple. + + + True if the given value is simple; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is valid. + + + True if the given value is valid; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value, including only X and Y coordinates for points. + + A string containing the well-known text representation of geometryValue. + The geometry value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of with elevation and measure. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geometry value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeometry value. + The geometry value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geometryValue is spatially equal to otherGeometry; otherwise false. + The first geometry value to compare for equality. + The second geometry value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geometryValue is disjoint from otherGeometry; otherwise false. + The first geometry value to compare for disjointness. + The second geometry value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geometryValue intersects otherGeometry; otherwise false. + The first geometry value to compare for intersection. + The second geometry value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially touch. + + true if geometryValue touches otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially cross. + + true if geometryValue crosses otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value is spatially within the other. + + true if geometryValue is within otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value spatially contains the other. + + true if geometryValue contains otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially overlap. + + true if geometryValue overlaps otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially related according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + + true if this geometryValue value relates to otherGeometry according to the specified intersection pattern matrix; otherwise false. + The first geometry value. + The geometry value that should be compared with the first geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + + + , + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geometry value representing all points less than or equal to distance from the given + + value. + + A new DbGeometry value representing all points less than or equal to distance from geometryValue. + The geometry value. + A double value specifying how far from geometryValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the convex hull of the given + + value. + + + The convex hull of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference between two values. + + A new DbGeometry value representing the difference between geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference between two values. + + + A new value representing the symmetric difference between geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geometry collection. + + The number of elements in geometryValue, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geometry collection. + + The element in geometryValue at position index, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the X coordinate of the given value, if it represents a point. + + + The X coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Y coordinate of the given value, if it represents a point. + + + The Y coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z) of the given value, if it represents a point. + + The elevation (Z) of geometryValue, if it represents a point; otherwise null. + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeometry value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeometry value, which may be null if the value does not represent a curve. + + The end point of geometryValue, if it represents a curve; otherwise null. + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is a ring, which may be null if the value does not represent a curve. + + + True if the given value is a ring; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geometry value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geometryValue at position index, if it represents a linestring or linear ring; otherwise null. + The geometry value, which need not represent a linestring or linear ring. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the centroid of the given DbGeometry value, which may be null if the value does not represent a surface. + + The centroid of geometryValue, if it represents a surface; otherwise null. + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents a point on the surface of the given DbGeometry value, which may be null if the value does not represent a surface. + + + A value that represents a point on the surface of the given DbGeometry value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the exterior ring of the given DbGeometry value, which may be null if the value does not represent a polygon. + + A DbGeometry value representing the exterior ring on geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of interior rings in the given value, if it represents a polygon. + + The number of elements in geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an interior ring from the given value, if it represents a polygon. + + The interior ring in geometryValue at position index, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Controls the transaction creation behavior while executing a database command or query. + + + + + If no transaction is present then a new transaction will be used for the operation. + + + + + If an existing transaction is present then use it, otherwise execute the command or query without a transaction. + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException. + + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + The inner exception. + + + + Initializes a new instance of the DbEntityValidationException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Validation results. + + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Represents validation results for single entity. + + + + + Creates an instance of class. + + Entity entry the results applies to. Never null. + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + Validation error. Can be either entity or property level validation error. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + When this attribute is placed on a property it indicates that the database column to which the + property is mapped has an index. + + + This attribute is used by Entity Framework Migrations to create indexes on mapped database columns. + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Creates a instance for an index that will be named by convention and + has no column order, clustering, or uniqueness specified. + + + + + Creates a instance for an index with the given name and + has no column order, clustering, or uniqueness specified. + + The index name. + + + + Creates a instance for an index with the given name and column order, + but with no clustering or uniqueness specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + The index name. + A number which will be used to determine column ordering for multi-column indexes. + + + + The index name. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + A number which will be used to determine column ordering for multi-column indexes. This will be -1 if no + column order has been specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Set this property to true to define a clustered index. Set this property to false to define a + non-clustered index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Set this property to true to define a unique index. Set this property to false to define a + non-unique index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Returns a different ID for each object instance such that type descriptors won't + attempt to combine all IndexAttribute instances into a single instance. + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + diff --git a/Auto_Demo/bin/Debug/KAutoHelper.dll b/Auto_Demo/bin/Debug/KAutoHelper.dll new file mode 100644 index 0000000..d171f6a Binary files /dev/null and b/Auto_Demo/bin/Debug/KAutoHelper.dll differ diff --git a/Auto_Demo/bin/Debug/System.Data.SQLite.EF6.dll b/Auto_Demo/bin/Debug/System.Data.SQLite.EF6.dll new file mode 100644 index 0000000..640030d Binary files /dev/null and b/Auto_Demo/bin/Debug/System.Data.SQLite.EF6.dll differ diff --git a/Auto_Demo/bin/Debug/System.Data.SQLite.Linq.dll b/Auto_Demo/bin/Debug/System.Data.SQLite.Linq.dll new file mode 100644 index 0000000..9a0054d Binary files /dev/null and b/Auto_Demo/bin/Debug/System.Data.SQLite.Linq.dll differ diff --git a/Auto_Demo/bin/Debug/System.Data.SQLite.dll b/Auto_Demo/bin/Debug/System.Data.SQLite.dll new file mode 100644 index 0000000..82a4384 Binary files /dev/null and b/Auto_Demo/bin/Debug/System.Data.SQLite.dll differ diff --git a/Auto_Demo/bin/Debug/System.Data.SQLite.xml b/Auto_Demo/bin/Debug/System.Data.SQLite.xml new file mode 100644 index 0000000..f89ea1a --- /dev/null +++ b/Auto_Demo/bin/Debug/System.Data.SQLite.xml @@ -0,0 +1,21684 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Non-zero to log all calls to prepare a SQL query. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogLifecycle" environment variable has been queried. If + so, it will only be non-zero if the environment variable was present. + + + + + Determines if calls into key members pertaining to the lifecycle of + connections and their associated classes will be logged, regardless + of the flags for the associated connection. + + + Non-zero to log calls into key members pertaining to the lifecycle of + connections and their associated classes (e.g. LINQ, EF6, etc). + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + Skip adding the extension functions provided by the native interop + assembly if they would conflict with a function provided by the + SQLite core library. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + TextPassword + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + This will be non-zero if the "TextPassword" connection string property + was used. When this value is non-zero, + will retain treatment of the password as a NUL-terminated text string. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes user-settable properties with their default values. + This method is only intended to be used from the constructor. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/sets the database encryption textual password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + Data read from the file system appears to be incorrect. + + + + + File system corruption was detected during a read or write. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + An internal timeout was encountered while waiting for a database lock. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A database file already exists and cannot be created. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + An index entry that should be present is missing. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Value does not conform to specified data type. + + + + + Method called without an appropriate license. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This method is called to perform preliminary static initialization + necessary for this class. + + + + + This method is called to perform some of the static initialization + necessary for this class. + + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Maximum number of milliseconds a non-primary thread should wait + for the method to be completed. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + This will be signaled when the + method has been completed. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + method has been called when the logging subystem was actually + eligible to be initialized (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + The number of times that the method + has been called. + + + + + The number of times that the + method has been completed (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Creates the that will be used to + signal completion of the method, + if necessary, and then returns it. + + + The that will be used to signal + completion of the method. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities -OR- waits for the + SQLite logging facilities to be initialized by another thread. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if everything was fully initialized successfully. + + + + + Uninitializes the SQLite logging facilities. + + + + + Uninitializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if the native SQLite library should be shutdown prior + to attempting to unset its logging callback. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + For internal use only. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The primary file extension used for the XML configuration file. + + + + + The secondary file extension used for the XML configuration file. + + + + + This is the name of the primary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the name of the secondary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + Non-zero to replace any special token references contained in the + setting value to be returned. This has no effect on the .NET Compact + Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the output idxNum field or idxStr content. + + + For the LIKE, GLOB, REGEXP, and MATCH operators, the + aConstraint[].iColumn value is the virtual table column that + is the left operand of the operator. However, if these operators + are expressed as function calls instead of operators, then + the aConstraint[].iColumn value references the virtual table + column that is the second argument to that function: + + + LIKE(EXPR, column)]]> + GLOB(EXPR, column)]]> + REGEXP(EXPR, column)]]> + MATCH(EXPR, column)]]> + + + Hence, as far as the xBestIndex() method is concerned, the following + two forms are equivalent: + + + column LIKE EXPR]]> + LIKE(EXPR,column) + + + This special behavior of looking at the second argument of a function + only occurs for the LIKE, GLOB, REGEXP, and MATCH functions. For all + other functions, the aConstraint[].iColumn value references the first + argument of the function. + + + This special feature of LIKE, GLOB, REGEXP, and MATCH does not + apply to the xFindFunction() method, however. The + xFindFunction() method always keys off of the left operand of an + LIKE, GLOB, REGEXP, or MATCH operator but off of the first argument + to function-call equivalents of those operators. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method conveys an indexing strategy to the xFilter + method through the idxNum and idxStr fields. The idxNum value and + idxStr string content are arbitrary as far as the SQLite core is + concerned and can have any meaning as long as xBestIndex and xFilter + agree on what that meaning is. The SQLite core just copies the + information from xBestIndex through to the xFilter method, assuming + only that the char sequence referenced via idxStr is NUL terminated. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified is insufficient for the virtual table + to do its job. + This is logically the same as setting the estimatedCost to infinity. + If every call to xBestIndex for a particular query plan returns + SQLITE_CONSTRAINT, that means there is no way for the virtual table + to be safely used, and the sqlite3_prepare() call will fail with + a "no query solution" error. + + + The SQLITE_CONSTRAINT return from xBestIndex + is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. If a required field does not appear in + the aConstraint[] array at all, that means that the corresponding + parameter is omitted from the input SQL. In that case, xBestIndex + should set an error message in pVTab->zErrMsg and return + SQLITE_ERROR. To summarize: + + ]]> + ]]> + The aConstraint[].usable value for a required parameter is + false return SQLITE_CONSTRAINT. + ]]>]]> + A required parameter does not appears anywhere in + the aConstraint[] array + Set an error message in pVTab->zErrMsg and return + SQLITE_ERROR + ]]>]]> + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" would normally work the same + as "B like A". + However, xFindFunction() always looks a the left-most argument, not + the first logical argument. + Hence, for the form "B like A", SQLite looks at the + left operand "B" and if that operand is a virtual table column + it invokes the xFindFunction() method on that virtual table. + But if the form "like(A,B)" is used instead, then SQLite checks + the A term to see if it is column of a virtual table and if so + it invokes the xFindFunction() method for the virtual table of + column A. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + Number of bytes used by the session -OR- negative one if its value + cannot be obtained. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + The number of bytes used by the session. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+
diff --git a/Auto_Demo/bin/Debug/Tesseract.dll b/Auto_Demo/bin/Debug/Tesseract.dll new file mode 100644 index 0000000..620673b Binary files /dev/null and b/Auto_Demo/bin/Debug/Tesseract.dll differ diff --git a/Auto_Demo/bin/Debug/ZedGraph.dll b/Auto_Demo/bin/Debug/ZedGraph.dll new file mode 100644 index 0000000..2764ce6 Binary files /dev/null and b/Auto_Demo/bin/Debug/ZedGraph.dll differ diff --git a/Auto_Demo/bin/Debug/ZedGraph.xml b/Auto_Demo/bin/Debug/ZedGraph.xml new file mode 100644 index 0000000..e04ce78 --- /dev/null +++ b/Auto_Demo/bin/Debug/ZedGraph.xml @@ -0,0 +1,25730 @@ + + + + ZedGraph + + + + + The last caption that was set. + + + + + The last point a tool tip caption was set at. + + + + + Initializes a new instance of the class. + + The control. + The active callback. + The set tool tip callback. + + control + or + activeCallback + or + setToolTipCallback + + + + + Gets the delegate that is called when the active state of the tool + tip is changed. + + + The active state delegate callback. + + + + + Gets the control that this tool tip instance handles. + + + The control that this tool tip instance handles. + + + + + Gets the callback delegate to call when the caption is set. + + + The callback delegate to call when the caption is set. + + + + + Disables the tool tip. + + + + + Enables the tool tip. + + + + + Sets the specified caption. + + The caption. + + + + Sets the caption for the tool tip at the specified point. + + The caption. + The point. + + + + Creates a for the specified control, + using the supplied tooltip to display values. + + The control. + The tool tip. + + toolTip + + + + Disables the tool tip. + + + + + Enables the tool tip. + + + + + Sets the caption for the tool tip at the specified point. + + The caption. + The point. + + + + The reversible frame draws a dashed rectangle + + + + + The possible pen styles for creating pens. + + + + + The available raster operation types. + + + + + Draws the reversible frame with the given background color for the specified control rectangle. + + The graphics object. + Color of the background. + The rectangle. + + + + The ZedGraphControl class provides a UserControl interface to the + class library. This allows ZedGraph to be installed + as a control in the Visual Studio toolbox. You can use the control by simply + dragging it onto a form in the Visual Studio form editor. All graph + attributes are accessible via the + property. + + John Champion revised by Jerry Vos + $Revision: 3.86 $ $Date: 2007-11-03 04:41:29 $ + + + + The tool tip for displaying the cursor and point values. + + + + + Enables the tool tip. + + + + + Sets the tool tip. + + The caption. + The point. + + + + Disables the tool tip. + + + + + Public enumeration that specifies the type of + object present at the Context Menu's mouse location + + + + + The object is an Inactive Curve Item at the Context Menu's mouse position + + + + + The object is an active Curve Item at the Context Menu's mouse position + + + + + There is no selectable object present at the Context Menu's mouse position + + + + + Find the object currently under the mouse cursor, and return its state. + + + + + protected method to handle the popup context menu in the . + + + + + + + Handler for the "Copy" context menu item. Copies the current image to a bitmap on the + clipboard. + + + + + + + Handler for the "Copy" context menu item. Copies the current image to a bitmap on the + clipboard. + + boolean value that determines whether or not a prompt will be + displayed. true to show a message of "Image Copied to ClipBoard". + + + + A threaded version of the copy method to avoid crash with MTA + + + + + Setup for creation of a new image, applying appropriate anti-alias properties and + returning the resultant image file + + + + + + Special handler that copies the current image to an Emf file on the clipboard. + + This version is similar to the regular method, except that + it will place an Emf image (vector) on the ClipBoard instead of the regular bitmap. + boolean value that determines whether or not a prompt will be + displayed. true to show a message of "Image Copied to ClipBoard". + + + + A threaded version of the copy method to avoid crash with MTA + + + + + Handler for the "Save Image As" context menu item. Copies the current image to the selected + file. + + + + + + + Handler for the "Save Image As" context menu item. Copies the current image to the selected + file in either the Emf (vector), or a variety of Bitmap formats. + + + Note that and methods are provided + which allow for Bitmap-only or Emf-only handling of the "Save As" context menu item. + + + + + Copies the current image to the selected file in + Emf (vector), or a variety of Bitmap formats. + + + Accepts a default file name for the file dialog (if "" or null, default is not used) + + + The file name saved, or "" if cancelled. + + + Note that and methods are provided + which allow for Bitmap-only or Emf-only handling of the "Save As" context menu item. + + + + + Handler for the "Save Image As" context menu item. Copies the current image to the selected + Bitmap file. + + + Note that this handler saves as a bitmap only. The default handler is + , which allows for Bitmap or EMF formats + + + + + Handler for the "Save Image As" context menu item. Copies the current image to the selected + Emf format file. + + + Note that this handler saves as an Emf format only. The default handler is + , which allows for Bitmap or EMF formats. + + + + + Save the current Graph to the specified filename in EMF (vector) format. + See for public access. + + + Note that this handler saves as an Emf format only. The default handler is + , which allows for Bitmap or EMF formats. + + + + + Handler for the "Show Values" context menu item. Toggles the + property, which activates the point value tooltips. + + + + + + + Handler for the "Set Scale to Default" context menu item. Sets the scale ranging to + full auto mode for all axes. + + + This method differs from the method in that it sets the scales + to full auto mode. The method sets the scales to their initial + setting prior to any user actions (which may or may not be full auto mode). + + + + + + + Handler for the "Set Scale to Default" context menu item. Sets the scale ranging to + full auto mode for all axes. + + + This method differs from the method in that it sets the scales + to full auto mode. The method sets the scales to their initial + setting prior to any user actions (which may or may not be full auto mode). + + The object which is to have the + scale restored + + + + Handler for the "UnZoom/UnPan" context menu item. Restores the scale ranges to the values + before the last zoom or pan operation. + + + + + + + Handler for the "UnZoom/UnPan" context menu item. Restores the scale ranges to the values + before the last zoom, pan, or scroll operation. + + + Triggers a for any type of undo (including pan, scroll, zoom, and + wheelzoom). This method will affect all the + objects in the if + or is true. + + The primary object which is to be + zoomed out + + + + Handler for the "Undo All Zoom/Pan" context menu item. Restores the scale ranges to the values + before all zoom and pan operations + + + This method differs from the method in that it sets the scales + to their initial setting prior to any user actions. The method + sets the scales to full auto mode (regardless of what the initial setting may have been). + + + + + + + Handler for the "Undo All Zoom/Pan" context menu item. Restores the scale ranges to the values + before all zoom and pan operations + + + This method differs from the method in that it sets the scales + to their initial setting prior to any user actions. The method + sets the scales to full auto mode (regardless of what the initial setting may have been). + + The object which is to be zoomed out + + + + This private field contains the instance for the MasterPane object of this control. + You can access the MasterPane object through the public property + . This is nulled when this Control is + disposed. + + + + + private field that determines whether or not tooltips will be displayed + when the mouse hovers over data values. Use the public property + to access this value. + + + + + private field that determines whether or not tooltips will be displayed + showing the scale values while the mouse is located within the ChartRect. + Use the public property to access this value. + + + + + private field that determines the format for displaying tooltip values. + This format is passed to . + Use the public property to access this + value. + + + + + private field that determines whether or not the context menu will be available. Use the + public property to access this value. + + + + + private field that determines whether or not a message box will be shown in response to + a context menu "Copy" command. Use the + public property to access this value. + + + Note that, if this value is set to false, the user will receive no indicative feedback + in response to a Copy action. + + + + + private field that determines whether the settings of + and + will be overridden to true during printing operations. + + + Printing involves pixel maps that are typically of a dramatically different dimension + than on-screen pixel maps. Therefore, it becomes more important to scale the fonts and + lines to give a printed image that looks like what is shown on-screen. The default + setting for is true, but the default + setting for is false. + + + A value of true will cause both and + to be temporarily set to true during + printing operations. + + + + + private field that determines whether or not the visible aspect ratio of the + will be preserved + when printing this . + + + + + private field that determines whether or not the + dimensions will be expanded to fill the + available space when printing this . + + + If is also true, then the + dimensions will be expanded to fit as large + a space as possible while still honoring the visible aspect ratio. + + + + + private field that determines the format for displaying tooltip date values. + This format is passed to . + Use the public property to access this + value. + + + + + private value that determines whether or not zooming is enabled for the control in the + vertical direction. Use the public property to access this + value. + + + + + private value that determines whether or not zooming is enabled for the control in the + horizontal direction. Use the public property to access this + value. + + + + + private value that determines whether or not zooming is enabled with the mousewheel. + Note that this property is used in combination with the and + properties to control zoom options. + + + + + private value that determines whether or not point editing is enabled in the + vertical direction. Use the public property to access this + value. + + + + + private value that determines whether or not point editing is enabled in the + horizontal direction. Use the public property to access this + value. + + + + + private value that determines whether or not panning is allowed for the control in the + horizontal direction. Use the + public property to access this value. + + + + + private value that determines whether or not panning is allowed for the control in the + vertical direction. Use the + public property to access this value. + + + + + Internal variable that indicates if the control can manage selections. + + + + + private field that stores a instance, which maintains + a persistent selection of printer options. + + + This is needed so that a "Print" action utilizes the settings from a prior + "Page Setup" action. + + + + This private field contains a list of selected CurveItems. + + + + + Gets or sets a value that determines which Mouse button will be used to click on + linkable objects + + + + + + Gets or sets a value that determines which modifier keys will be used to click + on linkable objects + + + + + + Gets or sets a value that determines which Mouse button will be used to edit point + data values + + + This setting only applies if and/or + are true. + + + + + + Gets or sets a value that determines which modifier keys will be used to edit point + data values + + + This setting only applies if and/or + are true. + + + + + + Gets or sets a value that determines which mouse button will be used to select + 's. + + + This setting only applies if is true. + + + + + + Gets or sets a value that determines which modifier keys will be used to select + 's. + + + This setting only applies if is true. + + + + + + Gets or sets a value that determines which Mouse button will be used to perform + zoom operations + + + This setting only applies if and/or + are true. + + + + + + + + Gets or sets a value that determines which modifier keys will be used to perform + zoom operations + + + This setting only applies if and/or + are true. + + + + + + + + Gets or sets a value that determines which Mouse button will be used as a + secondary option to perform zoom operations + + + This setting only applies if and/or + are true. + + + + + + + + Gets or sets a value that determines which modifier keys will be used as a + secondary option to perform zoom operations + + + This setting only applies if and/or + are true. + + + + + + + + Gets or sets a value that determines which Mouse button will be used to perform + panning operations + + + This setting only applies if and/or + are true. A Pan operation (dragging the graph with + the mouse) should not be confused with a scroll operation (using a scroll bar to + move the graph). + + + + + + + + Gets or sets a value that determines which modifier keys will be used to perform + panning operations + + + This setting only applies if and/or + are true. A Pan operation (dragging the graph with + the mouse) should not be confused with a scroll operation (using a scroll bar to + move the graph). + + + + + + + + Gets or sets a value that determines which Mouse button will be used as a + secondary option to perform panning operations + + + This setting only applies if and/or + are true. A Pan operation (dragging the graph with + the mouse) should not be confused with a scroll operation (using a scroll bar to + move the graph). + + + + + + + + Gets or sets a value that determines which modifier keys will be used as a + secondary option to perform panning operations + + + This setting only applies if and/or + are true. A Pan operation (dragging the graph with + the mouse) should not be confused with a scroll operation (using a scroll bar to + move the graph). + + + + + + + + Internal variable that indicates the control is currently being zoomed. + + + + + Internal variable that indicates the control is currently being panned. + + + + + Internal variable that indicates a point value is currently being edited. + + + + + Internal variable that indicates the control is currently using selection. + + + + + Internal variable that stores the reference for the Pane that is + currently being zoomed or panned. + + + + + Internal variable that stores a rectangle which is either the zoom rectangle, or the incremental + pan amount since the last mousemove event. + + + + + private field that stores the state of the scale ranges prior to starting a panning action. + + + + + Default Constructor + + + + + Clean up any resources being used. + + true if the components should be + disposed, false otherwise + + + + Called by the system to update the control on-screen + + + A PaintEventArgs object containing the Graphics specifications + for this Paint event. + + + + + Called when the control has been resized. + + + A reference to the control that has been resized. + + + An EventArgs object. + + + + This performs an axis change command on the graphPane. + + + This is the same as + ZedGraphControl.GraphPane.AxisChange( ZedGraphControl.CreateGraphics() ), however, + this method also calls if + is true. + + + + + Save the current states of the GraphPanes to a separate collection. Save a single + () GraphPane if the panes are not synchronized + (see and ), + or save a list of states for all GraphPanes if the panes are synchronized. + + The primary GraphPane on which zoom/pan/scroll operations + are taking place + The that describes the + current operation + The that corresponds to the + . + + + + + Restore the states of the GraphPanes to a previously saved condition (via + . This is essentially an "undo" for live + pan and scroll actions. Restores a single + () GraphPane if the panes are not synchronized + (see and ), + or save a list of states for all GraphPanes if the panes are synchronized. + + The primary GraphPane on which zoom/pan/scroll operations + are taking place + + + + Place the previously saved states of the GraphPanes on the individual GraphPane + collections. This provides for an + option to undo the state change at a later time. Save a single + () GraphPane if the panes are not synchronized + (see and ), + or save a list of states for all GraphPanes if the panes are synchronized. + + The primary GraphPane on which zoom/pan/scroll operations + are taking place + The that corresponds to the + . + + + + + Clear the collection of saved states. + + + + + Clear all states from the undo stack for each GraphPane. + + + + + Required designer variable. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + A delegate that allows subscribing methods to append or modify the context menu. + + The source object + A reference to the object + that contains the context menu. + + The point at which the mouse was clicked + The current context menu state + + + + + Subscribe to this event to be able to modify the ZedGraph context menu. + + + The context menu is built on the fly after a right mouse click. You can add menu items + to this menu by simply modifying the parameter. + + + + + A delegate that allows notification of zoom and pan events. + + The source object + A object that corresponds to the state of the + before the zoom or pan event. + A object that corresponds to the state of the + after the zoom or pan event + + + + + Subscribe to this event to be notified when the is zoomed or panned by the user, + either via a mouse drag operation or by the context menu commands. + + + + + A delegate that allows notification of scroll events. + + The source object + The source object + A object that corresponds to the state of the + before the scroll event. + A object that corresponds to the state of the + after the scroll event + + + + + Subscribe to this event to be notified when the is scrolled by the user + using the scrollbars. + + + + + A delegate that allows notification of scroll events. + + The source object + The source object + A object that corresponds to the state of the + before the scroll event. + A object that corresponds to the state of the + after the scroll event + + + + + Subscribe to this event to be notified when the is scrolled by the user + using the scrollbars. + + + + + Subscribe to this event to be notified when the is scrolled by the user + using the scrollbars. + + + + + A delegate that receives notification after a point-edit operation is completed. + + The source object + The object that contains the + point that has been edited + The object that contains the point + that has been edited + The integer index of the edited within the + of the selected + + + + + + Subscribe to this event to receive notifcation and/or respond after a data + point has been edited via and . + + + To subscribe to this event, use the following in your Form_Load method: + zedGraphControl1.PointEditEvent += + new ZedGraphControl.PointEditHandler( MyPointEditHandler ); + Add this method to your Form1.cs: + + private string MyPointEditHandler( object sender, GraphPane pane, CurveItem curve, int iPt ) + { + PointPair pt = curve[iPt]; + return "This value is " + pt.Y.ToString("f2") + " gallons"; + } + + + + + A delegate that allows custom formatting of the point value tooltips + + The source object + The object that contains the point value of interest + The object that contains the point value of interest + The integer index of the selected within the + of the selected + + + + + Subscribe to this event to provide custom formatting for the tooltips + + + To subscribe to this event, use the following in your FormLoad method: + zedGraphControl1.PointValueEvent += + new ZedGraphControl.PointValueHandler( MyPointValueHandler ); + Add this method to your Form1.cs: + + private string MyPointValueHandler( object sender, GraphPane pane, CurveItem curve, int iPt ) + { + #region + PointPair pt = curve[iPt]; + return "This value is " + pt.Y.ToString("f2") + " gallons"; + #endregion + } + + + + + A delegate that allows custom formatting of the cursor value tooltips + + The source object + The object that contains the cursor of interest + The object that represents the cursor value location + + + + + Subscribe to this event to provide custom formatting for the cursor value tooltips + + + To subscribe to this event, use the following in your FormLoad method: + zedGraphControl1.CursorValueEvent += + new ZedGraphControl.CursorValueHandler( MyCursorValueHandler ); + Add this method to your Form1.cs: + + private string MyCursorValueHandler( object sender, GraphPane pane, Point mousePt ) + { + #region + double x, y; + pane.ReverseTransform( mousePt, out x, out y ); + return "( " + x.ToString( "f2" ) + ", " + y.ToString( "f2" ) + " )"; + #endregion + } + + + + + A delegate that allows notification of mouse events on Graph objects. + + The source object + A corresponding to this event + + + Return true if you have handled the mouse event entirely, and you do not + want the to do any further action (e.g., starting + a zoom operation). Return false if ZedGraph should go ahead and process the + mouse event. + + + + + Subscribe to this event to provide notification of MouseDown clicks on graph + objects + + + This event provides for a notification when the mouse is clicked on an object + within any of the associated + with this . This event will use the + method to determine which object + was clicked. The boolean value that you return from this handler determines whether + or not the will do any further handling of the + MouseDown event (see ). Return true if you have + handled the MouseDown event entirely, and you do not + want the to do any further action (e.g., starting + a zoom operation). Return false if ZedGraph should go ahead and process the + MouseDown event. + + + + + Hide the standard control MouseDown event so that the ZedGraphControl.MouseDownEvent + can be used. This is so that the user must return true/false in order to indicate + whether or not we should respond to the event. + + + + + Hide the standard control MouseUp event so that the ZedGraphControl.MouseUpEvent + can be used. This is so that the user must return true/false in order to indicate + whether or not we should respond to the event. + + + + + Hide the standard control MouseMove event so that the ZedGraphControl.MouseMoveEvent + can be used. This is so that the user must return true/false in order to indicate + whether or not we should respond to the event. + + + + + Subscribe to this event to provide notification of MouseUp clicks on graph + objects + + + This event provides for a notification when the mouse is clicked on an object + within any of the associated + with this . This event will use the + method to determine which object + was clicked. The boolean value that you return from this handler determines whether + or not the will do any further handling of the + MouseUp event (see ). Return true if you have + handled the MouseUp event entirely, and you do not + want the to do any further action (e.g., starting + a zoom operation). Return false if ZedGraph should go ahead and process the + MouseUp event. + + + + + Subscribe to this event to provide notification of MouseMove events over graph + objects + + + This event provides for a notification when the mouse is moving over on the control. + The boolean value that you return from this handler determines whether + or not the will do any further handling of the + MouseMove event (see ). Return true if you + have handled the MouseMove event entirely, and you do not + want the to do any further action. + Return false if ZedGraph should go ahead and process the MouseMove event. + + + + + Subscribe to this event to provide notification of Double Clicks on graph + objects + + + This event provides for a notification when the mouse is double-clicked on an object + within any of the associated + with this . This event will use the + method to determine which object + was clicked. The boolean value that you return from this handler determines whether + or not the will do any further handling of the + DoubleClick event (see ). Return true if you have + handled the DoubleClick event entirely, and you do not + want the to do any further action. + Return false if ZedGraph should go ahead and process the + DoubleClick event. + + + + + A delegate that allows notification of clicks on ZedGraph objects that have + active links enabled + + The source object + The source in which the click + occurred. + + The source object which was clicked. This is typically + a type of if a curve point was clicked, or + a type of if a graph object was clicked. + + The object, belonging to + , that contains the link information + + An index value, typically used if a + was clicked, indicating the ordinal value of the actual point that was clicked. + + + Return true if you have handled the LinkEvent entirely, and you do not + want the to do any further action. + Return false if ZedGraph should go ahead and process the LinkEvent. + + + + + Subscribe to this event to be able to respond to mouse clicks within linked + objects. + + + Linked objects are typically either type objects or + type objects. These object types can include + hyperlink information allowing for "drill-down" type operation. + + + + CurveItem.Link + GraphObj.Link + + + + Handle a MouseDown event in the + + A reference to the + A instance + + + + Set the cursor according to the current mouse location. + + + + + Set the cursor according to the current mouse location. + + + + + Handle a KeyUp event + + The in which the KeyUp occurred. + A instance. + + + + Handle the Key Events so ZedGraph can Escape out of a panning or zooming operation. + + + + + + + Handle a MouseUp event in the + + A reference to the + A instance + + + + Make a string label that corresponds to a user scale value. + + The axis from which to obtain the scale value. This determines + if it's a date value, linear, log, etc. + The value to be made into a label + The ordinal position of the value + true to override the ordinal settings of the axis, + and prefer the actual value instead. + The string label. + + + + protected method for handling MouseMove events to display tooltips over + individual datapoints. + + + A reference to the control that has the MouseMove event. + + + A MouseEventArgs object. + + + + + Handle a MouseWheel event in the + + A reference to the + A instance + + + + Zoom a specified pane in or out according to the specified zoom fraction. + + + The zoom will occur on the , , and + only if the corresponding flag, or + , is true. Note that if there are multiple Y or Y2 axes, all of + them will be zoomed. + + The instance to be zoomed. + The fraction by which to zoom, less than 1 to zoom in, greater than + 1 to zoom out. For example, 0.9 will zoom in such that the scale is 90% of what it was + originally. + The screen position about which the zoom will be centered. This + value is only used if is true. + + true to cause the zoom to be centered on the point + , false to center on the . + + true to force a refresh of the control, false to leave it unrefreshed + + + + Zoom a specified pane in or out according to the specified zoom fraction. + + + The zoom will occur on the , , and + only if the corresponding flag, or + , is true. Note that if there are multiple Y or Y2 axes, all of + them will be zoomed. + + The instance to be zoomed. + The fraction by which to zoom, less than 1 to zoom in, greater than + 1 to zoom out. For example, 0.9 will zoom in such that the scale is 90% of what it was + originally. + The screen position about which the zoom will be centered. This + value is only used if is true. + + true to cause the zoom to be centered on the point + , false to center on the . + + + + + Zoom the specified axis by the specified amount, with the center of the zoom at the + (optionally) specified point. + + + This method is used for MouseWheel zoom operations + The to be zoomed. + The zoom fraction, less than 1.0 to zoom in, greater than 1.0 to + zoom out. That is, a value of 0.9 will zoom in such that the scale length is 90% of what + it previously was. + The location for the center of the zoom. This is only used if + is true. + true if the zoom is to be centered at the + screen position, false for the zoom to be centered within + the . + + + + + Handle a panning operation for the specified . + + The to be panned + The value where the pan started. The scale range + will be shifted by the difference between and + . + + The value where the pan ended. The scale range + will be shifted by the difference between and + . + + + + + Caclulates the between two points for zooming. + + The first point. + The second point. + The rectangle between the two points. + + + + Perform selection on curves within the drag pane, or under the mouse click. + + + + + + + The backing field. + + + + + Gets or sets a value indicating whether the dialog should be shown in the Windows XP style for systems + running Windows XP Home Edition, Windows XP Professional, Windows Server 2003 or later. The default is true. + + + true to indicate the dialog should be shown with the Windows XP style, otherwise false. + + + + + Handler for the "Page Setup..." context menu item. Displays a + . + + + + + + + Handler for the "Print..." context menu item. Displays a + . + + + + + + + Rendering method used by the print context menu items + + The applicable . + A instance providing + page bounds, margins, and a Graphics instance for this printed output. + + + + + Gets or sets the instance + that is used for all of the context menu printing functions. + + + + + Display a to the user, allowing them to modify + the print settings for this . + + + + + Display a to the user, allowing them to select a + printer and print the contained in this + . + + + + + Display a , allowing the user to preview and + subsequently print the contained in this + . + + + + + Gets or sets a value that determines which mouse button will be used as a primary option + to trigger a zoom event. + + + This value is combined with to determine the actual zoom combination. + A secondary zoom button/key combination option is available via and + . To not use this button/key combination, set the value + of to . + + + + + Gets or sets a value that determines which mouse button will be used as the secondary option + to trigger a zoom event. + + + This value is combined with to determine the actual zoom combination. + The primary zoom button/key combination option is available via and + . To not use this button/key combination, set the value + of to . + + + + + Gets or sets a value that determines which modifier keys will be used as a primary option + to trigger a zoom event. + + + This value is combined with to determine the actual zoom combination. + A secondary zoom button/key combination option is available via and + . To not use this button/key combination, set the value + of to . + + + + + Gets or sets a value that determines which modifier keys will be used as a secondary option + to trigger a zoom event. + + + This value is combined with to determine the actual zoom combination. + A primary zoom button/key combination option is available via and + . To not use this button/key combination, set the value + of to . + + + + + Gets or sets a value that determines which mouse button will be used as a primary option + to trigger a pan event. + + + This value is combined with to determine the actual pan combination. + A secondary pan button/key combination option is available via and + . To not use this button/key combination, set the value + of to . + + + + + Gets or sets a value that determines which mouse button will be used as the secondary option + to trigger a pan event. + + + This value is combined with to determine the actual pan combination. + The primary pan button/key combination option is available via and + . To not use this button/key combination, set the value + of to . + + + + + Gets or sets a value that determines which modifier keys will be used as a primary option + to trigger a pan event. + + + This value is combined with to determine the actual pan combination. + A secondary pan button/key combination option is available via and + . To not use this button/key combination, set the value + of to . + + + + + Gets or sets a value that determines which modifier keys will be used as a secondary option + to trigger a pan event. + + + This value is combined with to determine the actual pan combination. + A primary pan button/key combination option is available via and + . To not use this button/key combination, set the value + of to . + + + + + Gets or sets a value that determines which Mouse button will be used to edit point + data values + + + This setting only applies if and/or + are true. + + + + + + Gets or sets a value that determines which modifier keys will be used to edit point + data values + + + This setting only applies if and/or + are true. + + + + + + Gets or sets a value that determines which Mouse button will be used to + select 's. + + + This setting only applies if is true. + + + + + + Gets or sets a value that determines which Modifier keys will be used to + select 's. + + + This setting only applies if is true. + + + + + + Gets or sets a value that determines which Modifier keys will be used to + append a to the selection list. + + + + + Gets or sets a value that determines which Mouse button will be used to click + on linkable objects + + + + + + + Gets or sets a value that determines which modifier keys will be used to click + on linkable objects + + + + + + + Gets or sets the property for the control + + + + + Gets or sets the property for the control + + + actually uses a object + to hold a list of objects. This property really only + accesses the first in the list. If there is more + than one , use the + indexer property to access any of the objects. + + + + Gets or sets a value that determines if all drawing operations for this control + will be forced to operate in Anti-alias mode. Note that if this value is set to + "true", it overrides the setting for sub-objects. Otherwise, the sub-object settings + (such as ) + will be honored. + + + + + Gets or sets a value that determines whether or not tooltips will be displayed + when the mouse hovers over data values. + + The displayed values are taken from + if it is a type, or + otherwise (using the as a format string). + Additionally, the user can custom format the values using the + event. Note that + may be overridden by . + + + + + Gets or sets a value that determines whether or not tooltips will be displayed + showing the current scale values when the mouse is within the + . + + The displayed values are taken from the current mouse position, and formatted + according to and/or . If this + value is set to true, it overrides the setting. + + + + + Gets or sets a value that determines whether or not editing of point data is allowed in + the horizontal direction. + + + Editing is done by holding down the Alt key, and left-clicking on an individual point of + a given to drag it to a new location. The Mouse and Key + combination for this mode are modifiable using and + . + + + + + + + + Gets or sets a value that determines whether or not editing of point data is allowed in + the vertical direction. + + + Editing is done by holding down the Alt key, and left-clicking on an individual point of + a given to drag it to a new location. The Mouse and Key + combination for this mode are modifiable using and + . + + + + + Gets or sets a value that determines whether or not zooming is allowed for the control. + + + Zooming is done by left-clicking inside the to drag + out a rectangle, indicating the new scale ranges that will be part of the graph. + + + + + Gets or sets a value that determines whether or not zooming is allowed for the control in + the horizontal direction. + + + Zooming is done by left-clicking inside the to drag + out a rectangle, indicating the new scale ranges that will be part of the graph. + + + + + Gets or sets a value that determines whether or not zooming is allowed for the control in + the vertical direction. + + + Zooming is done by left-clicking inside the to drag + out a rectangle, indicating the new scale ranges that will be part of the graph. + + + + + Gets or sets a value that determines whether or not zooming is allowed via the mouse wheel. + + + Wheel zooming is done by rotating the mouse wheel. + Note that this property is used in combination with the and + properties to control zoom options. + + + + + Gets or sets a value that determines whether or not panning is allowed for the control in + the horizontal direction. + + + Panning is done by clicking the middle mouse button (or holding down the shift key + while clicking the left mouse button) inside the and + dragging the mouse around to shift the scale ranges as desired. + + + + + + Gets or sets a value that determines whether or not panning is allowed for the control in + the vertical direction. + + + Panning is done by clicking the middle mouse button (or holding down the shift key + while clicking the left mouse button) inside the and + dragging the mouse around to shift the scale ranges as desired. + + + + + + Gets or sets a value that determines whether or not the context menu will be available. + + The context menu is a menu that appears when you right-click on the + . It provides options for Zoom, Pan, AutoScale, Clipboard + Copy, and toggle . + + true to allow the context menu, false to disable it + + + + Gets or sets a value that determines whether or not a message box will be shown + in response to a context menu "Copy" command. + + + Note that, if this property is set to false, the user will receive no + indicative feedback in response to a Copy action. + + + + + Gets or sets the instance that will be used + by the "Save As..." context menu item. + + + This provides the opportunity to modify the dialog, such as setting the + property. + + + + + Gets or sets a value that determines whether or not the visible aspect ratio of the + will be preserved + when printing this . + + + + + Gets or sets a value that determines whether or not the + dimensions will be expanded to fill the + available space when printing this . + + + If is also true, then the + dimensions will be expanded to fit as large + a space as possible while still honoring the visible aspect ratio. + + + + + Gets or sets a value that determines whether the settings of + and + will be overridden to true during printing operations. + + + Printing involves pixel maps that are typically of a dramatically different dimension + than on-screen pixel maps. Therefore, it becomes more important to scale the fonts and + lines to give a printed image that looks like what is shown on-screen. The default + setting for is true, but the default + setting for is false. + + + A value of true will cause both and + to be temporarily set to true during + printing operations. + + + + + Gets or sets a value that controls whether or not the axis value range for the scroll + bars will be set automatically. + + + If this value is set to true, then the range of the scroll bars will be set automatically + to the actual range of the data as returned by at the + time that was last called. Note that a value of true + can override any setting of , , + , , + , and . Note also that you must + call from the for this to + work properly (e.g., don't call it directly from the . + Alternatively, you can call at anytime to set + the scroll bar range.
+ In most cases, you will probably want to disable + before activating this option. +
+
+ + + Set a "grace" value that leaves a buffer area around the data when + is true. + + + This value represents a fraction of the total range around each axis. For example, if the + axis ranges from 0 to 100, then a 0.05 value for ScrollGrace would set the scroll range + to -5 to 105. + + + + + Gets or sets a value that determines if the horizontal scroll bar will be visible. + + This scroll bar allows the display to be scrolled in the horizontal direction. + Another option is display panning, in which the user can move the display around by + clicking directly on it and dragging (see and ). + You can control the available range of scrolling with the and + properties. Note that the scroll range can be set automatically by + .
+ In most cases, you will probably want to disable + before activating this option. +
+ A boolean value. true to display a horizontal scrollbar, false otherwise. +
+ + + Gets or sets a value that determines if the vertical scroll bar will be visible. + + This scroll bar allows the display to be scrolled in the vertical direction. + Another option is display panning, in which the user can move the display around by + clicking directly on it and dragging (see and ). + You can control the available range of scrolling with the and + properties. + Note that the vertical scroll bar only affects the ; it has no impact on + the . The panning options affect both the and + . Note also that the scroll range can be set automatically by + .
+ In most cases, you will probably want to disable + before activating this option. +
+ A boolean value. true to display a vertical scrollbar, false otherwise. +
+ + + Gets or sets a value that determines if the + ranges for all objects in the will + be forced to match. + + + If set to true (default is false), then all of the objects + in the associated with this + will be forced to have matching scale ranges for the x axis. That is, zoom, pan, + and scroll operations will result in zoom/pan/scroll for all graphpanes simultaneously. + + + + + Gets or sets a value that determines if the + ranges for all objects in the will + be forced to match. + + + If set to true (default is false), then all of the objects + in the associated with this + will be forced to have matching scale ranges for the y axis. That is, zoom, pan, + and scroll operations will result in zoom/pan/scroll for all graphpanes simultaneously. + + + + + Gets or sets a value that determines if the vertical scroll bar will affect the Y2 axis. + + + The vertical scroll bar is automatically associated with the Y axis. With this value, you + can choose to include or exclude the Y2 axis with the scrolling. Note that the Y2 axis + scrolling is handled as a secondary. The vertical scroll bar position always reflects + the status of the Y axis. This can cause the Y2 axis to "jump" when first scrolled if + the and values are not set to the + same proportions as and with respect + to the actual and . Also note that + this property is actually just an alias to the + property of the first element of . + + + + + + + + + + Access the for the Y axes. + + + This list maintains the user scale ranges for the scroll bars for each axis + in the . Each ordinal location in + corresponds to an equivalent ordinal location + in . + + + + + + + Access the for the Y2 axes. + + + This list maintains the user scale ranges for the scroll bars for each axis + in the . Each ordinal location in + corresponds to an equivalent ordinal location + in . + + + + + + + The minimum value for the X axis scroll range. + + + Effectively, the minimum endpoint of the scroll range will cause the + value to be set to . Note that this + value applies only to the scroll bar settings. Axis panning (see ) + is not affected by this value. Note that this value can be overridden by + and . + + A double value indicating the minimum axis value + + + + The maximum value for the X axis scroll range. + + + Effectively, the maximum endpoint of the scroll range will cause the + value to be set to . Note that this + value applies only to the scroll bar settings. Axis panning (see ) + is not affected by this value. Note that this value can be overridden by + and . + + A double value indicating the maximum axis value + + + + The minimum value for the Y axis scroll range. + + + Effectively, the minimum endpoint of the scroll range will cause the + value to be set to . Note that this + value applies only to the scroll bar settings. Axis panning (see ) + is not affected by this value. Note that this value can be overridden by + and . Also note that + this property is actually just an alias to the + property of the first element of . + + A double value indicating the minimum axis value + + + + + The maximum value for the Y axis scroll range. + + + Effectively, the maximum endpoint of the scroll range will cause the + value to be set to . Note that this + value applies only to the scroll bar settings. Axis panning (see ) + is not affected by this value. Note that this value can be overridden by + and . Also note that + this property is actually just an alias to the + property of the first element of . + + A double value indicating the maximum axis value + + + + + The minimum value for the Y2 axis scroll range. + + + Effectively, the minimum endpoint of the scroll range will cause the + value to be set to . Note that this + value applies only to the scroll bar settings. Axis panning (see ) + is not affected by this value. Note that this value can be overridden by + and . Also note that + this property is actually just an alias to the + property of the first element of . + + A double value indicating the minimum axis value + + + + + The maximum value for the Y2 axis scroll range. + + + Effectively, the maximum endpoint of the scroll range will cause the + value to be set to . Note that this + value applies only to the scroll bar settings. Axis panning (see ) + is not affected by this value. Note that this value can be overridden by + and . Also note that + this property is actually just an alias to the + property of the first element of . + + A double value indicating the maximum axis value + + + + + Returns true if the user is currently scrolling via the scrollbar, or + false if no scrolling is taking place. + + + This method just tests ScrollBar.Capture to see if the + mouse has been captured by the scroll bar. If so, scrolling is active. + + + + + Gets or sets the format for displaying tooltip values. + This format is passed to . + + + Use the type + to determine the format strings. + + + + + Gets or sets the format for displaying tooltip values. + This format is passed to . + + + Use the type + to determine the format strings. + + + + + Gets or sets the step size fraction for zooming with the mouse wheel. + A value of 0.1 will result in a 10% zoom step for each mouse wheel movement. + + + + + Gets or sets a boolean value that determines if zooming with the wheel mouse + is centered on the mouse location, or centered on the existing graph. + + + + + Gets the graph pane's current image. + + + + When the control has been disposed before this call. + + + + + This checks if the control has been disposed. This is synonymous with + the graph pane having been nulled or disposed. Therefore this is the + same as ZedGraphControl.GraphPane == null. + + + + + Readonly property that gets the list of selected CurveItems + + + + + Gets or sets a value that determines whether or not selection is allowed for the control. + + + + + Sets the value of the scroll range properties (see , + , , and + based on the actual range of the data for + each corresponding . + + + This method is called automatically by if + + is true. Note that this will not be called if you call AxisChange directly from the + . For example, zedGraphControl1.AxisChange() works properly, but + zedGraphControl1.GraphPane.AxisChange() does not. + + + + A class that represents a graphic arrow or line object on the graph. A list of + ArrowObj objects is maintained by the collection class. + + + John Champion + $Revision: 3.4 $ $Date: 2007-01-25 07:56:08 $ + + + + Private field that stores the arrowhead size, measured in points. + Use the public property to access this value. + + + + + Private boolean field that stores the arrowhead state. + Use the public property to access this value. + + true if an arrowhead is to be drawn, false otherwise + + + + A simple struct that defines the + default property values for the class. + + + + + The default size for the item arrowhead + ( property). Units are in points (1/72 inch). + + + + + The default display mode for the item arrowhead + ( property). true to show the + arrowhead, false to hide it. + + + + + The size of the arrowhead. + + The display of the arrowhead can be + enabled or disabled with the property. + + The size is defined in points (1/72 inch) + + + + + Determines whether or not to draw an arrowhead + + true to show the arrowhead, false to show the line segment + only + + + + Constructors for the object + + A constructor that allows the position, color, and size of the + to be pre-specified. + + An arbitrary specification + for the arrow + The size of the arrowhead, measured in points. + The x position of the starting point that defines the + arrow. The units of this position are specified by the + property. + The y position of the starting point that defines the + arrow. The units of this position are specified by the + property. + The x position of the ending point that defines the + arrow. The units of this position are specified by the + property. + The y position of the ending point that defines the + arrow. The units of this position are specified by the + property. + + + + A constructor that allows only the position of the + arrow to be pre-specified. All other properties are set to + default values + + The x position of the starting point that defines the + . The units of this position are specified by the + property. + The y position of the starting point that defines the + . The units of this position are specified by the + property. + The x position of the ending point that defines the + . The units of this position are specified by the + property. + The y position of the ending point that defines the + . The units of this position are specified by the + property. + + + + Default constructor -- places the at location + (0,0) to (1,1). All other values are defaulted. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render this object to the specified device. + + + This method is normally only called by the Draw method + of the parent collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + The Axis class is an abstract base class that encompasses all properties + and methods required to define a graph Axis. + + This class is inherited by the + , , and classes + to define specific characteristics for those types. + + + John Champion modified by Jerry Vos + $Revision: 3.76 $ $Date: 2008-02-16 23:21:48 $ + + + + private field that stores the class, which implements all the + calculations and methods associated with the numeric scale for this + . See the public property to access this class. + + + + + Private field that stores the class, which handles all + the minor tic information. See the public property to access this class. + + + + + Private field that stores the class, which handles all + the major tic information. See the public property to access this class. + + + + + Private field that stores the class, which handles all + the major grid information. See the public property to access this class. + + + + + Private field that stores the class, which handles all + the minor grid information. See the public property to access this class. + + + + Private fields for the scale rendering properties. + Use the public properties and + for access to these values. + + + + Private field for the automatic cross position mode. + Use the public property for access to this value. + + + + Private fields for the attributes. + Use the public properties , + for access to these values. + + + + Private fields for the attributes. + Use the public properties , + for access to these values. + + + + Private field for the title string. + Use the public property for access to this value. + + + + + A tag object for use by the user. This can be used to store additional + information associated with the . ZedGraph does + not use this value for any purpose. + + + Note that, if you are going to Serialize ZedGraph data, then any type + that you store in must be a serializable type (or + it will cause an exception). + + + + Private field for the drawing dimensions. + Use the public property + for access to these values. + + + + Private field for the minimum allowable space allocation. + Use the public property to access this value. + + + + + Private fields for the colors. + Use the public property for access to this values. + + + + + Temporary values for axis space calculations (see ). + + + + + A delegate that allows full custom formatting of the Axis labels + + The for which the label is to be + formatted + The of interest. + The value to be formatted + The zero-based index of the label to be formatted + + A string value representing the label, or null if the ZedGraph should go ahead + and generate the label according to the current settings + + + + + Subscribe to this event to handle custom formatting of the scale labels. + + + + + Allow customization of title based on user preferences. + + The of interest. + + A string value representing the label, or null if the ZedGraph should go ahead + and generate the label according to the current settings. To make the title + blank, return "". + + + + + Allow customization of the title when the scale is very large + Subscribe to this event to handle custom formatting of the scale axis label. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default size for the gap between multiple axes + ( property). Units are in points (1/72 inch). + + + + + The default setting for the gap between the scale labels and the axis title. + + + + + The default font family for the text + font specification + ( property). + + + + + The default font size for the text + font specification + ( property). Units are + in points (1/72 inch). + + + + + The default font color for the text + font specification + ( property). + + + + + The default font bold mode for the text + font specification + ( property). true + for a bold typeface, false otherwise. + + + + + The default font italic mode for the text + font specification + ( property). true + for an italic typeface, false otherwise. + + + + + The default font underline mode for the text + font specification + ( property). true + for an underlined typeface, false otherwise. + + + + + The default color for filling in the text background + (see property). + + + + + The default custom brush for filling in the text background + (see property). + + + + + The default fill mode for filling in the text background + (see property). + + + + + The default color for the itself + ( property). This color only affects the + the axis border. + + + + + The default value for , which determines + whether or not the scale segment itself is visible + + + + + The default setting for the scale axis type + ( property). This value is set as per + the enumeration + + + + + The default color for the axis segment. + + + + + The default setting for the axis space allocation. This term, expressed in + points (1/72 inch) and scaled according to for the + , determines the minimum amount of space an axis must + have between the and the + . This minimum space + applies whether is true or false. + + + + + Default constructor for that sets all axis properties + to default values as defined in the class. + + + + + Constructor for that sets all axis properties + to default values as defined in the class, + except for the . + + A string containing the axis title + + + + The Copy Constructor. + + The Axis object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of Clone. + + + Note that this method must be called with an explicit cast to ICloneable, and + that it is inherently virtual. For example: + + ParentClass foo = new ChildClass(); + ChildClass bar = (ChildClass) ((ICloneable)foo).Clone(); + + Assume that ChildClass is inherited from ParentClass. Even though foo is declared with + ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation + of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function. + + A deep copy of this object + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Gets the instance associated with this . + + + + + Gets or sets the scale value at which this axis should cross the "other" axis. + + This property allows the axis to be shifted away from its default location. + For example, for a graph with an X range from -100 to +100, the Y Axis can be located + at the X=0 value rather than the left edge of the ChartRect. This value can be set + automatically based on the state of . If + this value is set manually, then will + also be set to false. The "other" axis is the axis the handles the second dimension + for the graph. For the XAxis, the "other" axis is the YAxis. For the YAxis or + Y2Axis, the "other" axis is the XAxis. + + The value is defined in user scale units + + + + + + + + Gets or sets a value that determines whether or not the value + is set automatically. + + Set to true to have ZedGraph put the axis in the default location, or false + to specify the axis location manually with a value. + + + + + + + + Gets or sets the minimum axis space allocation. + + + This term, expressed in + points (1/72 inch) and scaled according to + for the , determines the minimum amount of space + an axis must have between the Chart.Rect and the + GraphPane.Rect. This minimum space + applies whether is true or false. + + + + + The color to use for drawing this . + + + This affects only the axis segment (see ), + since the , + , , , + , and + all have their own color specification. + + The color is defined using the + class + . + + + + + Gets a reference to the class instance + for this . This class stores all the major tic settings. + + + + + Gets a reference to the class instance + for this . This class stores all the minor tic settings. + + + + + Gets a reference to the class that contains the properties + of the major grid. + + + + + Gets a reference to the class that contains the properties + of the minor grid. + + + + + This property determines whether or not the is shown. + + + Note that even if + the axis is not visible, it can still be actively used to draw curves on a + graph, it will just be invisible to the user + + true to show the axis, false to disable all drawing of this axis + . + . + . + . + + + + Gets or sets a property that determines whether or not the axis segment (the line that + represents the axis itself) is drawn. + + + Under normal circumstances, this value won't affect the appearance of the display because + the Axis segment is overlain by the Axis border (see ). + However, when the border is not visible, or when is set to + false, this value will make a difference. + + + + + Gets or sets the for this . + + + The type can be either , + , , + or . + + + + + + + + + + Gets or sets the class that contains the title of this + . + + The title normally shows the basis and dimensions of + the scale range, such as "Time (Years)". The title is only shown if the + property is set to true. If the Title text is empty, + then no title is shown, and no space is "reserved" for the title on the graph. + + the title is a string value + + + + + The size of the gap between multiple axes (see and + ). + + + This size will be scaled + according to the for the + + + The axis gap is measured in points (1/72 inch) + . + + + + Restore the scale ranging to automatic mode, and recalculate the + scale ranges + + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + + + + + + Do all rendering associated with this to the specified + device. + + + This method is normally only + called by the Draw method of the parent object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + The number of pixels to shift to account for non-primary axis position (e.g., + the second, third, fourth, etc. or . + + + + + This method will set the property for this + using the currently required space multiplied by a fraction (bufferFraction). + + + The currently required space is calculated using , and is + based on current data ranges, font sizes, etc. The "space" is actually the amount of space + required to fit the tic marks, scale labels, and axis title. + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + A reference to the object that is the parent or + owner of this object. + The amount of space to allocate for the axis, expressed + as a fraction of the currently required space. For example, a value of 1.2 would + allow for 20% extra above the currently required space. + If true, then this method will only modify the + property if the calculated result is more than the current value. + + + + Setup the Transform Matrix to handle drawing of this + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Calculate the "shift" size, in pixels, in order to shift the axis from its default + location to the value specified by . + + + A reference to the object that is the parent or + owner of this object. + + The shift amount measured in pixels + + + + Gets the "Cross" axis that corresponds to this axis. + + + The cross axis is the axis which determines the of this Axis when the + Axis.Cross property is used. The + cross axis for any or + is always the primary , and + the cross axis for any or is + always the primary . + + + A reference to the object that is the parent or + owner of this object. + + + + + Returns the linearized actual cross position for this axis, reflecting the settings of + , , and . + + + If the value of lies outside the axis range, it is + limited to the axis range. + + + + + Returns true if the axis is shifted at all due to the setting of + . This function will always return false if + is true. + + + + + Calculates the proportional fraction of the total cross axis width at which + this axis is located. + + + + + + + Calculate the space required (pixels) for this object. + + + This is the total space (vertical space for the X axis, horizontal space for + the Y axes) required to contain the axis. If is zero, then + this space will be the space required between the and + the . This method sets the internal values of + for use by the + method. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The amount of space (pixels) at the edge of the ChartRect + that is always required for this axis, even if the axis is shifted by the + value. + Returns the space, in pixels, required for this axis (between the + rect and ChartRect) + + + + Determines if this object is a "primary" one. + + + The primary axes are the (always), the first + in the + ( = 0), and the first + in the + ( = 0). Note that + and + always reference the primary axes. + + + A reference to the object that is the parent or + owner of this object. + + true for a primary (for the , + this is always true), false otherwise + + + + Draw the minor tic marks as required for this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scale value for the first major tic position. This is the reference point + for all other tic marks. + + The number of pixels to shift this axis, based on the + value of . A positive value is into the ChartRect relative to + the default axis position. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + The pixel location of the far side of the ChartRect from this axis. + This value is the ChartRect.Height for the XAxis, or the ChartRect.Width + for the YAxis and Y2Axis. + + + + + Draw the title for this . + + On entry, it is assumed that the + graphics transform has been configured so that the origin is at the left side + of this axis, and the axis is aligned along the X coordinate direction. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The number of pixels to shift this axis, based on the + value of . A positive value is into the ChartRect relative to + the default axis position. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Make a value label for the axis at the specified ordinal position. + + + This method properly accounts for , + , + and other axis format settings. It also implements the ScaleFormatEvent such that + custom labels can be created. + + + A reference to the object that is the parent or + owner of this object. + + + The zero-based, ordinal index of the label to be generated. For example, a value of 2 would + cause the third value label on the axis to be generated. + + + The numeric value associated with the label. This value is ignored for log + () + and text () type axes. + + The resulting value label as a + + + + Class that handles the data associated with text title and its associated font + properties. Inherits from , and adds + and properties, which are specifically associated with + the . + + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Constructor to build an from the text and the + associated font properties. + + The representing the text to be + displayed + The font family name + The size of the font in points and scaled according + to the logic. + The instance representing the color + of the font + true for a bold font face + true for an italic font face + true for an underline font face + + + + Copy constructor + + the instance to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or sets the property that controls whether or not the magnitude factor (power of 10) for + this scale will be included in the label. + + + For large scale values, a "magnitude" value (power of 10) is automatically + used for scaling the graph. This magnitude value is automatically appended + to the end of the Axis (e.g., "(10^4)") to indicate + that a magnitude is in use. This property controls whether or not the + magnitude is included in the title. Note that it only affects the axis + title; a magnitude value may still be used even if it is not shown in the title. + + true to show the magnitude value, false to hide it + + + + + + + Gets or sets a value that determines whether the Axis title is located at the + + value or at the normal position (outside the ). + + + This value only applies if is false. + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A class representing all the characteristics of the bar + segments that make up a curve on the graph. + + + John Champion + $Revision: 3.30 $ $Date: 2007-11-03 04:41:28 $ + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that stores the class that defines the + properties of the border around this . Use the public + property to access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default pen width to be used for drawing the border around the bars + ( property). Units are points. + + + + + The default fill mode for bars ( property). + + + + + The default border mode for bars ( property). + true to display frames around bars, false otherwise + + + + + The default color for drawing frames around bars + ( property). + + + + + The default color for filling in the bars + ( property). + + + + + The default custom brush for filling in the bars + ( property). + + + + + Default constructor that sets all properties to default + values as defined in the class. + + + + + Default constructor that sets the + as specified, and the remaining + properties to default + values as defined in the class. + The specified color is only applied to the + , and the + will be defaulted. + + A value indicating + the + of the Bar. + + + + + The Copy Constructor + + The Bar object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + The object used to draw the border around the . + + + + + + + + Gets or sets the data for this + . + + + + + Draw the to the specified device + at the specified location. This routine draws a single bar. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The x position of the left side of the bar in + pixel units + The x position of the right side of the bar in + pixel units + The y position of the top of the bar in + pixel units + The y position of the bottom of the bar in + pixel units + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + true to draw the bottom portion of the border around the + bar (this is for legend entries) + The data value to be used for a value-based + color gradient. This is only applicable for , + or . + Indicates that the should be drawn + with attributes from the class. + + + + + Draw the to the specified device + at the specified location. This routine draws a single bar. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The rectangle (pixels) to contain the bar + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + true to draw the bottom portion of the border around the + bar (this is for legend entries) + The data value to be used for a value-based + color gradient. This is only applicable for , + or . + Indicates that the should be drawn + with attributes from the class. + + + + + Draw the this to the specified + device as a bar at each defined point. This method + is normally only called by the method of the + object + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A object representing the + 's to be drawn. + The class instance that defines the base (independent) + axis for the + The class instance that defines the value (dependent) + axis for the + + The width of each bar, in pixels. + + + The ordinal position of the this bar series (0=first bar, 1=second bar, etc.) + in the cluster of bars. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw the specified single bar (an individual "point") of this series to the specified + device. This method is not as efficient as + , which draws the bars for all points. It is intended to be used + only for , which requires special handling of each bar. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A object representing the + 's to be drawn. + The class instance that defines the base (independent) + axis for the + The class instance that defines the value (dependent) + axis for the + + The ordinal position of the this bar series (0=first bar, 1=second bar, etc.) + in the cluster of bars. + + + The zero-based index number for the single bar to be drawn. + + + The width of each bar, in pixels. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Protected internal routine that draws the specified single bar (an individual "point") + of this series to the specified device. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A object representing the + 's to be drawn. + + The zero-based index number for the single bar to be drawn. + + + The ordinal position of the this bar series (0=first bar, 1=second bar, etc.) + in the cluster of bars. + + The class instance that defines the base (independent) + axis for the + The class instance that defines the value (dependent) + axis for the + + The width of each bar, in pixels. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Encapsulates a bar type that displays vertical or horizontal bars + + + The orientation of the bars depends on the state of + , and the bars can be stacked or + clustered, depending on the state of + + John Champion + $Revision: 3.27 $ $Date: 2007-11-03 04:41:28 $ + + + + Private field that stores a reference to the + class defined for this . Use the public + property to access this value. + + + + + Gets a reference to the class defined + for this . + + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + The parent of this . + + true if the Z data are included, false otherwise + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Create a new , specifying only the legend label for the bar. + + The label that will appear in the legend. + + + + Create a new using the specified properties. + + The label that will appear in the legend. + An array of double precision values that define + the independent (X axis) values for this curve + An array of double precision values that define + the dependent (Y axis) values for this curve + A value that will be applied to + the and properties. + + + + + Create a new using the specified properties. + + The label that will appear in the legend. + A of double precision value pairs that define + the X and Y values for this curve + A value that will be applied to + the and properties. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Do all rendering associated with this to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The ordinal position of the current + curve. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw a legend key entry for this at the specified location + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The struct that specifies the + location for the legend key + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Create a for each bar in the . + + + This method will go through the bars, create a label that corresponds to the bar value, + and place it on the graph depending on user preferences. This works for horizontal or + vertical bars in clusters or stacks, but only for types. This method + does not apply to or objects. + Call this method only after calling . + + The GraphPane in which to place the text labels. + true to center the labels inside the bars, false to + place the labels just above the top of the bar. + The double.ToString string format to use for creating + the labels. + + + + + Create a for each bar in the . + + + This method will go through the bars, create a label that corresponds to the bar value, + and place it on the graph depending on user preferences. This works for horizontal or + vertical bars in clusters or stacks, but only for types. This method + does not apply to or objects. + Call this method only after calling . + + The GraphPane in which to place the text labels. + true to center the labels inside the bars, false to + place the labels just above the top of the bar. + The double.ToString string format to use for creating + the labels. + + The color in which to draw the labels + The string name of the font family to use for the labels + The floating point size of the font, in scaled points + true for a bold font type, false otherwise + true for an italic font type, false otherwise + true for an underline font type, false otherwise + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + Class that handles the global settings for bar charts + + + John Champion + $Revision: 3.6 $ $Date: 2007-12-30 23:27:39 $ + + + Private field that determines the size of the gap between bar clusters + for bar charts. This gap is expressed as a fraction of the bar size (1.0 means + leave a 1-barwidth gap between clusters). + Use the public property to access this value. + + + Private field that determines the size of the gap between individual bars + within a bar cluster for bar charts. This gap is expressed as a fraction of the + bar size (1.0 means leave a 1-barwidth gap between each bar). + Use the public property to access this value. + + + Private field that determines the base axis from which + graphs will be displayed. The base axis is the axis from which the bars grow with + increasing value. The value is of the enumeration type . + To access this value, use the public property . + + + + + Private field that determines how the + graphs will be displayed. See the enum + for the individual types available. + To access this value, use the public property . + + + + + Private field that determines the width of a bar cluster (for bar charts) + in user scale units. Normally, this value is 1.0 because bar charts are typically + or , and the bars are + defined at ordinal values (1.0 scale units apart). For + or other scale types, you can use this value to scale the bars to an arbitrary + user scale. Use the public property to access this + value. + + + + Private field that determines if the will be + calculated automatically. Use the public property + to access this value. + + + + + private field that stores the owner GraphPane that contains this BarSettings instance. + + + + + Constructor to build a instance from the defaults. + + + + + Copy constructor + + the instance to be copied. + The that will be the + parent of this new BarSettings object. + + + + The minimum space between clusters, expressed as a + fraction of the bar size. + + + + + + + + The minimum space between individual Bars + within a cluster, expressed as a + fraction of the bar size. + + + + + + + Determines the base axis from which + graphs will be displayed. + + The base axis is the axis from which the bars grow with + increasing value. The value is of the enumeration type . + + + + + Determines how the + graphs will be displayed. See the enum + for the individual types available. + + + + + + The width of an individual bar cluster on a graph. + This value only applies to bar graphs plotted on non-ordinal X axis + types (, , and + . + + + This value can be calculated automatically if + is set to true. In this case, ClusterScaleWidth will be calculated if + refers to an of a non-ordinal type + ( is false). The ClusterScaleWidth is calculated + from the minimum difference found between any two points on the + for any in the + . The ClusterScaleWidth is set automatically + each time is called. Calculations are + done by the method. + + + + + + + + + Gets or sets a property that determines if the will be + calculated automatically. + + true for the to be calculated + automatically based on the available data, false otherwise. This value will + be set to false automatically if the value + is changed by the user. + + + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + + You MUST set the _ownerPane property after deserializing a BarSettings object. + + A instance that defines the + serialized data + + A instance that contains + the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Calculate the width of an individual bar cluster on a graph. + This value only applies to bar graphs plotted on non-ordinal X axis + types ( is false). + + + This value can be calculated automatically if + is set to true. In this case, ClusterScaleWidth will be calculated if + refers to an of a non-ordinal type + ( is false). The ClusterScaleWidth is calculated + from the minimum difference found between any two points on the + for any in the + . The ClusterScaleWidth is set automatically + each time is called. + + + + + + + + + Determine the minimum increment between individual points to be used for + calculating a bar size that fits without overlapping + + The list of points for the bar + of interest + The base axis for the bar + The minimum increment between bars along the base axis + + + + Determine the width, in screen pixel units, of each bar cluster including + the cluster gaps and bar gaps. + + This method calls the + method for the base for graphs + (the base is assigned by the + property). + + + + + + The width of each bar cluster, in pixel units + + + + Determine the from which the charts are based. + + + + + + The class for the axis from which the bars are based + + + + A simple struct that defines the + default property values for the class. + + + + + The default dimension gap between clusters of bars on a + graph. + This dimension is expressed in terms of the normal bar width. + + + + + + + The default dimension gap between each individual bar within a bar cluster + on a graph. + This dimension is expressed in terms of the normal bar width. + + + + + + The default value for the , which determines the base + from which the graphs will be displayed. + + + + + The default value for the property, which + determines if the bars are drawn overlapping eachother in a "stacked" format, + or side-by-side in a "cluster" format. See the + for more information. + + + + + + The default width of a bar cluster + on a graph. This value only applies to + graphs, and only when the + is , + or . + This dimension is expressed in terms of X scale user units. + + + + + + + The default value for . + + + + + A data collection class for ZedGraph, provided as an alternative to . + + + The data storage class for ZedGraph can be any type, so long as it uses the + interface. This class, albeit simple, is a demonstration of implementing the + interface to provide a simple data collection using only two arrays. The + interface can also be used as a layer between ZedGraph and a database, for example. + + + + + John Champion + $Revision: 3.4 $ $Date: 2007-02-18 05:51:53 $ + + + + Instance of an array of x values + + + + + Instance of an array of x values + + + + + Indexer to access the specified object by + its ordinal position in the list. + + + Returns for any value of + that is outside of its corresponding array bounds. + + The ordinal position (zero-based) of the + object to be accessed. + A object reference. + + + + Returns the number of points available in the arrays. Count will be the greater + of the lengths of the X and Y arrays. + + + + + Constructor to initialize the PointPairList from two arrays of + type double. + + + + + The Copy Constructor + + The PointPairList from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + A class that encapsulates Border (frame) properties for an object. The class + is used in a variety of ZedGraph objects to handle the drawing of the Border around the object. + + + John Champion + $Revision: 3.18 $ $Date: 2007-03-17 18:43:44 $ + + + + Private field that stores the amount of inflation to be done on the rectangle + before rendering. This allows the border to be inset or outset relative to + the actual rectangle area. Use the public property + to access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default value for , in units of points (1/72 inch). + + + + + + The default constructor. Initialized to default values. + + + + + Constructor that specifies the visibility, color and penWidth of the Border. + + Determines whether or not the Border will be drawn. + The color of the Border + The width, in points (1/72 inch), for the Border. + + + + Constructor that specifies the color and penWidth of the Border. + + The color of the Border + The width, in points (1/72 inch), for the Border. + + + + The Copy Constructor + + The Border object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Gets or sets the amount of inflation to be done on the rectangle + before rendering. + + This allows the border to be inset or outset relative to + the actual rectangle area. + + + + + Draw the specified Border () using the properties of + this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + A struct to be drawn. + + + + A class that represents a bordered and/or filled box (rectangle) object on + the graph. A list of + BoxObj objects is maintained by the collection class. + + + John Champion + $Revision: 3.3 $ $Date: 2007-01-25 07:56:08 $ + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that determines the properties of the border around this + + Use the public property to access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default pen width used for the border + ( property). Units are points (1/72 inch). + + + + + The default color used for the border + ( property). + + + + + The default color used for the fill + ( property). + + + + + Gets or sets the data for this + . + + + + + Gets or sets the object, which + determines the properties of the border around this + + + + + Constructors for the object + + A constructor that allows the position, border color, and solid fill color + of the to be pre-specified. + + An arbitrary specification + for the box border + An arbitrary specification + for the box fill (will be a solid color fill) + The x location for this . This will be in units determined by + . + The y location for this . This will be in units determined by + . + The width of this . This will be in units determined by + . + The height of this . This will be in units determined by + . + + + + A constructor that allows the position + of the to be pre-specified. Other properties are defaulted. + + The x location for this . This will be in units determined by + . + The y location for this . This will be in units determined by + . + The width of this . This will be in units determined by + . + The height of this . This will be in units determined by + . + + + + A default constructor that creates a using a location of (0,0), + and a width,height of (1,1). Other properties are defaulted. + + + + + A constructor that allows the position, border color, and two-color + gradient fill colors + of the to be pre-specified. + + An arbitrary specification + for the box border + An arbitrary specification + for the start of the box gradient fill + An arbitrary specification + for the end of the box gradient fill + The x location for this . This will be in units determined by + . + The y location for this . This will be in units determined by + . + The width of this . This will be in units determined by + . + The height of this . This will be in units determined by + . + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render this object to the specified device. + + + This method is normally only called by the Draw method + of the parent collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine if the specified screen point lies inside the bounding box of this + . + + The screen point, in pixels + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + true if the point lies in the bounding box, false otherwise + + + + Determines the shape type and Coords values for this GraphObj + + + + + Encapsulates an "High-Low" Bar curve type that displays a bar in which both + the bottom and the top of the bar are set by data valuesfrom the + struct. + + The type is intended for displaying + bars that cover a band of data, such as a confidence interval, "waterfall" + chart, etc. The position of each bar is set + according to the values. The independent axis + is assigned with , and is a + enum type. If + is set to or , then + the bars will actually be horizontal, since the X axis becomes the + value axis and the Y or Y2 axis becomes the independent axis. + John Champion + $Revision: 3.18 $ $Date: 2007-11-03 04:41:28 $ + + + + Create a new using the specified properties. + + The label that will appear in the legend. + An array of double precision values that define + the independent (X axis) values for this curve + An array of double precision values that define + the dependent (Y axis) values for this curve + An array of double precision values that define the + base value (the bottom) of the bars for this curve. + + A value that will be applied to + the and properties. + + + + + Create a new using the specified properties. + + The label that will appear in the legend. + A of double precision value trio's that define + the X, Y, and lower dependent values for this curve + A value that will be applied to + the and properties. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + This class handles the drawing of the curve objects. + + + John Champion + $Revision: 3.5 $ $Date: 2007-04-16 00:03:02 $ + + + + Private field that stores the visibility of the open and + close line segments ("wings"). Use the public + property to access this value. If this value is + false, the wings will not be shown. + + + + + Private field that stores the total width for the Opening/Closing line + segments. Use the public property to access this value. + + + + + Private field that determines if the property will be + calculated automatically based on the minimum axis scale step size between + bars. Use the public property to access this value. + + + + + The result of the autosize calculation, which is the size of the bars in + user scale units. This is converted to pixels at draw time. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default width for the candlesticks (see ), + in units of points. + + + + + The default display mode for symbols ( property). + true to display symbols, false to hide them. + + + + + The default value for the property. + + + + + Gets or sets a property that shows or hides the open/close "wings". + + true to show the CandleStick wings, false to hide them + + + + + Gets or sets the total width to be used for drawing the opening/closing line + segments ("wings") of the items. Units are points. + + The size of the candlesticks can be set by this value, which + is then scaled according to the scaleFactor (see + ). Alternatively, + if is true, the bar width will + be set according to the maximum available cluster width less + the cluster gap (see + and ). That is, if + is true, then the value of + will be ignored. If you modify the value of Size, + then will be automatically set to false. + + Size in points (1/72 inch) + + + + + Gets or sets a value that determines if the property will be + calculated automatically based on the minimum axis scale step size between + bars. + + + + + Default constructor that sets all properties to + default values as defined in the class. + + + + + Default constructor that sets the + as specified, and the remaining + properties to default + values as defined in the class. + + A value indicating + the color of the symbol + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Draw the to the specified + device at the specified location. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + boolean value that indicates if the "base" axis for this + is the X axis. True for an base, + false for a or base. + The independent axis position of the center of the candlestick in + pixel units + The dependent axis position of the top of the candlestick in + pixel units + The dependent axis position of the bottom of the candlestick in + pixel units + The dependent axis position of the opening value of the candlestick in + pixel units + The dependent axis position of the closing value of the candlestick in + pixel units + + The scaled width of the candlesticks, pixels + A pen with attributes of and + for this + + + + Draw all the 's to the specified + device as a candlestick at each defined point. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A object representing the + 's to be drawn. + The class instance that defines the base (independent) + axis for the + The class instance that defines the value (dependent) + axis for the + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Returns the width of the candleStick, in pixels, based on the settings for + and . + + The parent object. + The object that + represents the bar base (independent axis). + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The width of each bar, in pixel units + + + + Encapsulates a CandleStick curve type that displays a vertical (or horizontal) + line displaying the range of data values at each sample point, plus an starting + mark and an ending mark signifying the opening and closing value for the sample. + + For this type to work properly, your must contain + objects, rather than ordinary types. + This is because the type actually displays 5 data values + but the only stores 3 data values. The + stores , , + , , and + members. + For a vertical CandleStick chart, the opening value is drawn as a horizontal line + segment to the left of the vertical range bar, and the closing value is a horizontal + line segment to the right. The total length of these two line segments is controlled + by the property, which is specified in + points (1/72nd inch), and scaled according to . + The candlesticks are drawn horizontally or vertically depending on the + value of , which is a + enum type. + John Champion + $Revision: 3.4 $ $Date: 2007-12-31 00:23:05 $ + + + + Private field that stores a reference to the + class defined for this . Use the public + property to access this value. + + + + + + Gets a reference to the class defined + for this . + + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + + IsZIncluded is true for objects, since the Y and Z + values are defined as the High and Low values for the day. + The parent of this . + + true if the Z data are included, false otherwise + + + + Create a new , specifying only the legend label. + + The label that will appear in the legend. + + + + Create a new using the specified properties. + + The _label that will appear in the legend. + An of double precision values that define + the Date, Close, Open, High, and Low values for the curve. Note that this + should contain items rather + than items. + + + The to use for drawing the candlesticks. + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Do all rendering associated with this to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The ordinal position of the current + curve. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw a legend key entry for this at the specified location + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The struct that specifies the + location for the legend key + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + Class that handles the properties of the charting area (where the curves are + actually drawn), which is bounded by the , , + and . + + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + The rectangle that contains the area bounded by the axes, in pixel units + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + Private field that determines if the will be + sized automatically. Use the public property to access + this value. + + + + Default constructor. + + + + + Copy constructor + + The source to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or sets the rectangle that contains the area bounded by the axes + (, , and ). + If you set this value manually, then the + value will automatically be set to false. + + The rectangle units are in screen pixels + + + + Gets or sets the data for this + . + + + + + Gets or sets the class for drawing the border + border around the + + + + + + + Gets or sets a boolean value that determines whether or not the + will be calculated automatically (almost always true). + + + If you have a need to set the ChartRect manually, such as you have multiple graphs + on a page and you want to line up the edges perfectly, you can set this value + to false. If you set this value to false, you must also manually set + the property. + You can easily determine the ChartRect that ZedGraph would have + calculated by calling the method, which returns + a chart rect sized for the current data range, scale sizes, etc. + + true to have ZedGraph calculate the ChartRect, false to do it yourself + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A simple struct that defines the + default property values for the class. + + + + + The default color for the border. + ( property). + + + + + The default color for the background. + ( property). + + + + + The default brush for the background. + ( property of ). + + + + + The default for the background. + ( property of ). + + + + + The default pen width for drawing the + border + ( property). + Units are in points (1/72 inch). + + + + + The default display mode for the border + ( property). true + to show the border border, false to omit the border + + + + + A collection base class containing basic extra functionality to be inherited + by , , + . + + The methods in this collection operate on basic + types. Therefore, in order to make sure that + the derived classes remain strongly-typed, there are no Add() or + Insert() methods here, and no methods that return an object. + Only Remove(), Move(), IndexOf(), etc. methods are included. + + John Champion + $Revision: 3.8 $ $Date: 2006-06-24 20:26:43 $ + + + + Default Constructor + + + + + Return the zero-based position index of the specified object + in the collection. + + A reference to the object that is to be found. + + The zero-based index of the specified object, or -1 if the + object is not in the list + + + + + Remove an object from the collection at the specified ordinal location. + + + An ordinal position in the list at which the object to be removed + is located. + + + + + + Remove an object from the collection based on an object reference. + + A reference to the object that is to be + removed. + + + + + Move the position of the object at the specified index + to the new relative position in the list. + For Graphic type objects, this method controls the + Z-Order of the items. Objects at the beginning of the list + appear in front of objects at the end of the list. + The zero-based index of the object + to be moved. + The relative number of positions to move + the object. A value of -1 will move the + object one position earlier in the list, a value + of 1 will move it one position later. To move an item to the + beginning of the list, use a large negative value (such as -999). + To move it to the end of the list, use a large positive value. + + The new position for the object, or -1 if the object + was not found. + + + + Class used to get the next color/symbol for GraphPane.AddCurve methods. + + + Jerry Vos modified by John Champion + $Revision: 3.4 $ $Date: 2006-06-24 20:26:43 $ + + + + The s + rotates through. + + + + + The s + rotates through. + + + + + The index of the next color to be used. Note: may be + > COLORS.Length, it is reset to 0 on the next call if it is. + + + + + The index of the next symbol to be used. Note: may be + > SYMBOLS.Length, it is reset to 0 on the next call if it is. + + + + + Retrieves the next color in the rotation Calling this + method has the side effect of incrementing the color index. + + + + + + + Retrieves the index of the next color to be used. Calling this + method has the side effect of incrementing the color index. + + + + + Retrieves the next color in the rotation. Calling this + method has the side effect of incrementing the symbol index. + + + + + + + Retrieves the index of the next symbol to be used. Calling this + method has the side effect of incrementing the symbol index. + + + + + Retrieves the instance used by the + static methods. + + + + + + + Retrieves the next color from this class's static + instance + + + + + + + Retrieves the next symbol type from this class's static + instance + + + + + + + This class contains the data and methods for an individual curve within + a graph pane. It carries the settings for the curve including the + key and item names, colors, symbols and sizes, linetypes, etc. + + + John Champion + modified by Jerry Vos + $Revision: 3.43 $ $Date: 2007-11-03 04:41:28 $ + + + + protected field that stores a instance for this + , which is used for the + label. Use the public + property to access this value. + + + + + protected field that stores the boolean value that determines whether this + is on the bottom X axis or the top X axis (X2). + Use the public property to access this value. + + + + + protected field that stores the boolean value that determines whether this + is on the left Y axis or the right Y axis (Y2). + Use the public property to access this value. + + + + + protected field that stores the index number of the Y Axis to which this + belongs. Use the public property + to access this value. + + + + + protected field that stores the boolean value that determines whether this + is visible on the graph. + Use the public property to access this value. + Note that this value turns the curve display on or off, but it does not + affect the display of the legend entry. To hide the legend entry, you + have to set to false. + + + + + Protected field that stores the boolean value that determines whether this + is selected on the graph. + Use the public property to access this value. + Note that this value changes the curve display color, but it does not + affect the display of the legend entry. To hide the legend entry, you + have to set to false. + + + + + Protected field that stores the boolean value that determines whether this + can be selected in the graph. + + + + + protected field that stores a boolean value which allows you to override the normal + ordinal axis behavior. Use the public property to + access this value. + + + + + The of value sets that + represent this . + The size of this list determines the number of points that are + plotted. Note that values defined as + System.Double.MaxValue are considered "missing" values + (see ), + and are not plotted. The curve will have a break at these points + to indicate the values are missing. + + + + + A tag object for use by the user. This can be used to store additional + information associated with the . ZedGraph does + not use this value for any purpose. + + + Note that, if you are going to Serialize ZedGraph data, then any type + that you store in must be a serializable type (or + it will cause an exception). + + + + + Protected field that stores the hyperlink information for this object. + + + + + constructor the pre-specifies the curve label, the + x and y data values as a , the curve + type (Bar or Line/Symbol), the , and the + . Other properties of the curve are + defaulted to the values in the class. + + A string label (legend entry) for this curve + An array of double precision values that define + the independent (X axis) values for this curve + An array of double precision values that define + the dependent (Y axis) values for this curve + + + + constructor the pre-specifies the curve label, the + x and y data values as a , the curve + type (Bar or Line/Symbol), the , and the + . Other properties of the curve are + defaulted to the values in the class. + + A string label (legend entry) for this curve + A of double precision value pairs that define + the X and Y values for this curve + + + + Internal initialization routine thats sets some initial values to defaults. + + A string label (legend entry) for this curve + + + + constructor that specifies the label of the CurveItem. + This is the same as CurveItem(label, null, null). + + + A string label (legend entry) for this curve + + + + + + + + + The Copy Constructor + + The CurveItem object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of Clone. + + + Note that this method must be called with an explicit cast to ICloneable, and + that it is inherently virtual. For example: + + ParentClass foo = new ChildClass(); + ChildClass bar = (ChildClass) ((ICloneable)foo).Clone(); + + Assume that ChildClass is inherited from ParentClass. Even though foo is declared with + ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation + of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function. + + A deep copy of this object + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A instance that represents the + entry for the this object + + + + + The // + color (FillColor for the Bar). This is a common access to + Line.Color, + Border.Color, and + Fill.Color properties for this curve. + + + + + Determines whether this is visible on the graph. + Note that this value turns the curve display on or off, but it does not + affect the display of the legend entry. To hide the legend entry, you + have to set to false. + + + + + Determines whether this is selected on the graph. + Note that this value changes the curve displayed color, but it does not + affect the display of the legend entry. To hide the legend entry, you + have to set to false. + + + + + Determines whether this can be selected in the graph. + + + + + Gets or sets a value which allows you to override the normal + ordinal axis behavior. + + + Normally for an ordinal axis type, the actual data values corresponding to the ordinal + axis will be ignored (essentially they are replaced by ordinal values, e.g., 1, 2, 3, etc). + If IsOverrideOrdinal is true, then the user data values will be used (even if they don't + make sense). Fractional values are allowed, such that a value of 1.5 is between the first and + second ordinal position, etc. + + + + + + + Gets or sets a value that determines which X axis this + is assigned to. + + + The + is on the bottom side of the graph and the + is on the top side. Assignment to an axis + determines the scale that is used to draw the curve on the graph. + + true to assign the curve to the , + false to assign the curve to the + + + + Gets or sets a value that determines which Y axis this + is assigned to. + + + The + is on the left side of the graph and the + is on the right side. Assignment to an axis + determines the scale that is used to draw the curve on the graph. Note that + this value is used in combination with the to determine + which of the Y Axes (if there are multiples) this curve belongs to. + + true to assign the curve to the , + false to assign the curve to the + + + + Gets or sets the index number of the Y Axis to which this + belongs. + + + This value is essentially an index number into the + or , depending on the setting of + . + + + + + Determines whether this + is a . + + true for a bar chart, or false for a line or pie graph + + + + Determines whether this + is a . + + true for a pie chart, or false for a line or bar graph + + + + Determines whether this + is a . + + true for a line chart, or false for a bar type + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + The parent of this . + + true if the Z data are included, false otherwise + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Readonly property that gives the number of points that define this + object, which is the number of points in the + data collection. + + + + + The of X,Y point sets that represent this + . + + + + + An accessor for the datum for this . + Index is the ordinal reference (zero based) of the point. + + + + + Gets or sets the hyperlink information for this . + + + + + Do all rendering associated with this to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The ordinal position of the current + curve. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw a legend key entry for this at the specified location. + This abstract base method passes through to or + to do the rendering. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The struct that specifies the + location for the legend key + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Add a single x,y coordinate point to the end of the points collection for this curve. + + The X coordinate value + The Y coordinate value + + + + Add a object to the end of the points collection for this curve. + + + This method will only work if the instance reference + at supports the interface. + Otherwise, it does nothing. + + A reference to the object to + be added + + + + Clears the points from this . This is the same + as CurveItem.Points.Clear(). + + + This method will only work if the instance reference + at supports the interface. + Otherwise, it does nothing. + + + + + Removes a single point from this . + + + This method will only work if the instance reference + at supports the interface. + Otherwise, it does nothing. + + The ordinal position of the point to be removed. + + + + Get the X Axis instance (either or ) to + which this belongs. + + The object to which this curve belongs. + Either a or to which this + belongs. + + + + + Get the Y Axis instance (either or ) to + which this belongs. + + + This method safely retrieves a Y Axis instance from either the + or the using the values of and + . If the value of is out of bounds, the + default or is used. + + The object to which this curve belongs. + Either a or to which this + belongs. + + + + + Get the index of the Y Axis in the or list to + which this belongs. + + + This method safely retrieves a Y Axis index into either the + or the using the values of and + . If the value of is out of bounds, the + default or is used, which is index zero. + + The object to which this curve belongs. + An integer value indicating which index position in the list applies to this + + + + + + Loads some pseudo unique colors/symbols into this CurveItem. This + is the same as MakeUnique(ColorSymbolRotator.StaticInstance). + + + + + + + + Loads some pseudo unique colors/symbols into this CurveItem. This + is mainly useful for differentiating a set of new CurveItems without + having to pick your own colors/symbols. + + + + The that is used to pick the color + and symbol for this method call. + + + + + Go through the list of data values for this + and determine the minimum and maximum values in the data. + + The minimum X value in the range of data + The maximum X value in the range of data + The minimum Y value in the range of data + The maximum Y value in the range of data + ignoreInitial is a boolean value that + affects the data range that is considered for the automatic scale + ranging (see ). If true, then initial + data points where the Y value is zero are not included when + automatically determining the scale , + , and size. All data after + the first non-zero Y value are included. + + + Determines if the auto-scaled axis ranges will subset the + data points based on any manually set scale range values. + + + A reference to the object that is the parent or + owner of this object. + + + + + Returns a reference to the object that is the "base" + (independent axis) from which the values are drawn. + + This property is determined by the value of for + , , and + types. It is always the X axis for regular types. + Note that the setting can override the + and settings for bar types + (this is because all the bars that are clustered together must share the + same base axis). + + + + + + Returns a reference to the object that is the "value" + (dependent axis) from which the points are drawn. + + This property is determined by the value of for + , , and + types. It is always the Y axis for regular types. + + + + + + + Calculate the width of each bar, depending on the actual bar type + + The width for an individual bar, in pixel units + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + Compares 's based on the point value at the specified + index and for the specified axis. + + + + + + Constructor for Comparer. + + The axis type on which to sort. + The index number of the point on which to sort + + + + Compares two s using the previously specified index value + and axis. Sorts in descending order. + + Curve to the left. + Curve to the right. + -1, 0, or 1 depending on l.X's relation to r.X + + + + A collection class containing a list of objects + that define the set of curves to be displayed on the graph. + + + John Champion + modified by Jerry Vos + $Revision: 3.43 $ $Date: 2007-11-03 04:41:28 $ + + + + Read only value for the maximum number of points in any of the curves + in the list. + + + + + Read only property that returns the number of curves in the list that are of + type . This does not include or + types. + + + + + Read only property that returns the number of curves in the list that are + potentially "clusterable", which includes and + types. This does not include , + , , etc. types. + + Note that this property is only the number of bars that COULD BE clustered. The + actual cluster settings are not considered. + + + + Read only property that returns the number of pie slices in the list (class type is + ). + + + + + Read only property that determines if all items in the are + Pies. + + + + + Determine if there is any data in any of the + objects for this graph. This method does not verify valid data, it + only checks to see if > 0. + + true if there is any data, false otherwise + + + + Default constructor for the collection class + + + + + The Copy Constructor + + The XAxis object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Iterate backwards through the items. + + + + + Iterate forward through the items. + + + + + Indexer to access the specified object by + its string. + + The string label of the + object to be accessed. + A object reference. + + + + Return the zero-based position index of the + with the specified . + + The label that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the is not in the list + + + + + Return the zero-based position index of the + with the specified . + + In order for this method to work, the + property must be of type . + The tag that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the is not in the list + + + + Sorts the list according to the point values at the specified index and + for the specified axis. + + + + + Move the position of the object at the specified index + to the new relative position in the list. + For Graphic type objects, this method controls the + Z-Order of the items. Objects at the beginning of the list + appear in front of objects at the end of the list. + The zero-based index of the object + to be moved. + The relative number of positions to move + the object. A value of -1 will move the + object one position earlier in the list, a value + of 1 will move it one position later. To move an item to the + beginning of the list, use a large negative value (such as -999). + To move it to the end of the list, use a large positive value. + + The new position for the object, or -1 if the object + was not found. + + + + Go through each object in the collection, + calling the member to + determine the minimum and maximum values in the + list of data value pairs. If the curves include + a stack bar, handle within the current GetRange method. In the event that no + data are available, a default range of min=0.0 and max=1.0 are returned. + If the Y axis has a valid data range and the Y2 axis not, then the Y2 + range will be a duplicate of the Y range. Vice-versa for the Y2 axis + having valid data when the Y axis does not. + If any in the list has a missing + , a new empty one will be generated. + + ignoreInitial is a boolean value that + affects the data range that is considered for the automatic scale + ranging (see ). If true, then initial + data points where the Y value is zero are not included when + automatically determining the scale , + , and size. All data after + the first non-zero Y value are included. + + + Determines if the auto-scaled axis ranges will subset the + data points based on any manually set scale range values. + + + A reference to the object that is the parent or + owner of this object. + + + + + + Calculate the range for stacked bars and lines. + + This method is required for the stacked + types because (for bars), the negative values are a separate stack than the positive + values. If you just sum up the bars, you will get the sum of the positive plus negative, + which is less than the maximum positive value and greater than the maximum negative value. + + + A reference to the object that is the parent or + owner of this object. + + The for which to calculate the range + The minimum X value so far + The minimum Y value so far + The maximum X value so far + The maximum Y value so far + + + + + Render all the objects in the list to the + specified + device by calling the member function of + each object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Find the ordinal position of the specified within + the . This position only counts + types, ignoring all other types. + + The of interest + The for which to search. + The ordinal position of the specified bar, or -1 if the bar + was not found. + + + + + + + + + John Champion + $Revision: 3.7 $ $Date: 2007-11-05 04:33:26 $ + + + + Indexer to access the specified object by + its ordinal position in the list. + + The ordinal position (zero-based) of the + object to be accessed. + A object reference. + + + + gets the number of points available in the list + + + + + The object from which to get the bound data + + + Typically, you set the + property to a reference to your database, table or list object. The + property would be set + to the name of the datatable within the + , + if applicable. + + + + The table or list object from which to extract the data values. + + + This property is just an alias for + . + + + + + The name of the property or column from which to obtain the + X data values for the chart. + + Set this to null leave the X data values set to + + + + + The name of the property or column from which to obtain the + Y data values for the chart. + + Set this to null leave the Y data values set to + + + + + The name of the property or column from which to obtain the + Z data values for the chart. + + Set this to null leave the Z data values set to + + + + + The name of the property or column from which to obtain the + tag values for the chart. + + Set this to null leave the tag values set to null. If this references string + data, then the tags may be used as tooltips using the + option. + + + + + Default Constructor + + + + + Constructor to initialize the DataSourcePointList from an + existing + + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Extract a double value from the specified table row or data object with the + specified column name. + + The data object from which to extract the value + The property name or column name of the value + to be extracted + The zero-based index of the point to be extracted. + + + + + Extract an object from the specified table row or data object with the + specified column name. + + The data object from which to extract the object + The property name or column name of the object + to be extracted + + + + The DateAsOrdinalScale class inherits from the class, and implements + the features specific to . + + DateAsOrdinalScale is an ordinal axis that will have labels formatted with dates from the + actual data values of the first in the . + Although the tics are labeled with real data values, the actual points will be + evenly-spaced in spite of the data values. For example, if the X values of the first curve + are 1, 5, and 100, then the tic labels will show 1, 5, and 100, but they will be equal + distance from each other. + + + John Champion + $Revision: 1.13 $ $Date: 2007-11-28 02:38:22 $ + + + + Default constructor that defines the owner + (containing object) for this new object. + + The owner, or containing object, of this instance + + + + The Copy Constructor + + The object from which to copy + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + Return the for this , which is + . + + + + + Gets or sets the minimum value for this scale. + + + The set property is specifically adapted for scales, + in that it automatically limits the value to the range of valid dates for the + struct. + + + + + Gets or sets the maximum value for this scale. + + + The set property is specifically adapted for scales, + in that it automatically limits the value to the range of valid dates for the + struct. + + + + + Select a reasonable ordinal axis scale given a range of data values, with the expectation that + dates will be displayed. + + + This method only applies to type axes, and it + is called by the general method. For this type, + the first curve is the "master", which contains the dates to be applied. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to scale minor step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + + + Make a value label for an . + + + A reference to the object that is the parent or + owner of this object. + + + The zero-based, ordinal index of the label to be generated. For example, a value of 2 would + cause the third value label on the axis to be generated. + + + The numeric value associated with the label. This value is ignored for log + () + and text () type axes. + + The resulting value label as a + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + The DateScale class inherits from the class, and implements + the features specific to . + + + DateScale is a cartesian axis with calendar dates or times. The actual data values should + be created with the type, which is directly translatable to a + type for storage in the point value arrays. + + + John Champion + $Revision: 1.15 $ $Date: 2007-09-19 06:41:56 $ + + + + Default constructor that defines the owner + (containing object) for this new object. + + The owner, or containing object, of this instance + + + + The Copy Constructor + + The object from which to copy + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + Return the for this , which is + . + + + + + Gets or sets the minimum value for this scale. + + + The set property is specifically adapted for scales, + in that it automatically limits the value to the range of valid dates for the + struct. + + + + + Gets or sets the maximum value for this scale. + + + The set property is specifically adapted for scales, + in that it automatically limits the value to the range of valid dates for the + struct. + + + + + Determine the value for any major tic. + + + This method properly accounts for , , + and other axis format settings. + + + The value of the first major tic (floating point double) + + + The major tic number (0 = first major tic). For log scales, this is the actual power of 10. + + + The specified major tic value (floating point double). + + + + + Determine the value for any minor tic. + + + This method properly accounts for , , + and other axis format settings. + + + The value of the first major tic (floating point double). This tic value is the base + reference for all tics (including minor ones). + + + The major tic number (0 = first major tic). For log scales, this is the actual power of 10. + + + The specified minor tic value (floating point double). + + + + + Internal routine to determine the ordinals of the first minor tic mark + + + The value of the first major tic for the axis. + + + The ordinal position of the first minor tic, relative to the first major tic. + This value can be negative (e.g., -3 means the first minor tic is 3 minor step + increments before the first major tic. + + + + + Determine the value for the first major tic. + + + This is done by finding the first possible value that is an integral multiple of + the step size, taking into account the date/time units if appropriate. + This method properly accounts for , , + and other axis format settings. + + + First major tic value (floating point double). + + + + + Internal routine to determine the ordinals of the first and last major axis label. + + + This is the total number of major tics for this axis. + + + + + Select a reasonable date-time axis scale given a range of data values. + + + This method only applies to type axes, and it + is called by the general method. The scale range is chosen + based on increments of 1, 2, or 5 (because they are even divisors of 10). + Note that the property setting can have multiple unit + types ( and ), + but the and + units are always days (). This + method honors the , , + and autorange settings. + In the event that any of the autorange settings are false, the + corresponding , , or + setting is explicitly honored, and the remaining autorange settings (if any) will + be calculated to accomodate the non-autoranged values. The basic default for + scale selection is defined with + and + from the default class. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to scale minor step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + + + + + Calculate a step size for a scale. + This method is used by . + + The range of data in units of days + The desired "typical" number of steps + to divide the range into + The calculated step size for the specified data range. Also + calculates and sets the values for , + , , and + + + + + Calculate a step size for a scale. + This method is used by . + + The range of data in units of days + The desired "typical" number of steps + to divide the range into + + The object on which to calculate the Date step size. + The calculated step size for the specified data range. Also + calculates and sets the values for , + , , and + + + + + Calculate a date that is close to the specified date and an + even multiple of the selected + for a scale. + This method is used by . + + The date which the calculation should be close to + The desired direction for the date to take. + 1 indicates the result date should be greater than the specified + date parameter. -1 indicates the other direction. + The calculated date + + + + Make a value label for an . + + + A reference to the object that is the parent or + owner of this object. + + + The zero-based, ordinal index of the label to be generated. For example, a value of 2 would + cause the third value label on the axis to be generated. + + + The numeric value associated with the label. This value is ignored for log () + and text () type axes. + + The resulting value label as a + + + + Gets the major unit multiplier for this scale type, if any. + + The major unit multiplier will correct the units of + to match the units of + and . This reflects the setting of + . + + + + + Gets the minor unit multiplier for this scale type, if any. + + The minor unit multiplier will correct the units of + to match the units of + and . This reflects the setting of + . + + + + + Internal routine to calculate a multiplier to the selected unit back to days. + + The unit type for which the multiplier is to be + calculated + + This is ratio of days/selected unit + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A class that represents a bordered and/or filled ellipse object on + the graph. A list of EllipseObj objects is maintained by the + collection class. The ellipse is defined + as the ellipse that would be contained by the rectangular box as + defined by the property. + + + John Champion + $Revision: 3.3 $ $Date: 2007-01-25 07:56:08 $ + + + Constructors for the object + + A constructor that allows the position and size + of the to be pre-specified. Other properties are defaulted. + + The x location for this . This will be in units determined by + . + The y location for this . This will be in units determined by + . + The width of this . This will be in units determined by + . + The height of this . This will be in units determined by + . + + + + A default constructor that places the at location (0,0), + with width/height of (1,1). Other properties are defaulted. + + + + + A constructor that allows the position, border color, and solid fill color + of the to be pre-specified. + + An arbitrary specification + for the ellipse border + An arbitrary specification + for the ellipse fill (will be a solid color fill) + The x location for this . This will be in units determined by + . + The y location for this . This will be in units determined by + . + The width of this . This will be in units determined by + . + The height of this . This will be in units determined by + . + + + + A constructor that allows the position, border color, and two-color + gradient fill colors + of the to be pre-specified. + + An arbitrary specification + for the ellipse border + An arbitrary specification + for the start of the ellipse gradient fill + An arbitrary specification + for the end of the ellipse gradient fill + The x location for this . This will be in units determined by + . + The y location for this . This will be in units determined by + . + The width of this . This will be in units determined by + . + The height of this . This will be in units determined by + . + + + + The Copy Constructor + + The object from + which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render this object to the specified device. + + + This method is normally only called by the Draw method + of the parent collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine if the specified screen point lies inside the bounding box of this + . + + The screen point, in pixels + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + true if the point lies in the bounding box, false otherwise + + + + This class handles the drawing of the curve objects. + The Error Bars are the vertical lines with a symbol at each end. + + To draw "I-Beam" bars, the symbol type defaults to + , which is just a horizontal line. + If is Y-oriented, then the symbol type should be + set to to get the same effect. + + + John Champion + $Revision: 3.21 $ $Date: 2007-08-10 16:22:54 $ + + + + Private field that stores the visibility of this + . Use the public + property to access this value. If this value is + false, the symbols will not be shown. + + + + + Private field that stores the error bar color. Use the public + property to access this value. + + + + + Private field that stores the pen width for this error bar. Use the public + property to access this value. + + + + + private field that contains the symbol element that will be drawn + at the top and bottom of the error bar. Use the public property + to access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default size for curve symbols + ( property), + in units of points. + + + + + The default pen width to be used for drawing error bars + ( property). Units are points. + + + + + The default display mode for symbols ( property). + true to display symbols, false to hide them. + + + + + The default color for drawing error bars ( property). + + + + + The default symbol for drawing at the top and bottom of the + error bar (see ). + + + + + Gets or sets a property that shows or hides the . + + true to show the error bar, false to hide it + + + + + Gets or sets the data for this + . + + This property only controls the color of + the vertical line. The symbol color is controlled separately in + the property. + + + + + The pen width to be used for drawing error bars + Units are points. + + This property only controls the pen width for the + vertical line. The pen width for the symbol outline is + controlled separately by the property. + + + + + Contains the symbol element that will be drawn + at the top and bottom of the error bar. + + + + + Default constructor that sets all properties to + default values as defined in the class. + + + + + Default constructor that sets the + as specified, and the remaining + properties to default + values as defined in the class. + + A value indicating + the color of the symbol + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Draw the to the specified + device at the specified location. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + boolean value that indicates if the "base" axis for this + is the X axis. True for an base, + false for a or base. + The independent axis position of the center of the error bar in + pixel units + The dependent axis position of the top of the error bar in + pixel units + The dependent axis position of the bottom of the error bar in + pixel units + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + A pen with attributes of and + for this + The data value to be used for a value-based + color gradient. This is only applicable for , + or . + Indicates that the should be drawn + with attributes from the class. + + + + + Draw all the 's to the specified + device as a an error bar at each defined point. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A object representing the + 's to be drawn. + The class instance that defines the base (independent) + axis for the + The class instance that defines the value (dependent) + axis for the + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Encapsulates an "Error Bar" curve type that displays a vertical or horizontal + line with a symbol at each end. + + The type is intended for displaying + confidence intervals, candlesticks, stock High-Low charts, etc. It is + technically not a bar, since it is drawn as a vertical or horizontal line. + The default symbol at each end of the "bar" is , + which creates an "I-Beam". For horizontal bars + ( or + ), you will need to change the symbol to + to get horizontal "I-Beams". + Since the horizontal segments are actually symbols, their widths are + controlled by the symbol size in , + specified in points (1/72nd inch). The position of each "I-Beam" is set + according to the values. The independent axis + is assigned with , and is a + enum type. + John Champion + $Revision: 3.19 $ $Date: 2007-04-16 00:03:01 $ + + + + Private field that stores a reference to the + class defined for this . Use the public + property to access this value. + + + + + Gets a reference to the class defined + for this . + + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + The parent of this . + + true if the Z data are included, false otherwise + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Create a new , specifying only the legend label. + + The label that will appear in the legend. + + + + Create a new using the specified properties. + + The label that will appear in the legend. + An array of double precision values that define + the X axis values for this curve + An array of double precision values that define + the Y axis values for this curve + An array of double precision values that define + the lower dependent values for this curve + A value that will be applied to + the properties. + + + + + Create a new using the specified properties. + + The label that will appear in the legend. + A of double precision values that define + the X, Y and lower dependent values for this curve + A value that will be applied to + the properties. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Do all rendering associated with this to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The ordinal position of the current + curve. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw a legend key entry for this at the specified location + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The struct that specifies the + location for the legend key + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + The ExponentScale class inherits from the class, and implements + the features specific to . + + + ExponentScale is a non-linear axis in which the values are scaled using an exponential function + with the property. + + + John Champion with contributions by jackply + $Revision: 1.8 $ $Date: 2007-04-16 00:03:01 $ + + + + Default constructor that defines the owner + (containing object) for this new object. + + The owner, or containing object, of this instance + + + + The Copy Constructor + + The object from which to copy + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + Setup some temporary transform values in preparation for rendering the . + + + This method is typically called by the parent + object as part of the method. It is also + called by and + + methods to setup for coordinate transformations. + + + A reference to the object that is the parent or + owner of this object. + + + The parent for this + + + + + Convert a value to its linear equivalent for this type of scale. + + + The default behavior is to just return the value unchanged. However, + for and , + it returns the log or power equivalent. + + The value to be converted + + + + Convert a value from its linear equivalent to its actual scale value + for this type of scale. + + + The default behavior is to just return the value unchanged. However, + for and , + it returns the anti-log or inverse-power equivalent. + + The value to be converted + + + + Determine the value for any major tic. + + + This method properly accounts for , , + and other axis format settings. + + + The value of the first major tic (floating point double) + + + The major tic number (0 = first major tic). For log scales, this is the actual power of 10. + + + The specified major tic value (floating point double). + + + + + Determine the value for any minor tic. + + + This method properly accounts for , , + and other axis format settings. + + + The value of the first major tic (floating point double). This tic value is the base + reference for all tics (including minor ones). + + + The major tic number (0 = first major tic). For log scales, this is the actual power of 10. + + + The specified minor tic value (floating point double). + + + + + Internal routine to determine the ordinals of the first minor tic mark + + + The value of the first major tic for the axis. + + + The ordinal position of the first minor tic, relative to the first major tic. + This value can be negative (e.g., -3 means the first minor tic is 3 minor step + increments before the first major tic. + + + + + Select a reasonable exponential axis scale given a range of data values. + + + This method only applies to type axes, and it + is called by the general method. The exponential scale + relies on the property to set the scaling exponent. This + method honors the , , + and autorange settings. + In the event that any of the autorange settings are false, the + corresponding , , or + setting is explicitly honored, and the remaining autorange settings (if any) will + be calculated to accomodate the non-autoranged values. For log axes, the MinorStep + value is not used. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + + + + + + Make a value label for an . + + + A reference to the object that is the parent or + owner of this object. + + + The zero-based, ordinal index of the label to be generated. For example, a value of 2 would + cause the third value label on the axis to be generated. + + + The numeric value associated with the label. This value is ignored for log () + and text () type axes. + + The resulting value label as a + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A class that encapsulates color-fill properties for an object. The class + is used in , , , + , and objects. + + + John Champion + $Revision: 3.22 $ $Date: 2007-01-26 09:01:49 $ + + + + Private field that stores the fill color. Use the public + property to access this value. This property is + only applicable if the is not . + + + + + Private field that stores the secondary color for gradientByValue fills. Use the public + property to access this value. This property is + only applicable if the is , + , or . + + + + + Private field that stores the custom fill brush. Use the public + property to access this value. This property is + only applicable if the + property is set to . + + + + + Private field that determines the type of color fill. Use the public + property to access this value. The fill color + is determined by the property or + . + + + + + Private field that determines if the brush will be scaled to the bounding box + of the filled object. If this value is false, then the brush will only be aligned + with the filled object based on the and + properties. + + + + + Private field that determines how the brush will be aligned with the filled object + in the horizontal direction. This value is a enumeration. + This field only applies if is false. + properties. + + + + + + + Private field that determines how the brush will be aligned with the filled object + in the vertical direction. This value is a enumeration. + This field only applies if is false. + properties. + + + + + + + Private field that saves the image passed to the constructor. + This is used strictly for serialization. + + + + + Private field that saves the image wrapmode passed to the constructor. + This is used strictly for serialization. + + + + + Private field that saves the list of colors used to create the + in the constructor. This is used strictly + for serialization. + + + + + Private field that saves the list of positions used to create the + in the constructor. This is used strictly + for serialization. + + + + + Private field the saves the angle of the fill. This is used strictly for serialization. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default scaling mode for fills. + This is the default value for the property. + + + + + The default horizontal alignment for fills. + This is the default value for the property. + + + + + The default vertical alignment for fills. + This is the default value for the property. + + + + + Generic initializer to default values + + + + + The default constructor. Initialized to no fill. + + + + + Constructor that specifies the color, brush, and type for this fill. + + The color of the fill for solid fills + A custom brush for fills. Can be a , + , or . + The for this fill. + + + + Constructor that creates a solid color-fill, setting to + , and setting to the + specified color value. + + The color of the solid fill + + + + Constructor that creates a linear gradient color-fill, setting to + using the specified colors and angle. + + The first color for the gradient fill + The second color for the gradient fill + The angle (degrees) of the gradient fill + + + + Constructor that creates a linear gradient color-fill, setting to + using the specified colors. + + The first color for the gradient fill + The second color for the gradient fill + + + + Constructor that creates a linear gradient color-fill, setting to + using the specified colors. This gradient fill + consists of three colors. + + The first color for the gradient fill + The second color for the gradient fill + The third color for the gradient fill + + + + Constructor that creates a linear gradient color-fill, setting to + using the specified colors. This gradient fill + consists of three colors + + The first color for the gradient fill + The second color for the gradient fill + The third color for the gradient fill + The angle (degrees) of the gradient fill + + + + Constructor that creates a linear gradient multi-color-fill, setting to + using the specified colors. This gradient fill + consists of many colors based on a object. The gradient + angle is defaulted to zero. + + The object that defines the colors + and positions along the gradient. + + + + Constructor that creates a linear gradient multi-color-fill, setting to + using the specified colors. This gradient fill + consists of many colors based on a object, drawn at the + specified angle (degrees). + + The object that defines the colors + and positions along the gradient. + The angle (degrees) of the gradient fill + + + + Constructor that creates a linear gradient multi-color-fill, setting to + using the specified colors. This gradient fill + consists of many colors based on an array of objects, drawn at an + angle of zero (degrees). The array is used to create + a object assuming a even linear distribution of the colors + across the gradient. + + The array of objects that defines the colors + along the gradient. + + + + Constructor that creates a linear gradient multi-color-fill, setting to + using the specified colors. This gradient fill + consists of many colors based on an array of objects, drawn at the + specified angle (degrees). The array is used to create + a object assuming a even linear distribution of the colors + across the gradient. + + The array of objects that defines the colors + along the gradient. + The angle (degrees) of the gradient fill + + + + Constructor that creates a linear gradient multi-color-fill, setting to + using the specified colors. This gradient fill + consists of many colors based on an array of objects, drawn at the + an angle of zero (degrees). The array is used to create + a object assuming a even linear distribution of the colors + across the gradient. + + The array of objects that defines the colors + along the gradient. + The array of floating point values that defines the color + positions along the gradient. Values should range from 0 to 1. + + + + Constructor that creates a linear gradient multi-color-fill, setting to + using the specified colors. This gradient fill + consists of many colors based on an array of objects, drawn at the + specified angle (degrees). The array is used to create + a object assuming a even linear distribution of the colors + across the gradient. + + The array of objects that defines the colors + along the gradient. + The array of floating point values that defines the color + positions along the gradient. Values should range from 0 to 1. + The angle (degrees) of the gradient fill + + + + Constructor that creates a texture fill, setting to + and using the specified image. + + The to use for filling + The class that controls the image wrapping properties + + + + Constructor that creates a fill, using a user-supplied, custom + . The brush will be scaled to fit the destination screen object + unless you manually change to false; + + The to use for fancy fills. Typically, this would + be a or a class + + + + Constructor that creates a fill, using a user-supplied, custom + . The brush will be scaled to fit the destination screen object + according to the parameter. + + The to use for fancy fills. Typically, this would + be a or a class + Determines if the brush will be scaled to fit the bounding box + of the destination object. true to scale it, false to leave it unscaled + + + + Constructor that creates a fill, using a user-supplied, custom + . This constructor will make the brush unscaled (see ), + but it provides and parameters to control + alignment of the brush with respect to the filled object. + + The to use for fancy fills. Typically, this would + be a or a class + Controls the horizontal alignment of the brush within the filled object + (see + Controls the vertical alignment of the brush within the filled object + (see + + + + The Copy Constructor + + The Fill object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + The fill color. This property is used as a single color to make a solid fill + ( is ), or it can be used in + combination with to make a + + when is and + is null. + + + + + + Gets or sets the secondary color for gradientByValue fills. + + + This property is only applicable if the is + , + , or + . Once the gradient-by-value logic picks + a color, a new gradient will be created using the SecondaryValueGradientColor, the + resulting gradient-by-value color, and the angle setting for this + . Use a value of Color.Empty to have + a solid-color resulting from a gradient-by-value + . + + + + + The custom fill brush. This can be a , a + , or a . This property is + only applicable if the property is set + to . + + + + + Determines the type of fill, which can be either solid + color () or a custom brush + (). See for + more information. + + + + + + This property determines the type of color fill. + Returns true if the property is either + or + . If set to true, this property + will automatically set the to + . If set to false, this property + will automatically set the to + . In order to get a regular + solid-color fill, you have to manually set + to . + + + + + + + + Determines if the brush will be scaled to the bounding box + of the filled object. If this value is false, then the brush will only be aligned + with the filled object based on the and + properties. + + + + + Determines how the brush will be aligned with the filled object + in the horizontal direction. This value is a enumeration. + This field only applies if is false. + + + + + + Determines how the brush will be aligned with the filled object + in the vertical direction. This value is a enumeration. + This field only applies if is false. + + + + + + Returns a boolean value indicating whether or not this fill is a "Gradient-By-Value" + type. This is true for , , + or . + + + The gradient by value fill method allows the fill color for each point or bar to + be based on a value for that point (either X, Y, or Z in the . + For example, assume a class is defined with a linear gradient ranging from + to and the + is set to . If is set to + 100.0 and is set to 200.0, then a point that has a Y value of + 100 or less will be colored blue, a point with a Y value of 200 or more will be + colored red, and a point between 100 and 200 will have a color based on a linear scale + between blue and red. Note that the fill color is always solid for any given point. + You can use the Z value from along with + to color individual points according to some + property that is independent of the X,Y point pair. + + true if this is a Gradient-by-value type, false otherwise + + + + + + + The minimum user-scale value for the gradient-by-value determination. This defines + the user-scale value for the start of the gradient. + + + + + + + + A double value, in user scale unit + + + + The maximum user-scale value for the gradient-by-value determination. This defines + the user-scale value for the end of the gradient. + + + + + + + + A double value, in user scale unit + + + + The default user-scale value for the gradient-by-value determination. This defines the + value that will be used when there is no point value available, or the actual point value + is invalid. + + + Note that this value, when defined, will determine the color that is used in the legend. + If this value is set to double.MaxValue, then it remains "undefined." In this case, the + legend symbols will actually be filled with a color gradient representing the range of + colors. + + + + + + + + A double value, in user scale unit + + + + Create a fill brush using current properties. This method will construct a brush based on the + settings of , + and . If + is set to and + + is null, then a will be created between the colors of + and . + + A rectangle that bounds the object to be filled. This determines + the start and end of the gradient fill. + A class representing the fill brush + + + + Create a fill brush using current properties. This method will construct a brush based on the + settings of , + and . If + is set to and + + is null, then a will be created between the colors of + and . + + A rectangle that bounds the object to be filled. This determines + the start and end of the gradient fill. + The data value to be used for a value-based + color gradient. This is only applicable for , + or . + A class representing the fill brush + + + + Fill the background of the area, using the + fill type from this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The struct specifying the area + to be filled + + + + Fill the background of the area, using the + fill type from this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The struct specifying the area + to be filled + The data value to be used in case it's a + , , or + . + + + + An example of an implementation that stores large datasets, and + selectively filters the output data depending on the displayed range. + + + This class will refilter the data points each time is called. The + data are filtered down to points, within the data bounds of + a minimum and maximum data range. The data are filtered by simply skipping + points to achieve the desired total number of points. Input arrays are assumed to be + monotonically increasing in X, and evenly spaced in X. + + + + + + + John Champion with mods by Christophe Holmes + $Revision: 1.11 $ $Date: 2007-11-29 02:15:39 $ + + + + Instance of an array of x values + + + + + Instance of an array of x values + + + + + This is the maximum number of points that you want to see in the filtered dataset + + + + + The index of the xMinBound above + + + + + The index of the xMaxBound above + + + + + Indexer to access the specified object by + its ordinal position in the list. + + + Returns for any value of + that is outside of its corresponding array bounds. + + The ordinal position (zero-based) of the + object to be accessed. + A object reference. + + + + Returns the number of points according to the current state of the filter. + + + + + Gets the desired number of filtered points to output. You can set this value by + calling . + + + + + Constructor to initialize the PointPairList from two arrays of + type double. + + + + + The Copy Constructor + + The FilteredPointList from which to copy + + + + Deep-copy clone routine + + A new, independent copy of the FilteredPointList + + + + Set the data bounds to the specified minimum, maximum, and point count. Use values of + min=double.MinValue and max=double.MaxValue to get the full range of data. Use maxPts=-1 + to not limit the number of points. Call this method anytime the zoom range is changed. + + The lower bound for the X data of interest + The upper bound for the X data of interest + The maximum number of points allowed to be + output by the filter + + + + The class is a generic font class that maintains the font family, + attributes, colors, border and fill modes, font size, and angle information. + This class can render text with a variety of alignment options using the + and parameters in the + method. + + + John Champion + $Revision: 3.24 $ $Date: 2007-01-25 07:56:08 $ + + + + Private field that stores the color of the font characters for this + . Use the public property + to access this value. + + A system reference. + + + + Private field that stores the font family name for this . + Use the public property to access this value. + + A text string with the font family name, e.g., "Arial" + + + + Private field that determines whether this is + drawn with bold typeface. + Use the public property to access this value. + + A boolean value, true for bold, false for normal + + + + Private field that determines whether this is + drawn with italic typeface. + Use the public property to access this value. + + A boolean value, true for italic, false for normal + + + + Private field that determines whether this is + drawn with underlined typeface. + Use the public property to access this value. + + A boolean value, true for underline, false for normal + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that determines the properties of the border around the text. + Use the public property to access this value. + + + + + Private field that determines the angle at which this + object is drawn. Use the public property + to access this value. + + The angle of the font, measured in anti-clockwise degrees from + horizontal. Negative values are permitted. + + + + Private field that determines the alignment with which this + object is drawn. This alignment really only + affects multi-line strings. Use the public property + to access this value. + + A enumeration. + + + + Private field that determines the size of the font for this + object. Use the public property + to access this value. + + The size of the font, measured in points (1/72 inch). + + + + Private field that stores a reference to the + object for this . This font object will be at + the actual drawn size according to the current + size of the . Use the public method + to access this font object. + + A reference to a object + + + + Private field that determines if the will be + displayed using anti-aliasing logic. + Use the public property to access this value. + + + + + Private field that determines if the will be + displayed with a drop shadow. + Use the public property to access this value. + + + + + Private field that determines the color of the dropshadow for this + . + Use the public property to access this value. + + + + + Private field that determines the offset angle of the dropshadow for this + . + Use the public property to access this value. + + + + + Private field that determines the offset distance of the dropshadow for this + . + Use the public property to access this value. + + + + + Private field that stores a reference to the + object that will be used for superscripts. This font object will be a + fraction of the , + based on the value of . This + property is internal, and has no public access. + + A reference to a object + + + + Private field that temporarily stores the scaled size of the font for this + object. This represents the actual on-screen + size, rather than the that represents the reference + size for a "full-sized" . + + The size of the font, measured in points (1/72 inch). + + + + A simple struct that defines the + default property values for the class. + + + + + The default size fraction of the superscript font, expressed as a fraction + of the size of the main font. + + + + + The default shift fraction of the superscript, expressed as a + fraction of the superscripted character height. This is the height + above the main font (a zero shift means the main font and the superscript + font have the tops aligned). + + + + + The default color for filling in the background of the text block + ( property). + + + + + The default custom brush for filling in this + ( property). + + + + + The default fill mode for this + ( property). + + + + + Default value for the alignment with which this + object is drawn. This alignment really only + affects multi-line strings. + + A enumeration. + + + + Default value for , which determines + if the drop shadow is displayed for this . + + + + + Default value for , which determines + if anti-aliasing logic is used for this . + + + + + Default value for , which determines + the color of the drop shadow for this . + + + + + Default value for , which determines + the offset angle of the drop shadow for this . + + + + + Default value for , which determines + the offset distance of the drop shadow for this . + + + + + The color of the font characters for this . + Note that the border and background + colors are set using the and + properties, respectively. + + A system reference. + + + + The font family name for this . + + A text string with the font family name, e.g., "Arial" + + + + Determines whether this is + drawn with bold typeface. + + A boolean value, true for bold, false for normal + + + + Determines whether this is + drawn with italic typeface. + + A boolean value, true for italic, false for normal + + + + Determines whether this is + drawn with underlined typeface. + + A boolean value, true for underline, false for normal + + + + The angle at which this object is drawn. + + The angle of the font, measured in anti-clockwise degrees from + horizontal. Negative values are permitted. + + + + Determines the alignment with which this + object is drawn. This alignment really only + affects multi-line strings. + + A enumeration. + + + + The size of the font for this object. + + The size of the font, measured in points (1/72 inch). + + + + Gets or sets the class used to draw the border border + around this text. + + + + + Gets or sets the data for this + , which controls how the background + behind the text is filled. + + + + + Gets or sets a value that determines if the will be + drawn using anti-aliasing logic within GDI+. + + + If this property is set to true, it will override the current setting of + by setting the value temporarily to + . If this property is set to false, + the the current setting of will be + left as-is. + + + + + Gets or sets a value that determines if the will be + displayed with a drop shadow. + + + + + + + + Gets or sets the color of the drop shadow for this . + + + This value only applies if is true. + + + + + + + + Gets or sets the offset angle of the drop shadow for this . + + + This value only applies if is true. + + The angle, measured in anti-clockwise degrees from + horizontal. Negative values are permitted. + + + + + + + Gets or sets the offset distance of the drop shadow for this . + + + This value only applies if is true. + + The offset distance, measured as a fraction of the scaled font height. + + + + + + + Construct a object with default properties. + + + + + Construct a object with the given properties. All other properties + are defaulted according to the values specified in the + default class. + + A text string representing the font family + (default is "Arial") + A size of the font in points. This size will be scaled + based on the ratio of the dimension to the + of the object. + The color with which to render the font + true for a bold typeface, false otherwise + true for an italic typeface, false otherwise + true for an underlined font, false otherwise + + + + Construct a object with the given properties. All other properties + are defaulted according to the values specified in the + default class. + + A text string representing the font family + (default is "Arial") + A size of the font in points. This size will be scaled + based on the ratio of the dimension to the + of the object. + The color with which to render the font + true for a bold typeface, false otherwise + true for an italic typeface, false otherwise + true for an underlined font, false otherwise + The to use for filling in the text background + The to use for filling in the text background + The to use for the + text background + + + + The Copy Constructor + + The FontSpec object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Recreate the font based on a new scaled size. The font + will only be recreated if the scaled size has changed by + at least 0.1 points. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The unscaled size of the font, in points + The scaled size of the font, in points + A reference to the object + + + + Get the class for the current scaled font. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + Returns a reference to a object + with a size of , and font . + + + + + Render the specified to the specifed + device. The text, border, and fill options + will be rendered as required. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A string value containing the text to be + displayed. This can be multiple lines, separated by newline ('\n') + characters + The X location to display the text, in screen + coordinates, relative to the horizontal () + alignment parameter + The Y location to display the text, in screen + coordinates, relative to the vertical ( + alignment parameter + A horizontal alignment parameter specified + using the enum type + A vertical alignment parameter specified + using the enum type + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Render the specified to the specifed + device. The text, border, and fill options + will be rendered as required. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A string value containing the text to be + displayed. This can be multiple lines, separated by newline ('\n') + characters + The X location to display the text, in screen + coordinates, relative to the horizontal () + alignment parameter + The Y location to display the text, in screen + coordinates, relative to the vertical ( + alignment parameter + A horizontal alignment parameter specified + using the enum type + A vertical alignment parameter specified + using the enum type + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The limiting area () into which the text + must fit. The actual rectangle may be smaller than this, but the text will be wrapped + to accomodate the area. + + + + Render the specified to the specifed + device. The text, border, and fill options + will be rendered as required. This special case method will show the + specified text as a power of 10, using the + and . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A string value containing the text to be + displayed. This can be multiple lines, separated by newline ('\n') + characters + The X location to display the text, in screen + coordinates, relative to the horizontal () + alignment parameter + The Y location to display the text, in screen + coordinates, relative to the vertical ( + alignment parameter + A horizontal alignment parameter specified + using the enum type + A vertical alignment parameter specified + using the enum type + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Get the height of the scaled font + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The scaled font height, in pixels + + + + Get the average character width of the scaled font. The average width is + based on the character 'x' + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The scaled font width, in pixels + + + + Get the total width of the specified text string + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The text string for which the width is to be calculated + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The scaled text width, in pixels + + + + Get a struct representing the width and height + of the specified text string, based on the scaled font size + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The text string for which the width is to be calculated + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The scaled text dimensions, in pixels, in the form of + a struct + + + + Get a struct representing the width and height + of the specified text string, based on the scaled font size, and using + the specified as an outer limit. + + + This method will allow the text to wrap as necessary to fit the + . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The text string for which the width is to be calculated + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The limiting area () into which the text + must fit. The actual rectangle may be smaller than this, but the text will be wrapped + to accomodate the area. + The scaled text dimensions, in pixels, in the form of + a struct + + + + Get a struct representing the width and height + of the bounding box for the specified text string, based on the scaled font size. + + + This routine differs from in that it takes into + account the rotation angle of the font, and gives the dimensions of the + bounding box that encloses the text at the specified angle. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The text string for which the width is to be calculated + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The scaled text dimensions, in pixels, in the form of + a struct + + + + Get a struct representing the width and height + of the bounding box for the specified text string, based on the scaled font size. + + + This routine differs from in that it takes into + account the rotation angle of the font, and gives the dimensions of the + bounding box that encloses the text at the specified angle. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The text string for which the width is to be calculated + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The limiting area () into which the text + must fit. The actual rectangle may be smaller than this, but the text will be wrapped + to accomodate the area. + The scaled text dimensions, in pixels, in the form of + a struct + + + + Get a struct representing the width and height + of the bounding box for the specified text string, based on the scaled font size. + + + This special case method will show the specified string as a power of 10, + superscripted and downsized according to the + and . + This routine differs from in that it takes into + account the rotation angle of the font, and gives the dimensions of the + bounding box that encloses the text at the specified angle. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The text string for which the width is to be calculated + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The scaled text dimensions, in pixels, in the form of + a struct + + + + Determines if the specified screen point lies within the bounding box of + the text, taking into account alignment and rotation parameters. + + The screen point, in pixel units + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + A string value containing the text to be + displayed. This can be multiple lines, separated by newline ('\n') + characters + The X location to display the text, in screen + coordinates, relative to the horizontal () + alignment parameter + The Y location to display the text, in screen + coordinates, relative to the vertical ( + alignment parameter + A horizontal alignment parameter specified + using the enum type + A vertical alignment parameter specified + using the enum type + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + true if the point lies within the bounding box, false otherwise + + + + Determines if the specified screen point lies within the bounding box of + the text, taking into account alignment and rotation parameters. + + The screen point, in pixel units + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + A string value containing the text to be + displayed. This can be multiple lines, separated by newline ('\n') + characters + The X location to display the text, in screen + coordinates, relative to the horizontal () + alignment parameter + The Y location to display the text, in screen + coordinates, relative to the vertical ( + alignment parameter + A horizontal alignment parameter specified + using the enum type + A vertical alignment parameter specified + using the enum type + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The limiting area () into which the text + must fit. The actual rectangle may be smaller than this, but the text will be wrapped + to accomodate the area. + true if the point lies within the bounding box, false otherwise + + + + Returns a polygon that defines the bounding box of + the text, taking into account alignment and rotation parameters. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + A string value containing the text to be + displayed. This can be multiple lines, separated by newline ('\n') + characters + The X location to display the text, in screen + coordinates, relative to the horizontal () + alignment parameter + The Y location to display the text, in screen + coordinates, relative to the vertical ( + alignment parameter + A horizontal alignment parameter specified + using the enum type + A vertical alignment parameter specified + using the enum type + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The limiting area () into which the text + must fit. The actual rectangle may be smaller than this, but the text will be wrapped + to accomodate the area. + A polygon of 4 points defining the area of this text + + + + Class that handles the data associated with a text title and its associated font + properties. Inherits from , and adds the + property for use by the and objects. + + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Constructor to build a from the text and the + associated font properties. + + The representing the text to be + displayed + The font family name + The size of the font in points and scaled according + to the logic. + The instance representing the color + of the font + true for a bold font face + true for an italic font face + true for an underline font face + + + + Copy constructor + + the instance to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or sets the gap factor between this label and the opposing + or . + + + This value is expressed as a fraction of the character height for the . + + + + + Calculate the size of the based on the + height, in pixel units and scaled according to . + + The scaling factor to be applied + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A simple struct that defines the + default property values for the class. + + + + + The default setting. + + + + + A class representing a needle on the GasGuage chart + s. + + Jay Mistry + $Revision: 1.2 $ $Date: 2007-08-11 14:37:47 $ + + + + Value of this needle + + + + + Width of the line being drawn + + + + + Color of the needle line + + + + + Internally calculated angle that places this needle relative to the MinValue and + MaxValue of 180 degree GasGuage + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + A which will customize the label display of this + + + + + + Private field that stores the class that defines the + properties of the border around this . Use the public + property to access this value. + + + + + The bounding rectangle for this . + + + + + Private field to hold the GraphicsPath of this to be + used for 'hit testing'. + + + + + Create a new + + The value associated with this + instance. + The display color for this + instance. + The value of this . + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or Sets the NeedleWidth of this + + + + + Gets or Sets the Border of this + + + + + Gets or Sets the SlicePath of this + + + + + Gets or Sets the LableDetail of this + + + + + Gets or Sets the NeedelColor of this + + + + + Gets or Sets the Fill of this + + + + + Private property that Gets or Sets the SweepAngle of this + + + + + Gets or Sets the NeedleValue of this + + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + The parent of this . + + true if the Z data are included, false otherwise + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Specify the default property values for the class. + + + + + The default width of the gas gauge needle. Units are points, scaled according + to + + + + + The default pen width to be used for drawing the border around the GasGaugeNeedle + ( property). Units are points. + + + + + The default border mode for GasGaugeNeedle ( + property). + true to display frame around GasGaugeNeedle, false otherwise + + + + + The default color for drawing frames around GasGaugeNeedle + ( property). + + + + + The default fill type for filling the GasGaugeNeedle. + + + + + The default color for filling in the GasGaugeNeedle + ( property). + + + + + The default custom brush for filling in the GasGaugeNeedle. + ( property). + + + + + Default value for controlling display. + + + + + The default font size for entries + ( property). Units are + in points (1/72 inch). + + + + + Do all rendering associated with this item to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + Not used for rendering GasGaugeNeedle + Not used for rendering GasGaugeNeedle + + + + Render the label for this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + Bounding rectangle for this . + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + Calculate the values needed to properly display this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + Calculate the that will be used to define the bounding rectangle of + the GasGaugeNeedle. + + This rectangle always lies inside of the , and it is + normally a square so that the pie itself is not oval-shaped. + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The (normally the ) + that bounds this pie. + + + + + A class representing a region on the GasGuage chart + s. + + Jay Mistry + $Revision: 1.2 $ $Date: 2007-07-30 05:26:23 $ + + + + Defines the minimum value of this + + + + + Defines the maximum value of this + + + + + Defines the Color of this + + + + + Internally calculated; Start angle of this pie that defines this + + + + + Internally calculated; Sweep angle of this pie that defines this + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + A which will customize the label display of this + + + + + + Private field that stores the class that defines the + properties of the border around this . Use the public + property to access this value. + + + + + The bounding rectangle for this . + + + + + Private field to hold the GraphicsPath of this to be + used for 'hit testing'. + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Create a new + + The value associated with this instance. + The display color for this instance. + The minimum value of this . + The maximum value of this . + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or sets the SlicePath of this + + + + + Gets or sets the LabelDetail of this + + + + + Gets or sets the Border of this + + + + + Gets or sets the RegionColor of this + + + + + Gets or sets the Fill of this + + + + + Gets or sets the SweepAngle of this + + + + + Gets or sets the StartAngle of this + + + + + Gets or sets the MinValue of this + + + + + Gets or sets the MaxValue of this + + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + The parent of this . + + true if the Z data are included, false otherwise + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Specify the default property values for the class. + + + + + The default border pen width for the + + + + + The default fill type for the + + + + + The default value for the visibility of the border. + + + + + The default value for the color of the border + + + + + The default value for the color of the fill + + + + + The default value for the fill brush of the + + + + + The default value for the visibility of the fill. + + + + + The default value for the font size of the labels. + + + + + Do all rendering associated with this item to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + Not used for rendering GasGaugeNeedle + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Render the label for this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + Bounding rectangle for this . + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + Calculate the values needed to properly display this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + Calculate the that will be used to define the bounding rectangle of + the GasGaugeNeedle. + + This rectangle always lies inside of the , and it is + normally a square so that the pie itself is not oval-shaped. + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The (normally the ) + that bounds this pie. + + + + + An abstract base class that represents a text object on the graph. A list of + objects is maintained by the + collection class. + + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Protected field that stores the location of this . + Use the public property to access this value. + + + + + Protected field that determines whether or not this + is visible in the graph. Use the public property to + access this value. + + + + + Protected field that determines whether or not the rendering of this + will be clipped to the ChartRect. Use the public property to + access this value. + + + + + A tag object for use by the user. This can be used to store additional + information associated with the . ZedGraph does + not use this value for any purpose. + + + Note that, if you are going to Serialize ZedGraph data, then any type + that you store in must be a serializable type (or + it will cause an exception). + + + + + Internal field that determines the z-order "depth" of this + item relative to other graphic objects. Use the public property + to access this value. + + + + + Internal field that stores the hyperlink information for this object. + + + + + A simple struct that defines the + default property values for the class. + + + + + Default value for the vertical + text alignment ( property). + This is specified + using the enum type. + + + + + Default value for the horizontal + text alignment ( property). + This is specified + using the enum type. + + + + + The default coordinate system to be used for defining the + location coordinates + ( property). + + The coordinate system is defined with the + enum + + + + The default value for . + + + + + The struct that describes the location + for this . + + + + + Gets or sets a value that determines the z-order "depth" of this + item relative to other graphic objects. + + Note that this controls the z-order with respect to + other elements such as 's, + objects, etc. The order of objects having + the same value is controlled by their order in + the . The first + in the list is drawn in front of other + objects having the same value. + + + + Gets or sets a value that determines if this will be + visible in the graph. true displays the item, false hides it. + + + + + Gets or sets a value that determines whether or not the rendering of this + will be clipped to the . + + true to clip the to the bounds, + false to leave it unclipped. + + + + Gets or sets the hyperlink information for this . + + + + + true if the of this object is set to put it in front + of the data points. + + + + + Constructors for the class. + + + Default constructor that sets all properties to default + values as defined in the class. + + + + + Constructor that sets all properties to default + values as defined in the class. + + The x position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + The y position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + + + + Constructor that creates a with the specified + coordinates and all other properties to defaults as specified + in the class.. + + + The four coordinates define the starting point and ending point for + 's, or the topleft and bottomright points for + 's. For 's that only require + one point, the and values + will be ignored. The units of the coordinates are specified by the + property. + + The x position of the item. + The y position of the item. + The x2 position of the item. + The x2 position of the item. + + + + Constructor that creates a with the specified + position and . Other properties are set to default + values as defined in the class. + + + The two coordinates define the location point for the object. + The units of the coordinates are specified by the + property. + + The x position of the item. The item will be + aligned to this position based on the + property. + The y position of the item. The item will be + aligned to this position based on the + property. + The enum value that + indicates what type of coordinate system the x and y parameters are + referenced to. + + + + Constructor that creates a with the specified + position, , , and . + Other properties are set to default values as defined in the class. + + + The two coordinates define the location point for the object. + The units of the coordinates are specified by the + property. + + The x position of the item. The item will be + aligned to this position based on the + property. + The y position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + The enum value that + indicates what type of coordinate system the x and y parameters are + referenced to. + The enum that specifies + the horizontal alignment of the object with respect to the (x,y) location + The enum that specifies + the vertical alignment of the object with respect to the (x,y) location + + + + Constructor that creates a with the specified + position, , , and . + Other properties are set to default values as defined in the class. + + + The four coordinates define the starting point and ending point for + 's, or the topleft and bottomright points for + 's. For 's that only require + one point, the and values + will be ignored. The units of the coordinates are specified by the + property. + + The x position of the item. + The y position of the item. + The x2 position of the item. + The x2 position of the item. + The enum value that + indicates what type of coordinate system the x and y parameters are + referenced to. + The enum that specifies + the horizontal alignment of the object with respect to the (x,y) location + The enum that specifies + the vertical alignment of the object with respect to the (x,y) location + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of Clone. + + + Note that this method must be called with an explicit cast to ICloneable, and + that it is inherently virtual. For example: + + ParentClass foo = new ChildClass(); + ChildClass bar = (ChildClass) ((ICloneable)foo).Clone(); + + Assume that ChildClass is inherited from ParentClass. Even though foo is declared with + ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation + of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function. + + A deep copy of this object + + + + Current schema value that defines the version of the serialized file + + + schema changed to 2 when isClippedToChartRect was added. + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render this object to the specified device. + + + This method is normally only called by the Draw method + of the parent collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine if the specified screen point lies inside the bounding box of this + . + + The screen point, in pixels + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + true if the point lies in the bounding box, false otherwise + + + + Determines the shape type and Coords values for this GraphObj + + + + + A collection class containing a list of objects + to be displayed on the graph. + + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Default constructor for the collection class + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Indexer to access the specified object by its . + Note that the must be a type for this method + to work. + + The type tag to search for. + A object reference. + + + + + Return the zero-based position index of the + with the specified . + + In order for this method to work, the + property must be of type . + The tag that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the is not in the list + + + + Move the position of the object at the specified index + to the new relative position in the list. + For Graphic type objects, this method controls the + Z-Order of the items. Objects at the beginning of the list + appear in front of objects at the end of the list. + The zero-based index of the object + to be moved. + The relative number of positions to move + the object. A value of -1 will move the + object one position earlier in the list, a value + of 1 will move it one position later. To move an item to the + beginning of the list, use a large negative value (such as -999). + To move it to the end of the list, use a large positive value. + + The new position for the object, or -1 if the object + was not found. + + + + Render text to the specified device + by calling the Draw method of each object in + the collection. + + This method is normally only called by the Draw method + of the parent object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + A enumeration that controls + the placement of this relative to other + graphic objects. The order of 's with the + same value is control by their order in + this . + + + + Determine if a mouse point is within any , and if so, + return the index number of the the . + + The screen point, in pixel coordinates. + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The index number of the + that is under the mouse point. The object is + accessible via the indexer property. + + true if the mouse point is within a bounding + box, false otherwise. + + + + + Class encapsulates the graph pane, which is all display elements + associated with an individual graph. + + This class is the outside "wrapper" + for the ZedGraph classes, and provides the interface to access the attributes + of the graph. You can have multiple graphs in the same document or form, + just instantiate multiple GraphPane's. + + + John Champion modified by Jerry Vos + $Revision: 3.81 $ $Date: 2007-09-30 07:44:11 $ + + + + A delegate to provide notification through the + when is called. + + The for which AxisChange() has + been called. + + + + + Subscribe to this event to be notified when is called. + + + + Private field instance of the class. Use the + public property to access this class. + + + Private field instance of the class. Use the + public property to access this class. + + + Private field instance of the class. Use the + public property to access this class. + + + Private field instance of the class. Use the + public property to access this class. + + + Private field instance of the class. Use the + public property to access this class. + + + + private value that contains a , which stores prior + objects containing scale range information. This enables + zooming and panning functionality for the . + + + + Private field that determines whether or not initial zero values will + be included or excluded when determining the Y or Y2 axis scale range. + Use the public property to access + this value. + + + Private field that determines whether or not initial + values will cause the line segments of + a curve to be discontinuous. If this field is true, then the curves + will be plotted as continuous lines as if the Missing values did not + exist. + Use the public property to access + this value. + + + private field that determines if the auto-scaled axis ranges will subset the + data points based on any manually set scale range values. Use the public property + to access this value. + The bounds provide a means to subset the data. For example, if all the axes are set to + autoscale, then the full range of data are used. But, if the XAxis.Min and XAxis.Max values + are manually set, then the Y data range will reflect the Y values within the bounds of + XAxis.Min and XAxis.Max. + + + + private field that determines if ZedGraph should modify the scale ranges for the Y and Y2 + axes such that the number of steps, and therefore the grid lines, line up. Use the + public property to acccess this value. + + + + Private field that determines how the + graphs will be displayed. See the enum + for the individual types available. + To access this value, use the public property . + + + + + + A simple struct that defines the + default property values for the class. + + + + + The default settings for the scale ignore initial + zero values option ( property). + true to have the auto-scale-range code ignore the initial data points + until the first non-zero Y value, false otherwise. + + + + + The default settings for the scale bounded ranges option + ( property). + true to have the auto-scale-range code subset the data according to any + manually set scale values, false otherwise. + + + + The default value for the property, which + determines if the lines are drawn in normal or "stacked" mode. See the + for more information. + + + + + + The default width of a bar cluster + on a graph. This value only applies to + graphs, and only when the + is , + or . + This dimension is expressed in terms of X scale user units. + + + + + + + The tolerance that is applied to the + routine. + If a given curve point is within this many pixels of the mousePt, the curve + point is considered to be close enough for selection as a nearest point + candidate. + + + + + Gets or sets the list of items for this + + A reference to a collection object + + + + Accesses the for this graph + + A reference to a object + + + + Accesses the for this graph + + A reference to a object + + + + Accesses the primary for this graph + + A reference to a object + + + + + + Accesses the primary for this graph + + A reference to a object + + + + + + Gets the collection of Y axes that belong to this . + + + + + Gets the collection of Y2 axes that belong to this . + + + + + Gets the instance for this . + + + + + Gets the instance for this , + which stores the global properties for bar type charts. + + + + + Gets or sets a boolean value that affects the data range that is considered + for the automatic scale ranging. + + If true, then initial data points where the Y value + is zero are not included when automatically determining the scale , + , and size. + All data after the first non-zero Y value are included. + + + + + Gets or sets a boolean value that determines if the auto-scaled axis ranges will + subset the data points based on any manually set scale range values. + The bounds provide a means to subset the data. For example, if all the axes are set to + autoscale, then the full range of data are used. But, if the XAxis.Min and XAxis.Max values + are manually set, then the Y data range will reflect the Y values within the bounds of + XAxis.Min and XAxis.Max. Set to true to subset the data, or false to always include + all data points when calculating scale ranges. + + + Gets or sets a value that determines whether or not initial + values will cause the line segments of + a curve to be discontinuous. + + If this field is true, then the curves + will be plotted as continuous lines as if the Missing values did not exist. + Use the public property to access + this value. + + + + Gets or sets a value that determines if ZedGraph should modify the scale ranges + for the Y and Y2 axes such that the number of major steps, and therefore the + major grid lines, line up. + + + This property affects the way that selects the scale + ranges for the Y and Y2 axes. It applies to the scale ranges of all Y and Y2 axes, + but only if the is set to true.
+
+
+ + Determines how the + graphs will be displayed. See the enum + for the individual types available. + + + + + + Gets a value that indicates whether or not the for + this is empty. Note that this value is only used for + the . + + + + + Gets a reference to the for this . + + + + + Default Constructor. Sets the to (0, 0, 500, 375), and + sets the and values to empty + strings. + + + + + Constructor for the object. This routine will + initialize all member variables and classes, setting appropriate default + values as defined in the class. + + A rectangular screen area where the graph is to be displayed. + This area can be any size, and can be resize at any time using the + property. + + The for this + The for the + The for the + + + + The Copy Constructor + + The GraphPane object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + AxisChange causes the axes scale ranges to be recalculated based on the current data range. + + + There is no obligation to call AxisChange() for manually scaled axes. AxisChange() is only + intended to handle auto scaling operations. Call this function anytime you change, add, or + remove curve data to insure that the scale range of the axes are appropriate for the data range. + This method calculates + a scale minimum, maximum, and step size for each axis based on the current curve data. + Only the axis attributes (min, max, step) that are set to auto-range + (, , ) + will be modified. You must call after calling + AxisChange to make sure the display gets updated.
+ This overload of AxisChange just uses a throw-away bitmap as Graphics. + If you have a Graphics instance available from your Windows Form, you should use + the overload instead. +
+
+ + + AxisChange causes the axes scale ranges to be recalculated based on the current data range. + + + There is no obligation to call AxisChange() for manually scaled axes. AxisChange() is only + intended to handle auto scaling operations. Call this function anytime you change, add, or + remove curve data to insure that the scale range of the axes are appropriate for the data range. + This method calculates + a scale minimum, maximum, and step size for each axis based on the current curve data. + Only the axis attributes (min, max, step) that are set to auto-range + (, , ) + will be modified. You must call + after calling AxisChange to make sure the display gets updated. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + Draw all elements in the to the specified graphics device. + + This method + should be part of the Paint() update process. Calling this routine will redraw all + features of the graph. No preparation is required other than an instantiated + object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + Calculate the based on the . + + The ChartRect + is the plot area bounded by the axes, and the rect is the total area as + specified by the client application. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The calculated chart rect, in pixel coordinates. + + + + Calculate the based on the . + + The ChartRect + is the plot area bounded by the axes, and the rect is the total area as + specified by the client application. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + The calculated chart rect, in pixel coordinates. + + + + This method will set the property for all three axes; + , , and . + + The + is calculated using the currently required space multiplied by a fraction + (bufferFraction). + The currently required space is calculated using , and is + based on current data ranges, font sizes, etc. The "space" is actually the amount of space + required to fit the tic marks, scale labels, and axis title. + The calculation is done by calling the method for + each . + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + The amount of space to allocate for the axis, expressed + as a fraction of the currently required space. For example, a value of 1.2 would + allow for 20% extra above the currently required space. + If true, then this method will only modify the + property if the calculated result is more than the current value. + + + + Add a curve ( object) to the plot with + the given data points (double arrays) and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + An array of double precision X values (the + independent values) that define the curve. + An array of double precision Y values (the + dependent values) that define the curve. + The color to used for the curve line, + symbols, etc. + A class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a curve ( object) to the plot with + the given data points () and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + A of double precision value pairs that define + the X and Y values for this curve + The color to used for the curve line, + symbols, etc. + A class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a curve ( object) to the plot with + the given data points (double arrays) and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + An array of double precision X values (the + independent values) that define the curve. + An array of double precision Y values (the + dependent values) that define the curve. + The color to used for the curve line, + symbols, etc. + A symbol type () + that will be used for this curve. + A class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a curve ( object) to the plot with + the given data points () and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + A of double precision value pairs that define + the X and Y values for this curve + The color to used for the curve line, + symbols, etc. + A symbol type () + that will be used for this curve. + A class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a stick graph ( object) to the plot with + the given data points (double arrays) and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + An array of double precision X values (the + independent values) that define the curve. + An array of double precision Y values (the + dependent values) that define the curve. + The color to used for the curve line, + symbols, etc. + A class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a stick graph ( object) to the plot with + the given data points () and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + A of double precision value pairs that define + the X and Y values for this curve + The color to used for the curve line, + symbols, etc. + A class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a candlestick graph ( object) to the plot with + the given data points () and properties. + + + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + Note that the + should contain objects instead of + objects in order to contain all the data values required for this curve type. + + The text label (string) for the curve that will be + used as a entry. + A of double precision value pairs that define + the X and Y values for this curve + The color to used for the curve line, + symbols, etc. + A class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a japanesecandlestick graph ( object) to the plot with + the given data points () and properties. + + + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + Note that the + should contain objects instead of + objects in order to contain all the data values required for this curve type. + + The text label (string) for the curve that will be + used as a entry. + A of double precision value pairs that define + the X and Y values for this curve + A class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add an error bar set ( object) to the plot with + the given data points () and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + An array of double precision X values (the + independent values) that define the curve. + An array of double precision Y values (the + dependent values) that define the curve. + An array of double precision values that define the + base value (the bottom) of the bars for this curve. + + The color to used for the curve line, + symbols, etc. + An class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add an error bar set ( object) to the plot with + the given data points () and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + A of double precision value pairs that define + the X and Y values for this curve + The color to used for the curve line, + symbols, etc. + An class for the newly created curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a bar type curve ( object) to the plot with + the given data points () and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + A of double precision value pairs that define + the X and Y values for this curve + The color to used to fill the bars + A class for the newly created bar curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a bar type curve ( object) to the plot with + the given data points (double arrays) and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + An array of double precision X values (the + independent values) that define the curve. + An array of double precision Y values (the + dependent values) that define the curve. + The color to used for the bars + A class for the newly created bar curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a "High-Low" bar type curve ( object) to the plot with + the given data points (double arrays) and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + An array of double precision X values (the + independent values) that define the curve. + An array of double precision Y values (the + dependent values) that define the curve. + An array of double precision values that define the + base value (the bottom) of the bars for this curve. + + The color to used for the bars + A class for the newly created bar curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a hi-low bar type curve ( object) to the plot with + the given data points () and properties. + This is simplified way to add curves without knowledge of the + class. An alternative is to use + the Add() method. + + The text label (string) for the curve that will be + used as a entry. + A of double precision value Trio's that define + the X, Y, and lower dependent values for this curve + The color to used to fill the bars + A class for the newly created bar curve. + This can then be used to access all of the curve properties that + are not defined as arguments to the + method. + + + + Add a to the display. + + The value associated with this item. + The display color for this item. + The amount this item will be + displaced from the center of the . + Text label for this + a reference to the constructed + + + + Add a to the display, providing a gradient fill for the pie color. + + The value associated with this instance. + The starting display color for the gradient for this + instance. + The ending display color for the gradient for this + instance. + The angle for the gradient . + The amount this instance will be + displaced from the center point. + Text label for this instance. + + + + Creates all the s for a single Pie Chart. + + double array containing all s + for a single PieChart. + + string array containing all s + for a single PieChart. + + an array containing references to all s comprising + the Pie Chart. + + + + Transform a data point from the specified coordinate type + () to screen coordinates (pixels). + + This method implicitly assumes that + has already been calculated via or + methods, or the is + set manually (see ). + The X,Y pair that defines the point in user + coordinates. + A type that defines the + coordinate system in which the X,Y pair is defined. + A point in screen coordinates that corresponds to the + specified user point. + + + + Transform a data point from the specified coordinate type + () to screen coordinates (pixels). + + This method implicitly assumes that + has already been calculated via or + methods, or the is + set manually (see ). + Note that this method is more accurate than the + overload, since it uses double types. This would typically only be significant for + coordinates. + + The x coordinate that defines the location in user space + The y coordinate that defines the location in user space + A type that defines the + coordinate system in which the X,Y pair is defined. + A point in screen coordinates that corresponds to the + specified user point. + + + + Return the user scale values that correspond to the specified screen + coordinate position (pixels). This overload assumes the default + and . + + This method implicitly assumes that + has already been calculated via or + methods, or the is + set manually (see ). + The X,Y pair that defines the screen coordinate + point of interest + The resultant value in user coordinates from the + + The resultant value in user coordinates from the + primary + + + + Return the user scale values that correspond to the specified screen + coordinate position (pixels). + + This method implicitly assumes that + has already been calculated via or + methods, or the is + set manually (see ). + The X,Y pair that defines the screen coordinate + point of interest + The resultant value in user coordinates from the + + The resultant value in user coordinates from the + + The resultant value in user coordinates from the + primary + The resultant value in user coordinates from the + primary + + + + Return the user scale values that correspond to the specified screen + coordinate position (pixels). + + This method implicitly assumes that + has already been calculated via or + methods, or the is + set manually (see ). + The X,Y pair that defines the screen coordinate + point of interest + true to return data that corresponds to an + , false for an . + true to return data that corresponds to a + , false for a . + The ordinal index of the Y or Y2 axis from which + to return data (see , ) + + The resultant value in user coordinates from the + + The resultant value in user coordinates from the + primary + + + + Return the user scale values that correspond to the specified screen + coordinate position (pixels) for all y axes. + + This method implicitly assumes that + has already been calculated via or + methods, or the is + set manually (see ). + The X,Y pair that defines the screen coordinate + point of interest + The resultant value in user coordinates from the + + The resultant value in user coordinates from the + + An array of resultant values in user coordinates from the + list of instances. This method allocates the + array for you, according to the number of objects + in the list. + An array of resultant values in user coordinates from the + list of instances. This method allocates the + array for you, according to the number of objects + in the list. + + + + Add a secondary (left side) to the list of axes + in the Graph. + + + Note that the primary is always included by default. + This method turns off the and + and + properties by default. + + The title for the . + the ordinal position (index) in the . + + + + Add a secondary (right side) to the list of axes + in the Graph. + + + Note that the primary is always included by default. + This method turns off the and + and + properties by default. + + The title for the . + the ordinal position (index) in the . + + + + Find the object that lies closest to the specified mouse (screen) point. + + + This method will search through all of the graph objects, such as + , , , + , and . + If the mouse point is within the bounding box of the items (or in the case + of and , within + pixels), then the object will be returned. + You must check the type of the object to determine what object was + selected (for example, "if ( object is Legend ) ..."). The + parameter returns the index number of the item + within the selected object (such as the point number within a + object. + + The screen point, in pixel coordinates. + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + A reference to the nearest object to the + specified screen point. This can be any of , + , , + , , or . + Note: If the pane title is selected, then the object + will be returned. + + The index number of the item within the selected object + (where applicable). For example, for a object, + will be the index number of the nearest data point, + accessible via CurveItem.Points[index]. + index will be -1 if no data points are available. + true if an object was found, false otherwise. + + + + + Find the data point that lies closest to the specified mouse (screen) + point for the specified curve. + + + This method will search only through the points for the specified + curve to determine which point is + nearest the mouse point. It will only consider points that are within + pixels of the screen point. + + The screen point, in pixel coordinates. + A reference to the + instance that contains the closest point. nearestCurve will be null if + no data points are available. + A object containing + the data points to be searched. + The index number of the closest point. The + actual data vpoint will then be CurveItem.Points[iNearest] + . iNearest will + be -1 if no data points are available. + true if a point was found and that point lies within + pixels + of the screen point, false otherwise. + + + + Find the data point that lies closest to the specified mouse (screen) + point. + + + This method will search through all curves in + to find which point is + nearest. It will only consider points that are within + pixels of the screen point. + + The screen point, in pixel coordinates. + A reference to the + instance that contains the closest point. nearestCurve will be null if + no data points are available. + The index number of the closest point. The + actual data vpoint will then be CurveItem.Points[iNearest] + . iNearest will + be -1 if no data points are available. + true if a point was found and that point lies within + pixels + of the screen point, false otherwise. + + + + Find the data point that lies closest to the specified mouse (screen) + point. + + + This method will search through the specified list of curves to find which point is + nearest. It will only consider points that are within + pixels of the screen point, and it will + only consider 's that are in + . + + The screen point, in pixel coordinates. + A object containing + a subset of 's to be searched. + A reference to the + instance that contains the closest point. nearestCurve will be null if + no data points are available. + The index number of the closest point. The + actual data vpoint will then be CurveItem.Points[iNearest] + . iNearest will + be -1 if no data points are available. + true if a point was found and that point lies within + pixels + of the screen point, false otherwise. + + + + Search through the and for + items that contain active objects. + + The mouse location where the click occurred + An appropriate instance + The current scaling factor for drawing operations. + The clickable object that was found. Typically a type of + or a type of . + The instance that is contained within + the object. + An index value, indicating which point was clicked for + type objects. + returns true if a clickable link was found under the + , or false otherwise. + + + + + Find any objects that exist within the specified (screen) rectangle. + This method will search through all of the graph objects, such as + , , , + , and . + and see if the objects' bounding boxes are within the specified (screen) rectangle + This method returns true if any are found. + + + + + Hue-Saturation-Brightness Color class to store a color value, and to manage conversions + to and from RGB colors in the struct. + + + This class is based on code from http://www.cs.rit.edu/~ncs/color/ by Eugene Vishnevsky. + This struct stores the hue, saturation, brightness, and alpha values internally as + values from 0 to 255. The hue represents a fraction of the 360 degrees + of color space available. The saturation is the color intensity, where 0 represents gray scale + and 255 is the most colored. For the brightness, 0 represents black and 255 + represents white. + + + + + The color hue value, ranging from 0 to 255. + + + This property is actually a rescaling of the 360 degrees on the color wheel to 255 + possible values. Therefore, every 42.5 units is a new sector, with the following + convention: red=0, yellow=42.5, green=85, cyan=127.5, blue=170, magenta=212.5 + + + + + The color saturation (intensity) value, ranging from 0 (gray scale) to 255 (most colored). + + + + + The brightness value, ranging from 0 (black) to 255 (white). + + + + + The alpha value (opacity), ranging from 0 (transparent) to 255 (opaque). + + + + + Constructor to load an struct from hue, saturation and + brightness values + + The color hue value, ranging from 0 to 255 + The color saturation (intensity) value, ranging from 0 (gray scale) + to 255 (most colored) + The brightness value, ranging from 0 (black) to 255 (white) + + + + Constructor to load an struct from hue, saturation, + brightness, and alpha values + + The color hue value, ranging from 0 to 255 + The color saturation (intensity) value, ranging from 0 (gray scale) + to 255 (most colored) + The brightness value, ranging from 0 (black) to 255 (white) + The alpha value (opacity), ranging from 0 (transparent) to + 255 (opaque) + + + + Constructor to load an struct from a system + struct. + + An rgb struct containing the equivalent + color you want to generate + + + + Implicit conversion operator to convert directly from an to + a struct. + + The struct to be converted + An equivalent struct that can be used in the GDI+ + graphics library + + + + Convert an value to an equivalent value. + + + This method is based on code from http://www.cs.rit.edu/~ncs/color/ by Eugene Vishnevsky. + + The struct to be converted + An equivalent struct, compatible with the GDI+ library + + + + Convert this value to an equivalent value. + + + This method is based on code from http://www.cs.rit.edu/~ncs/color/ by Eugene Vishnevsky. + + An equivalent struct, compatible with the GDI+ library + + + + Convert a value to an equivalent value. + + + This method is based on code from http://www.cs.rit.edu/~ncs/color/ by Eugene Vishnevsky. + + An equivalent struct + + + + Convert a value to an equivalent value. + + + This method is based on code from http://www.cs.rit.edu/~ncs/color/ by Eugene Vishnevsky. + + The struct to be converted + An equivalent struct + + + + A class that represents an image object on the graph. A list of + objects is maintained by the + collection class. + + + John Champion + $Revision: 3.2 $ $Date: 2006-09-09 17:32:01 $ + + + + Private field that stores the image. Use the public property + to access this value. + + + + + Private field that determines if the image will be scaled to the output rectangle. + + true to scale the image, false to draw the image unscaled, but clipped + to the destination rectangle + + + + A simple struct that defines the + default property values for the class. + + + + + Default value for the + property. + + + + + The object. + + A class reference. + + + + Gets or sets a property that determines if the image will be scaled to the + output rectangle (see ). + + true to scale the image, false to draw the image unscaled, but clipped + to the destination rectangle + + + Constructors for the object + + A default constructor that places a null at a + default of (0,0,1,1) + + + + + A constructor that allows the and + location for the + to be pre-specified. + + A class that defines + the image + A struct that defines the + image location, specifed in units based on the + property. + + + Constructors for the object + + A constructor that allows the and + location for the + to be pre-specified. + + A class that defines + the image + A struct that defines the + image location, specifed in units based on the + property. + The enum value that + indicates what type of coordinate system the x and y parameters are + referenced to. + The enum that specifies + the horizontal alignment of the object with respect to the (x,y) location + The enum that specifies + the vertical alignment of the object with respect to the (x,y) location + + + Constructors for the object + + A constructor that allows the and + individual coordinate locations for the + to be pre-specified. + + A class that defines + the image + The position of the left side of the rectangle that defines the + location. The units of this position are specified by the + property. + The position of the top side of the rectangle that defines the + location. The units of this position are specified by the + property. + The width of the rectangle that defines the + location. The units of this position are specified by the + property. + The height of the rectangle that defines the + location. The units of this position are specified by the + property. + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render this object to the specified device + This method is normally only called by the Draw method + of the parent collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine if the specified screen point lies inside the bounding box of this + . The bounding box is calculated assuming a distance + of pixels around the arrow segment. + + The screen point, in pixels + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + true if the point lies in the bounding box, false otherwise + + + + Determines the shape type and Coords values for this GraphObj + + + + + An interface to a collection class containing data + that define the set of points to be displayed on the curve. + + + This interface is designed to allow customized data abstraction. The default data + collection class is , however, you can define your own + data collection class using the interface. + + + + + John Champion + $Revision: 1.6 $ $Date: 2007-11-11 07:29:43 $ + + + + Indexer to access a data point by its ordinal position in the collection. + + + This is the standard interface that ZedGraph uses to access the data. Although + you must pass a here, your internal data storage format + can be anything. + + The ordinal position (zero-based) of the + data point to be accessed. + A object instance. + + + + Gets the number of points available in the list. + + + + + An interface to a collection class containing data + that define the set of points to be displayed on the curve. + + + This interface is designed to allow customized data abstraction. The default data + collection class is , however, you can define your own + data collection class using the interface. This + interface adds the ability to remove and add points + to the list, and so is used by the class for the + , , and + methods. + + + + + + + John Champion + $Revision: 3.6 $ $Date: 2006-10-19 04:40:14 $ + + + + Indexer to access a data point by its ordinal position in the collection. + + + This is the standard interface that ZedGraph uses to access the data. Although + you must pass a here, your internal data storage format + can be anything. + + The ordinal position (zero-based) of the + data point to be accessed. + A object instance. + + + + Appends a point to the end of the list. The data are passed in as a + object. + + The object containing the data to be added. + + + + Appends a point to the end of the list. The data are passed in as two + types. + + The value containing the X data to be added. + The value containing the Y data to be added. + The ordinal position (zero-based), at which the new point was added. + + + + Removes a single data point from the list at the specified ordinal location + (zero based). + + + + + Clears all data points from the list. After calling this method, + will be zero. + + + + + This class handles the drawing of the curve objects. + + + John Champion + $Revision: 3.10 $ $Date: 2007-04-16 00:03:02 $ + + + + Private field to store the class to be used for filling the + candlestick "bars" when the value is greater than + the value. See the public property + to access this value. + + + + + Private field to store the class to be used for filling the + candlestick "bars" when the value is less than + the value. See the public property + to access this value. + + + + + Private field to store the class to be used for drawing the + candlestick "bars" when the value is greater than + the value. See the public property + to access this value. + + + + + Private field to store the class to be used for drawing the + candlestick "bars" when the value is less than + the value. See the public property + to access this value. + + + + + Private field that stores the CandleStick color when the + value is less than the value. Use the public + property to access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default fillcolor for drawing the rising case CandleSticks + ( property). + + + + + The default fillcolor for drawing the falling case CandleSticks + ( property). + + + + + The default color for the border of the rising CandleSticks + ( property). + + + + + The default color for the border of the falling CandleSticks + ( property). + + + + + Gets or sets the class that is used to fill the candlestick + "bars" when the value is greater than the + value. + + + + + Gets or sets the class that is used to fill the candlestick + "bars" when the value is less than the + value. + + + + + The instance to be used for drawing the border frame of + the candlestick "bars" when the value is greater than the + value. + + + + + The instance to be used for drawing the border frame of + the candlestick "bars" when the value is less than the + value. + + + + + Gets or sets the data for this + when the value of the candlestick is + falling. + + This property only controls the color of + the vertical line when the value is falling. The rising color is controlled + by the property. + + + + + Default constructor that sets all properties to + default values as defined in the class. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Draw the to the specified + device at the specified location. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + boolean value that indicates if the "base" axis for this + is the X axis. True for an base, + false for a or base. + The independent axis position of the center of the candlestick in + pixel units + The high value position of the candlestick in + pixel units + The low value position of the candlestick in + pixel units + The opening value position of the candlestick in + pixel units + The closing value position of the candlestick in + pixel units + The scaled width of one-half of a bar, in pixels + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + A pen with the attribute for this + + + The instance to be used for filling this + + + The instance to be used for drawing the + border around the filled box + The to be used for determining the + , just in case it's a , + , or + + + + + Draw all the 's to the specified + device as a candlestick at each defined point. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A object representing the + 's to be drawn. + The class instance that defines the base (independent) + axis for the + The class instance that defines the value (dependent) + axis for the + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Encapsulates a Japanese CandleStick curve type that displays a vertical (or horizontal) + line displaying the range of data values at each sample point, plus a filled bar + signifying the opening and closing value for the sample. + + For this type to work properly, your must contain + objects, rather than ordinary types. + This is because the type actually displays 5 data values + but the only stores 3 data values. The + stores , , + , , and + members. + For a JapaneseCandleStick chart, the range between opening and closing values + is drawn as a filled bar, with the filled color different + () for the case of + + higher than , and + + for the reverse. The width of the bar is controlled + by the property, which is specified in + points (1/72nd inch), and scaled according to . + The candlesticks are drawn horizontally or vertically depending on the + value of , which is a + enum type. + John Champion + $Revision: 3.6 $ $Date: 2007-12-31 00:23:05 $ + + + + Private field that stores a reference to the + class defined for this . Use the public + property to access this value. + + + + + + Gets a reference to the class defined + for this . + + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + + IsZIncluded is true for objects, since the Y and Z + values are defined as the High and Low values for the day. + The parent of this . + + true if the Z data are included, false otherwise + + + + Create a new , specifying only the legend label. + + The label that will appear in the legend. + + + + Create a new using the specified properties. + + The label that will appear in the legend. + An of double precision values that define + the Date, Close, Open, High, and Low values for the curve. Note that this + should contain items rather + than items. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Do all rendering associated with this to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The ordinal position of the current + curve. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw a legend key entry for this at the specified location + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The struct that specifies the + location for the legend key + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + Class that handles the data associated with text title and its associated font + properties + + + John Champion + $Revision: 3.2 $ $Date: 2007-03-11 02:08:16 $ + + + + private field that stores the text for this label + + + + + private field that stores the font properties for this label + + + + + private field that determines if this label will be displayed. + + + + + Constructor to build an from the text and the + associated font properties. + + The representing the text to be + displayed + The font family name + The size of the font in points and scaled according + to the logic. + The instance representing the color + of the font + true for a bold font face + true for an italic font face + true for an underline font face + + + + Constructor that builds a from a text + and a instance. + + + + + + + Copy constructor + + the instance to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + The text to be displayed + + + + + A instance representing the font properties + for the displayed text. + + + + + Gets or sets a boolean value that determines whether or not this label will be displayed. + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + This class encapsulates the chart that is displayed + in the + + + John Champion + $Revision: 3.41 $ $Date: 2007-08-11 19:24:55 $ + + + Private field to hold the bounding rectangle around the legend. + This bounding rectangle varies with the number of legend entries, font sizes, + etc., and is re-calculated by at each redraw. + Use the public readonly property to access this + rectangle. + + + + Private field to hold the legend location setting. This field + contains the enum type to specify the area of + the graph where the legend will be positioned. Use the public property + to access this value. + + + + + + Private field to enable/disable horizontal stacking of the legend entries. + If this value is false, then the legend entries will always be a single column. + Use the public property to access this value. + + + + + + Private field to enable/disable drawing of the entire legend. + If this value is false, then the legend will not be drawn. + Use the public property to access this value. + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field to maintain the class that + maintains font attributes for the entries in this legend. Use + the property to access this class. + + + + + Private field to maintain the location. This object + is only applicable if the property is set to + . + + + + + Private temporary field to maintain the number of columns (horizontal stacking) to be used + for drawing the . This value is only valid during a draw operation. + + + + + Private temporary field to maintain the width of each column in the + . This value is only valid during a draw operation. + + + + + Private temporary field to maintain the height of each row in the + . This value is only valid during a draw operation. + + + + + Private field to store the gap between the legend and the chart rectangle. + + + + + Private field to select output order of legend entries. + + + + + Private temporary field to maintain the characteristic "gap" for the legend. + This is normal the height of the largest font in the legend. + This value is only valid during a draw operation. + + + + + Private field to enable/diable drawing the line and symbol samples in the + legend. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default pen width for the border border. + ( property). Units are in pixels. + + + + + The default color for the border border. + ( property). + + + + + The default color for the background. + ( property). Use of this + color depends on the status of the + property. + + + + + The default custom brush for filling in this . + + + + + The default fill mode for the background. + + + + + The default location for the on the graph + ( property). This property is + defined as a enumeration. + + + + + The default border mode for the . + ( property). true + to draw a border around the , + false otherwise. + + + + + The default display mode for the . + ( property). true + to show the legend, + false to hide it. + + + + + The default fill mode for the background + ( property). + true to fill-in the background with color, + false to leave the background transparent. + + + + + The default horizontal stacking mode for the + ( property). + true to allow horizontal legend item stacking, false to allow + only vertical legend orientation. + + + + + The default font family for the entries + ( property). + + + + + The default font size for the entries + ( property). Units are + in points (1/72 inch). + + + + + The default font color for the entries + ( property). + + + + + The default font bold mode for the entries + ( property). true + for a bold typeface, false otherwise. + + + + + The default font italic mode for the entries + ( property). true + for an italic typeface, false otherwise. + + + + + The default font underline mode for the entries + ( property). true + for an underlined typeface, false otherwise. + + + + + The default color for filling in the scale text background + (see property). + + + + + The default custom brush for filling in the scale text background + (see property). + + + + + The default fill mode for filling in the scale text background + (see property). + + + + + The default gap size between the legend and the . + This is the default value of . + + + + + Default value for the property. + + + + + Default value for the property. + + + + + Get the bounding rectangle for the in screen coordinates + + A screen rectangle in pixel units + + + + Access to the class used to render + the entries + + A reference to a object + + + + + + + + + + Gets or sets a property that shows or hides the entirely + + true to show the , false to hide it + + + + + The class used to draw the border border around this . + + + + + Gets or sets the data for this + background. + + + + + Sets or gets a property that allows the items to + stack horizontally in addition to the vertical stacking + + true to allow horizontal stacking, false otherwise + + + + + + Sets or gets the location of the on the + using the enum type + + + + + + Gets or sets the data for the . + This property is only applicable if is set + to . + + + + + Gets or sets the gap size between the legend and the . + + + This is expressed as a fraction of the largest scaled character height for any + of the fonts used in the legend. Each in the legend can + optionally have its own specification. + + + + + Gets or sets a value that determines if the legend entries are displayed in normal order + (matching the order in the , or in reverse order. + + + + + Gets or sets a value that determines whether the line and symbol keys will be displayed + in the legend. + + + Note: If this value is set to false (so that only the curve label text is displayed + with no legend keys), then the color of the font for the legend entry of each curve + will automatically be set to match the setting for that curve. + You can override this behavior by specifying a specific font to be used for each + individual curve with the CurveItem.Label.FontSpec + property. + + + + + Default constructor that sets all properties to default + values as defined in the class. + + + + + The Copy Constructor + + The XAxis object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render the to the specified device. + + + This method is normally only called by the Draw method + of the parent object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine if a mouse point is within the legend, and if so, which legend + entry () is nearest. + + The screen point, in pixel coordinates. + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The index number of the legend + entry that is under the mouse point. The object is + accessible via CurveList[index]. + + true if the mouse point is within the bounding + box, false otherwise. + + + + + Calculate the rectangle (), + taking into account the number of required legend + entries, and the legend drawing preferences. + + Adjust the size of the + for the parent to accomodate the + space required by the legend. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + The rectangle that contains the area bounded by the axes, in pixel units. + + + + + + A class representing all the characteristics of the Line + segments that make up a curve on the graph. + + + John Champion + $Revision: 3.50 $ $Date: 2007-12-30 23:27:39 $ + + + + Private field that stores the smoothing flag for this + . Use the public + property to access this value. + + + + + Private field that stores the smoothing tension + for this . Use the public property + to access this value. + + A floating point value indicating the level of smoothing. + 0.0F for no smoothing, 1.0F for lots of smoothing, >1.0 for odd + smoothing. + + + + + + + Private field that stores the for this + . Use the public + property to access this value. + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that determines if this will be drawn with + optimizations enabled. Use the public + property to access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default color for curves (line segments connecting the points). + This is the default value for the property. + + + + + The default color for filling in the area under the curve + ( property). + + + + + The default custom brush for filling in the area under the curve + ( property). + + + + + The default fill mode for the curve ( property). + + + + + The default value for the + property. + + + + + The default value for the property. + + + + + The default value for the property. + + + + + Default value for the curve type property + (). This determines if the curve + will be drawn by directly connecting the points from the + data collection, + or if the curve will be a "stair-step" in which the points are + connected by a series of horizontal and vertical lines that + represent discrete, staticant values. Note that the values can + be forward oriented ForwardStep () or + rearward oriented RearwardStep. + That is, the points are defined at the beginning or end + of the staticant value for which they apply, respectively. + + enum value + + + + Gets or sets a property that determines if this + will be drawn smooth. The "smoothness" is controlled by + the property. + + true to smooth the line, false to just connect the dots + with linear segments + + + + + + + Gets or sets a property that determines the smoothing tension + for this . This property is only used if + is true. A tension value 0.0 will just + draw ordinary line segments like an unsmoothed line. A tension + value of 1.0 will be smooth. Values greater than 1.0 will generally + give odd results. + + A floating point value indicating the level of smoothing. + 0.0F for no smoothing, 1.0F for lots of smoothing, >1.0 for odd + smoothing. + + + + + + + Determines if the will be drawn by directly connecting the + points from the data collection, + or if the curve will be a "stair-step" in which the points are + connected by a series of horizontal and vertical lines that + represent discrete, constant values. Note that the values can + be forward oriented ForwardStep () or + rearward oriented RearwardStep. + That is, the points are defined at the beginning or end + of the constant value for which they apply, respectively. + The property is ignored for lines + that have set to true. + + enum value + + + + + Gets or sets the data for this + . + + + + + Gets or sets a boolean value that determines if this will be drawn with + optimizations enabled. + + + Normally, the optimizations can be used without a problem, especially if the data + are sorted. The optimizations are particularly helpful with very large datasets. + However, if the data are very discontinuous (for example, a curve that doubles back + on itself), then the optimizations can cause drawing artifacts in the form of + missing line segments. The default option for this mode is false, so you must + explicitly enable it for each LineItem.Line. + Also note that, even if the optimizations are enabled explicitly, no actual + optimization will be done for datasets of less than 1000 points. + + + + + Default constructor that sets all properties to default + values as defined in the class. + + + + + Constructor that sets the color property to the specified value, and sets + the remaining properties to default + values as defined in the class. + + The color to assign to this new Line object + + + + The Copy Constructor + + The Line object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Do all rendering associated with this to the specified + device. This method is normally only + called by the Draw method of the parent object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + A reference to the object that is the parent or + owner of this object. + + A representing this + curve. + + + + Render a single segment to the specified + device. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The x position of the starting point that defines the + line segment in screen pixel units + The y position of the starting point that defines the + line segment in screen pixel units + The x position of the ending point that defines the + line segment in screen pixel units + The y position of the ending point that defines the + line segment in screen pixel units + + + + Render the 's as vertical sticks (from a ) to + the specified device. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A representing this + curve. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw the this to the specified + device using the specified smoothing property (). + The routine draws the line segments and the area fill (if any, see ; + the symbols are drawn by the method. This method + is normally only called by the Draw method of the + object. Note that the property + is ignored for smooth lines (e.g., when is true). + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + A reference to the object that is the parent or + owner of this object. + + A representing this + curve. + + + + Draw the this to the specified + device. The format (stair-step or line) of the curve is + defined by the property. The routine + only draws the line segments; the symbols are drawn by the + method. This method + is normally only called by the Draw method of the + object + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + A reference to the object that is the parent or + owner of this object. + + A representing this + curve. + + + + Draw the this to the specified + device. The format (stair-step or line) of the curve is + defined by the property. The routine + only draws the line segments; the symbols are drawn by the + method. This method + is normally only called by the Draw method of the + object + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + A reference to the object that is the parent or + owner of this object. + + A representing this + curve. + + + + This method just handles the case where one or more of the coordinates are outrageous, + or GDI+ threw an exception. This method attempts to correct the outrageous coordinates by + interpolating them to a point (along the original line) that lies at the edge of the ChartRect + so that GDI+ will handle it properly. GDI+ will throw an exception, or just plot the data + incorrectly if the coordinates are too large (empirically, this appears to be when the + coordinate value is greater than 5,000,000 or less than -5,000,000). Although you typically + would not see coordinates like this, if you repeatedly zoom in on a ZedGraphControl, eventually + all your points will be way outside the bounds of the plot. + + + + + Build an array of values (pixel coordinates) that represents + the current curve. Note that this drawing routine ignores + values, but it does not "break" the line to indicate values are missing. + + A reference to the object that is the parent or + owner of this object. + A representing this + curve. + An array of values in pixel + coordinates representing the current curve. + The number of points contained in the "arrPoints" + parameter. + true for a successful points array build, false for data problems + + + + Build an array of values (pixel coordinates) that represents + the low values for the current curve. + + Note that this drawing routine ignores + values, but it does not "break" the line to indicate values are missing. + + A reference to the object that is the parent or + owner of this object. + A representing this + curve. + An array of values in pixel + coordinates representing the current curve. + The number of points contained in the "arrPoints" + parameter. + true for a successful points array build, false for data problems + + + + Close off a that defines a curve + + A reference to the object that is the parent or + owner of this object. + A representing this + curve. + An array of values in screen pixel + coordinates representing the current curve. + The number of points contained in the "arrPoints" + parameter. + The Y axis value location where the X axis crosses. + The class that represents the curve. + + + + The LinearAsOrdinalScale class inherits from the class, and implements + the features specific to . + + + LinearAsOrdinal is an ordinal axis that will have labels formatted with values from the actual data + values of the first in the . + Although the tics are labeled with real data values, the actual points will be + evenly-spaced in spite of the data values. For example, if the X values of the first curve + are 1, 5, and 100, then the tic labels will show 1, 5, and 100, but they will be equal + distance from each other. + + + John Champion + $Revision: 1.10 $ $Date: 2007-04-16 00:03:02 $ + + + + Default constructor that defines the owner + (containing object) for this new object. + + The owner, or containing object, of this instance + + + + The Copy Constructor + + The object from which to copy + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + Return the for this , which is + . + + + + + Select a reasonable ordinal axis scale given a range of data values, with the expectation that + linear values will be displayed. + + + This method only applies to type axes, and it + is called by the general method. For this type, + the first curve is the "master", which contains the dates to be applied. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to scale minor step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + + + Make a value label for an . + + + A reference to the object that is the parent or + owner of this object. + + + The zero-based, ordinal index of the label to be generated. For example, a value of 2 would + cause the third value label on the axis to be generated. + + + The numeric value associated with the label. This value is ignored for log () + and text () type axes. + + The resulting value label as a + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + The LinearScale class inherits from the class, and implements + the features specific to . + + + LinearScale is the normal, default cartesian axis. + + + John Champion + $Revision: 1.10 $ $Date: 2007-04-16 00:03:02 $ + + + + Default constructor that defines the owner + (containing object) for this new object. + + The owner, or containing object, of this instance + + + + The Copy Constructor + + The object from which to copy + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + Return the for this , which is + . + + + + + Select a reasonable linear axis scale given a range of data values. + + + This method only applies to type axes, and it + is called by the general method. The scale range is chosen + based on increments of 1, 2, or 5 (because they are even divisors of 10). This + method honors the , , + and autorange settings. + In the event that any of the autorange settings are false, the + corresponding , , or + setting is explicitly honored, and the remaining autorange settings (if any) will + be calculated to accomodate the non-autoranged values. The basic defaults for + scale selection are defined using , + , and + from the default class. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to scale minor step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A class that handles the basic attributes of a line segment. + + + This is the base class for and classes. + + John Champion + $Revision: 3.2 $ $Date: 2007-03-17 18:43:44 $ + + + + Private field that stores the pen width for this line. + Use the public property to access this value. + + + + + Private field that stores the for this + line. Use the public + property to access this value. + + + + + private field that stores the "Dash On" length for drawing the line. Use the + public property to access this value. + + + + + private field that stores the "Dash Off" length for drawing the line. Use the + public property to access this value. + + + + + Private field that stores the visibility of this line. Use the public + property to access this value. + + + + + private field that determines if the line is drawn using + Anti-Aliasing capabilities from the class. + Use the public property to access + this value. + + + + + Private field that stores the color of this line. Use the public + property to access this value. If this value is + false, the line will not be shown (but the may + still be shown). + + + + + Internal field that stores a custom class. This + fill is used strictly for , + , , + and calculations to determine + the color of the line. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default mode for displaying line segments ( + property). True to show the line segments, false to hide them. + + + + + The default width for line segments ( property). + Units are points (1/72 inch). + + + + + The default value for the + property. + + + + + The default drawing style for line segments ( property). + This is defined with the enumeration. + + + + + The default "dash on" size for drawing the line + ( property). Units are in points (1/72 inch). + + + + + The default "dash off" size for drawing the the line + ( property). Units are in points (1/72 inch). + + + + + The default color for the line. + This is the default value for the property. + + + + + The color of the . Note that this color value can be + overridden if the GradientFill.Type is one of the + , + , , + and types. + + + + + + The style of the , defined as a enum. + This allows the line to be solid, dashed, or dotted. + + + + + + + + The "Dash On" mode for drawing the line. + + + This is the distance, in points (1/72 inch), of the dash segments that make up + the dashed grid lines. This setting is only valid if + is set to . + + The dash on length is defined in points (1/72 inch) + + + . + + + + The "Dash Off" mode for drawing the line. + + + This is the distance, in points (1/72 inch), of the spaces between the dash + segments that make up the dashed grid lines. This setting is only valid if + is set to . + + The dash off length is defined in points (1/72 inch) + + + . + + + + The pen width used to draw the , in points (1/72 inch) + + + + + + Gets or sets a property that shows or hides the . + + true to show the line, false to hide it + + + + + Gets or sets a value that determines if the lines are drawn using + Anti-Aliasing capabilities from the class. + + + If this value is set to true, then the + property will be set to only while + this is drawn. A value of false will leave the value of + unchanged. + + + + + Gets or sets a custom class. + + This fill is used strictly for , + , , + and calculations to determine + the color of the line. It overrides the property if + one of the above values are selected. + + + + + + Default constructor that sets all properties to default + values as defined in the class. + + + + + Constructor that sets the color property to the specified value, and sets + the remaining properties to default + values as defined in the class. + + The color to assign to this new Line object + + + + The Copy Constructor + + The LineBase object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of Clone. + + + Note that this method must be called with an explicit cast to ICloneable, and + that it is inherently virtual. For example: + + ParentClass foo = new ChildClass(); + ChildClass bar = (ChildClass) ((ICloneable)foo).Clone(); + + Assume that ChildClass is inherited from ParentClass. Even though foo is declared with + ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation + of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function. + + A deep copy of this object + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the + serialized data + + A instance that contains + the serialized data + + + + + Populates a instance with the data needed to serialize + the target object + + A instance that defines the + serialized data + A instance that contains the + serialized data + + + + Create a object based on the properties of this + . + + The owner of this + . + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + A object with the properties of this + + + + + Create a object based on the properties of this + . + + The owner of this + . + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The data value to be used for a value-based + color gradient. This is only applicable if GradientFill.Type + is one of , + , , + or . + + A object with the properties of this + + + + + Encapsulates a curve type that is displayed as a line and/or a set of + symbols at each point. + + + John Champion + $Revision: 3.22 $ $Date: 2007-08-10 16:22:54 $ + + + + Private field that stores a reference to the + class defined for this . Use the public + property to access this value. + + + + + Private field that stores a reference to the + class defined for this . Use the public + property to access this value. + + + + + Gets or sets the class instance defined + for this . + + + + + Gets or sets the class instance defined + for this . + + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + The parent of this . + + true if the Z data are included, false otherwise + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Create a new , specifying only the legend . + + The _label that will appear in the legend. + + + + Create a new using the specified properties. + + The _label that will appear in the legend. + An array of double precision values that define + the independent (X axis) values for this curve + An array of double precision values that define + the dependent (Y axis) values for this curve + A value that will be applied to + the and properties. + + A enum specifying the + type of symbol to use for this . Use + to hide the symbols. + The width (in points) to be used for the . This + width is scaled based on . Use a value of zero to + hide the line (see ). + + + + Create a new using the specified properties. + + The _label that will appear in the legend. + An array of double precision values that define + the independent (X axis) values for this curve + An array of double precision values that define + the dependent (Y axis) values for this curve + A value that will be applied to + the and properties. + + A enum specifying the + type of symbol to use for this . Use + to hide the symbols. + + + + Create a new using the specified properties. + + The _label that will appear in the legend. + A of double precision value pairs that define + the X and Y values for this curve + A value that will be applied to + the and properties. + + A enum specifying the + type of symbol to use for this . Use + to hide the symbols. + The width (in points) to be used for the . This + width is scaled based on . Use a value of zero to + hide the line (see ). + + + + Create a new using the specified properties. + + The _label that will appear in the legend. + A of double precision value pairs that define + the X and Y values for this curve + A value that will be applied to + the and properties. + + A enum specifying the + type of symbol to use for this . Use + to hide the symbols. + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Do all rendering associated with this to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The ordinal position of the current + curve. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw a legend key entry for this at the specified location + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The struct that specifies the + location for the legend key + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Loads some pseudo unique colors/symbols into this LineItem. This + is mainly useful for differentiating a set of new LineItems without + having to pick your own colors/symbols. + + + + The that is used to pick the color + and symbol for this method call. + + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + A class that represents a line segment object on the graph. A list of + GraphObj objects is maintained by the collection class. + + + This should not be confused with the class, which represents + a set of points plotted together as a "curve". The class is + a single line segment, drawn as a "decoration" on the chart. + + John Champion + $Revision: 3.4 $ $Date: 2007-01-25 07:56:09 $ + + + + protected field that maintains the attributes of the line using an + instance of the class. + + + + + A class that contains the attributes for drawing this + . + + + + Constructors for the object + + A constructor that allows the position, color, and size of the + to be pre-specified. + + An arbitrary specification + for the arrow + The x position of the starting point that defines the + line. The units of this position are specified by the + property. + The y position of the starting point that defines the + line. The units of this position are specified by the + property. + The x position of the ending point that defines the + line. The units of this position are specified by the + property. + The y position of the ending point that defines the + line. The units of this position are specified by the + property. + + + + A constructor that allows only the position of the + line to be pre-specified. All other properties are set to + default values + + The x position of the starting point that defines the + . The units of this position are specified by the + property. + The y position of the starting point that defines the + . The units of this position are specified by the + property. + The x position of the ending point that defines the + . The units of this position are specified by the + property. + The y position of the ending point that defines the + . The units of this position are specified by the + property. + + + + Default constructor -- places the at location + (0,0) to (1,1). All other values are defaulted. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render this object to the specified device. + + + This method is normally only called by the Draw method + of the parent collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine if the specified screen point lies inside the bounding box of this + . + + The bounding box is calculated assuming a distance + of pixels around the arrow segment. + + The screen point, in pixels + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + true if the point lies in the bounding box, false otherwise + + + + Determines the shape type and Coords values for this GraphObj + + + + + A class that maintains hyperlink information for a clickable object on the graph. + + + John Champion + $Revision: 3.6 $ $Date: 2007-04-16 00:03:02 $ + + + + Internal field that stores the title string for this link. + + + + + Internal field that stores the url string for this link + + + + + Internal field that stores the target string for this link + + + + + Internal field that determines if this link is "live". + + + + + Gets or sets the title string for this link. + + + For web controls, this title will be shown as a tooltip when the mouse + hovers over the area of the object that owns this link. Set the value to + to have no title. + + + + + Gets or sets the url string for this link. + + + Set this value to if you don't want to have + a hyperlink associated with the object to which this link belongs. + + + + + Gets or sets the target string for this link. + + + This value should be set to a valid target associated with the "Target" + property of an html hyperlink. Typically, this would be "_blank" to open + a new browser window, or "_self" to open in the current browser. + + + + + A tag object for use by the user. This can be used to store additional + information associated with the . ZedGraph does + not use this value for any purpose. + + + Note that, if you are going to Serialize ZedGraph data, then any type + that you store in must be a serializable type (or + it will cause an exception). + + + + + Gets or sets a property that determines if this link is active. True to have + a clickable link, false to ignore the link. + + + + + Gets a value that indicates if this is enabled + (see ), and that either the + or the is non-null. + + + + + Default constructor. Set all properties to string.Empty, or null. + + + + + Construct a Link instance from a specified title, url, and target. + + The title for the link (which shows up in the tooltip). + The URL destination for the link. + The target for the link (typically "_blank" or "_self"). + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Create a URL for a that includes the index of the + point that was selected. + + + An "index" parameter is added to the property for this + link to indicate which point was selected. Further, if the + X or Y axes that correspond to this are of + , then an + additional parameter will be added containing the text value that + corresponds to the of the selected point. + The text parameter will be labeled "xtext", and + the text parameter will be labeled "ytext". + + The zero-based index of the selected point + The of interest + The for which to + make the url string. + A string containing the url with an index parameter added. + + + + Current schema value that defines the version of the serialized file + + + schema started with 10 for ZedGraph version 5 + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A class than contains information about the position of an object on the graph. + + + John Champion + $Revision: 3.14 $ $Date: 2006-06-24 20:26:43 $ + + + Private field to store the vertical alignment property for + this object. Use the public property + to access this value. The value of this field is a enum. + + + + Private field to store the horizontal alignment property for + this object. Use the public property + to access this value. The value of this field is a enum. + + + + Private fields to store the X and Y coordinate positions for + this object. Use the public properties and + to access these values. The coordinate type stored here is + dependent upon the setting of . + + + + Private fields to store the X and Y coordinate positions for + this object. Use the public properties and + to access these values. The coordinate type stored here is + dependent upon the setting of . + + + + Private fields to store the X and Y coordinate positions for + this object. Use the public properties and + to access these values. The coordinate type stored here is + dependent upon the setting of . + + + + Private fields to store the X and Y coordinate positions for + this object. Use the public properties and + to access these values. The coordinate type stored here is + dependent upon the setting of . + + + + + Private field to store the coordinate system to be used for defining the + object position. Use the public property + to access this value. The coordinate system + is defined with the enum. + + + + + A horizontal alignment parameter for this object specified + using the enum type. + + + + + A vertical alignment parameter for this object specified + using the enum type. + + + + + The coordinate system to be used for defining the object position + + The coordinate system is defined with the + enum + + + + The x position of the object. + + + The units of this position + are specified by the property. + The object will be aligned to this position based on the + property. + + + + + The y position of the object. + + + The units of this position + are specified by the property. + The object will be aligned to this position based on the + property. + + + + + The x1 position of the object (an alias for the x position). + + + The units of this position + are specified by the property. + The object will be aligned to this position based on the + property. + + + + + The y1 position of the object (an alias for the y position). + + + The units of this position + are specified by the property. + The object will be aligned to this position based on the + property. + + + + + The width of the object. + + + The units of this position are specified by the + property. + + + + + The height of the object. + + + The units of this position are specified by the + property. + + + + + The x2 position of the object. + + + The units of this position are specified by the + property. + The object will be aligned to this position based on the + property. This position is only used for + objects such as , where it makes sense + to have a second coordinate. Note that the X2 position is stored + internally as a offset from . + + + + + The y2 position of the object. + + + The units of this position + are specified by the property. + The object will be aligned to this position based on the + property. This position is only used for + objects such as , where it makes sense + to have a second coordinate. Note that the Y2 position is stored + internally as a offset from . + + + + + The for this object as defined by the + , , , and + properties. + + + Note that this method reduces the precision of the location coordinates from double + precision to single precision. In some cases, such as , it + may affect the resolution of the point location. + + A in + units. + + + + The top-left for this . + + + Note that this method reduces the precision of the location coordinates from double + precision to single precision. In some cases, such as , it + may affect the resolution of the point location. + + A in units. + + + + The bottom-right for this . + + + Note that this method reduces the precision of the location coordinates from double + precision to single precision. In some cases, such as , it + may affect the resolution of the point location. + + A in units. + + + + Default constructor for the class. + + + + + Constructor for the class that specifies the + x, y position and the . + + + The (x,y) position corresponds to the top-left corner; + + The x position, specified in units of . + + The y position, specified in units of . + + The enum that specifies the + units for and + + + + Constructor for the class that specifies the + x, y position and the . + + + The (x,y) position corresponds to the top-left corner; + + The x position, specified in units of . + + The y position, specified in units of . + + The enum that specifies the + units for and + The enum that specifies + the horizontal alignment of the object with respect to the (x,y) location + The enum that specifies + the vertical alignment of the object with respect to the (x,y) location + + + + Constructor for the class that specifies the + (x, y), (width, height), and the . + + + The (x,y) position + corresponds to the starting position, the (x2, y2) coorresponds to the ending position + (typically used for 's). + + The x position, specified in units of . + + The y position, specified in units of . + + The width, specified in units of . + + The height, specified in units of . + + The enum that specifies the + units for and + The enum that specifies + the horizontal alignment of the object with respect to the (x,y) location + The enum that specifies + the vertical alignment of the object with respect to the (x,y) location + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Transform this object to display device + coordinates using the properties of the specified . + + + A reference to the object that contains + the classes which will be used for the transform. + + A point in display device coordinates that corresponds to the + specified user point. + + + + Transform a data point from the specified coordinate type + () to display device coordinates (pixels). + + + If is not of type , then + only the transformation is available. + + + A reference to the object that contains + the classes which will be used for the transform. + + The x coordinate that defines the point in user + space. + The y coordinate that defines the point in user + space. + A type that defines the + coordinate system in which the X,Y pair is defined. + A point in display device coordinates that corresponds to the + specified user point. + + + + Transform this from the coordinate system + as specified by to the device coordinates + of the specified object. + + + The returned + struct represents the top-left corner of the + object that honors the properties. + The and properties are honored in + this transformation. + + + A reference to the object that contains + the classes which will be used for the transform. + + The width of the object in device pixels + The height of the object in device pixels + The top-left corner of the object + + + + The for this object as defined by the + and + properties. + + + This method transforms the location to output device pixel units. + The and properties are ignored for + this transformation (see ). + + A in pixel units. + + + + The for this object as defined by the + and properties. + + + This method transforms the location to output device pixel units. + The and properties are ignored for + this transformation (see ). + + A in pixel units. + + + + Transform the for this object as defined by the + , , , and + properties. + + + This method transforms the location to output device pixel units. + The and properties are honored in + this transformation. + + A in pixel units. + + + + The LogScale class inherits from the class, and implements + the features specific to . + + + LogScale is a non-linear axis in which the values are scaled using the base 10 + + function. + + + John Champion + $Revision: 1.12 $ $Date: 2007-04-16 00:03:02 $ + + + + Default constructor that defines the owner + (containing object) for this new object. + + The owner, or containing object, of this instance + + + + The Copy Constructor + + The object from which to copy + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + Return the for this , which is + . + + + + + Gets or sets the minimum value for this scale. + + + The set property is specifically adapted for scales, + in that it automatically limits the setting to values greater than zero. + + + + + Gets or sets the maximum value for this scale. + + + The set property is specifically adapted for scales, + in that it automatically limits the setting to values greater than zero. + struct. + + + + + Setup some temporary transform values in preparation for rendering the . + + + This method is typically called by the parent + object as part of the method. It is also + called by and + + methods to setup for coordinate transformations. + + + A reference to the object that is the parent or + owner of this object. + + + The parent for this + + + + + Convert a value to its linear equivalent for this type of scale. + + + The default behavior is to just return the value unchanged. However, + for and , + it returns the log or power equivalent. + + The value to be converted + + + + Convert a value from its linear equivalent to its actual scale value + for this type of scale. + + + The default behavior is to just return the value unchanged. However, + for and , + it returns the anti-log or inverse-power equivalent. + + The value to be converted + + + + Determine the value for any major tic. + + + This method properly accounts for , , + and other axis format settings. + + + The value of the first major tic (floating point double) + + + The major tic number (0 = first major tic). For log scales, this is the actual power of 10. + + + The specified major tic value (floating point double). + + + + + Determine the value for any minor tic. + + + This method properly accounts for , , + and other axis format settings. + + + The value of the first major tic (floating point double). This tic value is the base + reference for all tics (including minor ones). + + + The major tic number (0 = first major tic). For log scales, this is the actual power of 10. + + + The specified minor tic value (floating point double). + + + + + Internal routine to determine the ordinals of the first minor tic mark + + + The value of the first major tic for the axis. + + + The ordinal position of the first minor tic, relative to the first major tic. + This value can be negative (e.g., -3 means the first minor tic is 3 minor step + increments before the first major tic. + + + + + Determine the value for the first major tic. + + + This is done by finding the first possible value that is an integral multiple of + the step size, taking into account the date/time units if appropriate. + This method properly accounts for , , + and other axis format settings. + + + First major tic value (floating point double). + + + + + Internal routine to determine the ordinals of the first and last major axis label. + + + This is the total number of major tics for this axis. + + + + + Select a reasonable base 10 logarithmic axis scale given a range of data values. + + + This method only applies to type axes, and it + is called by the general method. The scale range is chosen + based always on powers of 10 (full log cycles). This + method honors the , , + and autorange settings. + In the event that any of the autorange settings are false, the + corresponding , , or + setting is explicitly honored, and the remaining autorange settings (if any) will + be calculated to accomodate the non-autoranged values. For log axes, the MinorStep + value is not used. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + + + Make a value label for an . + + + A reference to the object that is the parent or + owner of this object. + + + The zero-based, ordinal index of the label to be generated. For example, a value of 2 would + cause the third value label on the axis to be generated. + + + The numeric value associated with the label. This value is ignored for log () + and text () type axes. + + The resulting value label as a + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Class that handles the data associated with the major grid lines on the chart. + Inherits from . + + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Default constructor + + + + + Copy constructor + + The source to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or sets a boolean value that determines if a line will be drawn at the + zero value for the axis. + + + The zero line is a line that divides the negative values from the positive values. + The default is set according to + , , + , + + true to show the zero line, false otherwise + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A simple struct that defines the + default property values for the class. + + + + + The default "dash on" size for drawing the grid + ( property). Units are in points (1/72 inch). + + + + + The default "dash off" size for drawing the grid + ( property). Units are in points (1/72 inch). + + + + + The default pen width for drawing the grid + ( property). Units are in points (1/72 inch). + + + + + The default color for the grid lines + ( property). This color only affects the + grid lines. + + + + + The default display mode for the grid lines + ( property). true + to show the grid lines, false to hide them. + + + + + The default boolean value that determines if a line will be drawn at the + zero value for the axis. + + + The zero line is a line that divides the negative values from the positive values. + The default is set according to + , , + , + + true to show the zero line, false otherwise + + + + Class that holds the specific properties for the major tics. Inherits from + . + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Default constructor for . + + + + + Copy constructor. + + The that is to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or sets a property that determines whether or not the major tics will be drawn + inbetween the labels, rather than right at the labels. + + + Note that this setting is only + applicable if = . + + true to place the text between the labels for text axes, false otherwise + + + + + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A simple struct that defines the + default property values for the class. + + + + + The default size for the tic marks. + ( property). Units are in points (1/72 inch). + + + + + The default pen width for drawing the tic marks. + ( property). Units are in points (1/72 inch). + + + + + The display mode for the major outside tic marks + ( property). + The major tic spacing is controlled by . + + true to show the major tic marks (outside the axis), + false otherwise + + + + The display mode for the major inside tic marks + ( property). + The major tic spacing is controlled by . + + true to show the major tic marks (inside the axis), + false otherwise + + + + The display mode for the major opposite tic marks + ( property). + The major tic spacing is controlled by . + + true to show the major tic marks + (inside the axis on the opposite side), + false otherwise + + + + The default display mode for the major outside + "cross" tic marks ( property). + + + The "cross" tics are a special, additional set of tic marks that + always appear on the actual axis, even if it has been shifted due + to the setting. The other tic marks are always + fixed to the edges of the . The cross tics + are normally not displayed, since, if is true, + they will exactly overlay the "normal" and "inside" tics. If + is false, then you will most likely want to + enable the cross tics. + The major tic spacing is controlled by . + + true to show the major cross tic marks, false otherwise + + + + The default display mode for the major inside + "cross" tic marks ( property). + + + The "cross" tics are a special, additional set of tic marks that + always appear on the actual axis, even if it has been shifted due + to the setting. The other tic marks are always + fixed to the edges of the . The cross tics + are normally not displayed, since, if is true, + they will exactly overlay the "normal" and "inside" tics. If + is false, then you will most likely want to + enable the cross tics. + The major tic spacing is controlled by . + + true to show the major cross tic marks, false otherwise + + + + The default color for major tics ( property). + + + + + Class that handles that stores the margin properties for the GraphPane + + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Private fields that store the size of the margin around the edge of the pane which will be + kept blank. Use the public properties , , + , to access these values. + + Units are points (1/72 inch) + + + + Private fields that store the size of the margin around the edge of the pane which will be + kept blank. Use the public properties , , + , to access these values. + + Units are points (1/72 inch) + + + + Private fields that store the size of the margin around the edge of the pane which will be + kept blank. Use the public properties , , + , to access these values. + + Units are points (1/72 inch) + + + + Private fields that store the size of the margin around the edge of the pane which will be + kept blank. Use the public properties , , + , to access these values. + + Units are points (1/72 inch) + + + + Constructor to build a from the default values. + + + + + Copy constructor + + the instance to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or sets a float value that determines the margin area between the left edge of the + rectangle and the features of the graph. + + This value is in units of points (1/72 inch), and is scaled + linearly with the graph size. + + + + + + + + + Gets or sets a float value that determines the margin area between the right edge of the + rectangle and the features of the graph. + + This value is in units of points (1/72 inch), and is scaled + linearly with the graph size. + + + + + + + + + Gets or sets a float value that determines the margin area between the top edge of the + rectangle and the features of the graph. + + This value is in units of points (1/72 inch), and is scaled + linearly with the graph size. + + + + + + + + + Gets or sets a float value that determines the margin area between the bottom edge of the + rectangle and the features of the graph. + + This value is in units of points (1/72 inch), and is scaled + linearly with the graph size. + + + + + + + + + Concurrently sets all outer margin values to a single value. + + This value is in units of points (1/72 inch), and is scaled + linearly with the graph size. + + + + + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A simple struct that defines the default property values for the class. + + + + + The default value for the property, which is + the size of the space on the left side of the . + + Units are points (1/72 inch) + + + + The default value for the property, which is + the size of the space on the right side of the . + + Units are points (1/72 inch) + + + + The default value for the property, which is + the size of the space on the top side of the . + + Units are points (1/72 inch) + + + + The default value for the property, which is + the size of the space on the bottom side of the . + + Units are points (1/72 inch) + + + + A collection class containing a list of objects + organized together in some form. + + + John Champion + $Revision: 3.26 $ $Date: 2007-11-05 18:28:56 $ + + + + Private field that holds a collection of objects for inclusion + in this . Use the public property + to access this collection. + + + + + Private field that sets the amount of space between the GraphPanes. Use the public property + to access this value; + + + + + Private field that stores a boolean value which signifies whether all + s in the chart use the same entries in their + If set to true, only one set of entries will be displayed in + this instance. If set to false, this instance will display all + entries from all s. + + + + + private field that determines if the + + function will automatically set + the of each in the + such that the scale factors have the same value. + + + + + private field that saves the paneLayout format specified when + was called. This value will + default to if + (or an overload) was never called. + + + + + Private field that stores the boolean value that determines whether + is specifying rows or columns. + + + + + private field that stores the row/column item count that was specified to the + method. This values will be + null if was never called. + + + + + private field that stores the row/column size proportional values as specified + to the method. This + value will be null if + was never called. + + + + + private field that determines if anti-aliased drawing will be forced on. Use the + public property to access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default pane layout for + + method calls. + + + + + + + + + + The default value for the property. + This is the size of the margin between adjacent + objects, in units of points (1/72 inch). + + + + + + The default value for the property for + the class. + + + + + The default value for the property. + + + + + The default value for the property. + + + + + Gets or sets the collection instance that holds the list of + objects that are included in this . + + + + + + + Gets or sets the size of the margin between adjacent + objects. + + This property is scaled according to , + based on . The default value comes from + . + + The value is in points (1/72nd inch). + + + + Gets or set the value of the + + + + + Gets or sets a value that determines if the + method will automatically set the + + of each in the such that the + scale factors have the same value. + + + The scale factors, calculated by , determine + scaled font sizes, tic lengths, etc. This function will insure that for + multiple graphpanes, a certain specified font size will be the same for + all the panes. + + + + + + + + + + Gets or sets a value that determines if all drawing operations for this + will be forced to operate in Anti-alias mode. + Note that if this value is set to "true", it overrides the setting for sub-objects. + Otherwise, the sub-object settings (such as ) + will be honored. + + + + + Default constructor for the class. Sets the to (0, 0, 500, 375). + + + + + Default constructor for the class. Specifies the of + the , and the size of the . + + + + + The Copy Constructor - Make a deep-copy clone of this class instance. + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of to make a deep copy. + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Respond to the callback when the MasterPane objects are fully initialized. + + + + + + Indexer to access the specified object from + by its ordinal position in the list. + + The ordinal position (zero-based) of the + object to be accessed. + A object reference. + + + + Indexer to access the specified object from + by its string. + + The string title of the + object to be accessed. + A object reference. + + + + Add a object to the collection at the end of the list. + + A reference to the object to + be added + + + + + Call for all objects in the + list. + + + This overload of AxisChange just uses a throw-away bitmap as Graphics. + If you have a Graphics instance available from your Windows Form, you should use + the overload instead. + + + + + Call for all objects in the + list. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + Redo the layout using the current size of the , + and also handle resizing the + contents by calling . + + This method will use the pane layout that was specified by a call to + . If + has not previously been called, + it will default to . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + + + + + Change the size of the , and also handle resizing the + contents by calling . + + This method will use the pane layout that was specified by a call to + . If + has not previously been called, + it will default to . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + + + + + + Method that forces the scale factor calculations + (via ), + to give a common scale factor for all objects in the + . + + + This will make it such that a given font size will result in the same output font + size for all 's. Note that this does not make the scale + factor for the 's the same as that of the + . + + + + + + Render all the objects in the to the + specified graphics device. + + This method should be part of the Paint() update process. Calling this routine + will redraw all + features of all the items. No preparation is required other than + instantiated objects that have been added to the list with the + method. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + Find the pane and the object within that pane that lies closest to the specified + mouse (screen) point. + + + This method first finds the within the list that contains + the specified mouse point. It then calls the + method to determine which object, if any, was clicked. With the exception of the + , all the parameters in this method are identical to those + in the method. + If the mouse point lies within the of any + item, then that pane will be returned (otherwise it will be + null). Further, within the selected pane, if the mouse point is within the + bounding box of any of the items (or in the case + of and , within + pixels), then the object will be returned. + You must check the type of the object to determine what object was + selected (for example, "if ( object is Legend ) ..."). The + parameter returns the index number of the item + within the selected object (such as the point number within a + object. + + The screen point, in pixel coordinates. + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + A reference to the object that was clicked. + A reference to the nearest object to the + specified screen point. This can be any of , + , , + , , or . + Note: If the pane title is selected, then the object + will be returned. + + The index number of the item within the selected object + (where applicable). For example, for a object, + will be the index number of the nearest data point, + accessible via CurveItem.Points[index]. + index will be -1 if no data points are available. + true if a was found, false otherwise. + + + + + Find the within the that contains the + within its . + + The mouse point location where you want to search + A object that contains the mouse point, or + null if no was found. + + + + Find the within the that contains the + within its . + + The mouse point location where you want to search + A object that contains the mouse point, or + null if no was found. + + + The SetLayout() methods setup the desired layout of the + objects within a . These functions + do not make any changes, they merely set the parameters so that future calls + to or + will use the desired layout.

+ The layout options include a set of "canned" layouts provided by the + enumeration, options to just set a specific + number of rows and columns of panes (and all pane sizes are the same), and more + customized options of specifying the number or rows in each column or the number of + columns in each row, along with proportional values that determine the size of each + individual column or row. +
+ + Automatically set all of the 's in + the list to a pre-defined layout configuration from a + enumeration. + + This method uses a enumeration to describe the type of layout + to be used. Overloads are available that provide other layout options + A enumeration that describes how + the panes should be laid out within the . + + A graphic device object to be drawn into. This is normally created with a call to + the CreateGraphics() method of the Control or Form. + + + + +
+ + + Automatically set all of the 's in + the list to a reasonable configuration. + + This method explicitly specifies the number of rows and columns to use + in the layout, and all objects will have the same size. + Overloads are available that provide other layout options + + A graphic device object to be drawn into. This is normally created with a call to + the CreateGraphics() method of the Control or Form. + + The number of rows of objects + to include in the layout + The number of columns of objects + to include in the layout + + + + + + + Automatically set all of the 's in + the list to the specified configuration. + + This method specifies the number of rows in each column, or the number of + columns in each row, allowing for irregular layouts. Overloads are available that + provide other layout options. + + + A graphic device object to be drawn into. This is normally created with a call to + the CreateGraphics() method of the Control or Form. + + Specifies whether the number of columns in each row, or + the number of rows in each column will be specified. A value of true indicates the + number of columns in each row are specified in . + An integer array specifying either the number of columns in + each row or the number of rows in each column, depending on the value of + . + + + + + + + Automatically set all of the 's in + the list to the specified configuration. + + This method specifies the number of panes in each row or column, allowing for + irregular layouts. + This method specifies the number of rows in each column, or the number of + columns in each row, allowing for irregular layouts. Additionally, a + parameter is provided that allows varying column or + row sizes. Overloads for SetLayout() are available that provide other layout options. + + + A graphic device object to be drawn into. This is normally created with a call to + the CreateGraphics() method of the Control or Form. + + Specifies whether the number of columns in each row, or + the number of rows in each column will be specified. A value of true indicates the + number of columns in each row are specified in . + An integer array specifying either the number of columns in + each row or the number of rows in each column, depending on the value of + . + An array of float values specifying proportional sizes for each + row or column. Note that these proportions apply to the non-specified dimension -- that is, + if is true, then these proportions apply to the row + heights, and if is false, then these proportions apply + to the column widths. The values in this array are arbitrary floats -- the dimension of + any given row or column is that particular proportional value divided by the sum of all + the values. For example, let be true, and + is an array with values of { 1.0, 2.0, 3.0 }. The sum of + those values is 6.0. Therefore, the first row is 1/6th of the available height, the + second row is 2/6th's of the available height, and the third row is 3/6th's of the + available height. + + + + + + + + Modify the sizes of each + such that they fit within the + in a pre-configured layout. + + The method (and overloads) is + used for setting the layout configuration. + + + + + + + + Internal method that applies a previously set layout with a specific + row and column count. This method is only called by + . + + + + + Internal method that applies a previously set layout with a rows per column or + columns per row configuration. This method is only called by + . + + + + + Class that holds the specific properties for the minor grid. + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Default constructor + + + + + Copy constructor + + The source to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Gets or sets a value that determines if the major gridlines + (at each labeled value) will be visible + + true to show the gridlines, false otherwise + Default.IsShowGrid. + + + + + + + + + The "Dash On" mode for drawing the grid. + + + This is the distance, + in points (1/72 inch), of the dash segments that make up the dashed grid lines. + + The dash on length is defined in points (1/72 inch) + + + . + + + + The "Dash Off" mode for drawing the grid. + + + This is the distance, + in points (1/72 inch), of the spaces between the dash segments that make up + the dashed grid lines. + + The dash off length is defined in points (1/72 inch) + + + . + + + + The pen width used for drawing the grid lines. + + The grid pen width is defined in points (1/72 inch) + + . + + + + + The color to use for drawing this grid. + + The color is defined using the + class + . + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A simple struct that defines the + default property values for the class. + + + + + The default "dash on" size for drawing the minor grid + ( property). Units are in points (1/72 inch). + + + + + The default "dash off" size for drawing the minor grid + ( property). Units are in points (1/72 inch). + + + + + The default pen width for drawing the minor grid + ( property). Units are in points (1/72 inch). + + + + + The default color for the minor grid lines + ( property). This color only affects the + minor grid lines. + + + + + The default display mode for the minor grid lines + ( property). true + to show the minor grid lines, false to hide them. + + + + + Class that holds the specific properties for the minor tics. + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Default Constructor + + + + + Copy constructor. + + The that is to be copied. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + The color to use for drawing the tics of this class instance + + The color is defined using the + class + . + + + + + + The length of the major tic marks. + + + This length will be scaled + according to the for the + + + The tic size is measured in points (1/72 inch) + . + + + + + + + Calculate the scaled tic size for this + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The scaled tic size, in points (1/72 inch) + + + + + + + This is convenience property sets the status of all the different + tic properties in this instance to the same value. true to activate all tics, + false to clear all tics. + + + This setting does not persist. That is, you can clear all the tics with + = false, then activate them individually (example: + = true). + + + + + + + + + + Gets or sets a property that determines whether or not the minor outside tic marks + are shown. + + + These are the tic marks on the outside of the border. + The minor tic spacing is controlled by . + + true to show the minor outside tic marks, false otherwise + . + + + + + + + + + Gets or sets a property that determines whether or not the major inside tic marks + are shown. + + + These are the tic marks on the inside of the border. + The major tic spacing is controlled by . + + true to show the major inside tic marks, false otherwise + . + + + + + + + + + Gets or sets a property that determines whether or not the major opposite tic marks + are shown. + + + These are the tic marks on the inside of the border on + the opposite side from the axis. + The major tic spacing is controlled by . + + true to show the major opposite tic marks, false otherwise + . + + + + + + + + + Gets or sets the display mode for the major outside + "cross" tic marks. + + + The "cross" tics are a special, additional set of tic marks that + always appear on the actual axis, even if it has been shifted due + to the setting. The other tic marks are always + fixed to the edges of the . The cross tics + are normally not displayed, since, if is true, + they will exactly overlay the "normal" and "inside" tics. If + is false, then you will most likely want to + enable the cross tics. + The major tic spacing is controlled by . + + true to show the major cross tic marks, false otherwise + + + + Gets or sets the display mode for the major inside + "cross" tic marks. + + + The "cross" tics are a special, additional set of tic marks that + always appear on the actual axis, even if it has been shifted due + to the setting. The other tic marks are always + fixed to the edges of the . The cross tics + are normally not displayed, since, if is true, + they will exactly overlay the "normal" and "inside" tics. If + is false, then you will most likely want to + enable the cross tics. + The major tic spacing is controlled by . + + true to show the major cross tic marks, false otherwise + + + + Gets or sets the pen width to be used when drawing the tic marks for + this + + The pen width is defined in points (1/72 inch) + . + + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A simple struct that defines the + default property values for the class. + + + + + The default size for the minor tic marks. + ( property). Units are in points (1/72 inch). + + + + + The default pen width for drawing the tic marks. + ( property). Units are in points (1/72 inch). + + + + + The display mode for the minor outside tic marks + ( property). + The minor tic spacing is controlled by . + + true to show the minor tic marks (outside the axis), + false otherwise + + + + The display mode for the minor inside tic marks + ( property). + The minor tic spacing is controlled by . + + true to show the minor tic marks (inside the axis), + false otherwise + + + + The display mode for the minor opposite tic marks + ( property). + The minor tic spacing is controlled by . + + true to show the minor tic marks + (inside the axis on the opposite side), + false otherwise + + + + The default display mode for the minor outside + "cross" tic marks ( property). + + + The "cross" tics are a special, additional set of tic marks that + always appear on the actual axis, even if it has been shifted due + to the setting. The other tic marks are always + fixed to the edges of the . The cross tics + are normally not displayed, since, if is true, + they will exactly overlay the "normal" and "inside" tics. If + is false, then you will most likely want to + enable the cross tics. + The minor tic spacing is controlled by . + + true to show the major cross tic marks, false otherwise + + + + The default display mode for the minor inside + "cross" tic marks ( property). + + + The "cross" tics are a special, additional set of tic marks that + always appear on the actual axis, even if it has been shifted due + to the setting. The other tic marks are always + fixed to the edges of the . The cross tics + are normally not displayed, since, if is true, + they will exactly overlay the "normal" and "inside" tics. If + is false, then you will most likely want to + enable the cross tics. + The major tic spacing is controlled by . + + true to show the major cross tic marks, false otherwise + + + + The default color for minor tics ( property). + + + + + Draw a tic mark at the specified single position. This includes the inner, outer, + cross and opposite tic marks as required. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + Graphic with which to draw the tic mark. + The pixel location of the tic mark on this + + The pixel value of the top of the axis border + The number of pixels to shift this axis, based on the + value of . A positive value is into the ChartRect relative to + the default axis position. + The scaled size of a minor tic, in pixel units + + + + A simple storage struct to maintain an individual sampling of data. This only + contains two data values in order to reduce to memory load for large datasets. + (e.g., no Tag or Z property) + + + + + The X value for the point, stored as a double type. + + + + + The Y value for the point, stored as a double type. + + + + + A collection class to maintain a set of samples. + + This type, intended for very + large datasets, will reduce the number of points displayed by eliminating + individual points that overlay (at the same pixel location) on the graph. + Note that this type probably does not make sense for line plots, but is intended + primarily for scatter plots. + + + John Champion + $Revision: 3.5 $ $Date: 2007-06-02 06:56:03 $ + + + + Protected field that stores a value indicating whether or not the data have been filtered. + If the data have not been filtered, then will be equal to + . Use the public property to + access this value. + + + + + Protected field that stores the number of data points after filtering (e.g., + has been called). The property + returns the total count for an unfiltered dataset, or + for a dataset that has been filtered. + + + + + Protected array of indices for all the points that are currently visible. This only + applies if is true. + + + + + Protected field that stores a value that determines how close a point must be to a prior + neighbor in order to be filtered out. Use the public property + to access this value. + + + + + Gets or sets a value that determines how close a point must be to a prior + neighbor in order to be filtered out. + + + A value of 0 indicates that subsequent + points must coincide exactly at the same pixel location. A value of 1 or more + indicates that number of pixels distance from a prior point that will cause + a new point to be filtered out. For example, a value of 2 means that, once + a particular pixel location is taken, any subsequent point that lies within 2 + pixels of that location will be filtered out. + + + + + Gets a value indicating whether or not the data have been filtered. If the data + have not been filtered, then will be equal to + . + + + + + Indexer: get the DataPoint instance at the specified ordinal position in the list + + + This method will throw an exception if the index is out of range. This can happen + if the index is less than the number of filtered values, or if data points are + removed from a filtered dataset with updating the filter (by calling + ). + + The ordinal position in the list of points + Returns a instance. The + and properties will be defaulted to + and null, respectively. + + + + + Gets the number of active samples in the collection. This is the number of + samples that are non-duplicates. See the property + to get the total number of samples in the list. + + + + + Gets the total number of samples in the collection. See the + property to get the number of active (non-duplicate) samples in the list. + + + + + Append a data point to the collection + + The value to append + + + + Append a point to the collection + + The x value of the point to append + The y value of the point to append + + + + typesafe clone method + + A new cloned NoDupePointList. This returns a copy of the structure, + but it does not duplicate the data (it just keeps a reference to the original) + + + + + default constructor + + + + + copy constructor -- this returns a copy of the structure, + but it does not duplicate the data (it just keeps a reference to the original) + + The NoDupePointList to be copied + + + + Protected method to access the internal DataPoint collection, without any + translation to a PointPair. + + The ordinal position of the DataPoint of interest + + + + Clears any filtering previously done by a call to . + After calling this method, all data points will be visible, and + will be equal to . + + + + + Go through the collection, and hide (filter out) any points that fall on the + same pixel location as a previously included point. + + + This method does not delete any points, it just temporarily hides them until + the next call to or . + You should call once your collection of points has + been constructed. You may need to call again if + you add points, or if the chart rect changes size (by resizing, printing, + image save, etc.), or if the scale range changes. + You must call before calling + this method so that the GraphPane.Chart.Rect + and the scale ranges are valid. This method is not valid for + ordinal axes (but ordinal axes don't make sense for very large datasets + anyway). + + The into which the data + will be plotted. + The class to be used in the Y direction + for plotting these data. This can be a or a + , and can be a primary or secondary axis (if multiple Y or Y2 + axes are being used). + + The class to be used in the X direction + for plotting these data. This can be an or a + . + + + + + The OrdinalScale class inherits from the class, and implements + the features specific to . + + + OrdinalScale is an ordinal axis with tic labels generated at integral values. An ordinal axis means that + all data points are evenly spaced at integral values, and the actual coordinate values + for points corresponding to that axis are ignored. That is, if the X axis is an + ordinal type, then all X values associated with the curves are ignored. + + + John Champion + $Revision: 1.8 $ $Date: 2007-04-16 00:03:02 $ + + + + Default constructor that defines the owner + (containing object) for this new object. + + The owner, or containing object, of this instance + + + + The Copy Constructor + + The object from which to copy + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + Return the for this , which is + . + + + + + Select a reasonable ordinal axis scale given a range of data values. + + + This method only applies to type axes, and it + is called by the general method. The scale range is chosen + based on increments of 1, 2, or 5 (because they are even divisors of 10). + Being an ordinal axis type, the value will always be integral. This + method honors the , , + and autorange settings. + In the event that any of the autorange settings are false, the + corresponding , , or + setting is explicitly honored, and the remaining autorange settings (if any) will + be calculated to accomodate the non-autoranged values. The basic defaults for + scale selection are defined using , + , and + from the default class. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to scale minor step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + An abstract base class that defines basic functionality for handling a pane. This class is the + parent class for and . + + + John Champion + $Revision: 3.32 $ $Date: 2007-11-05 18:28:56 $ + + + + The rectangle that defines the full area into which the pane is rendered. Units are pixels. + Use the public property to access this value. + + + + Private field that holds the main title of the pane. Use the + public property to access this value. + + + + Private field instance of the class. Use the + public property to access this class. + + + + Private field that stores the user-defined tag for this . This tag + can be any user-defined value. If it is a type, it can be used as + a parameter to the method. Use the public property + to access this value. + + + + + private field to store the margin values for this . Use the + public property to access this property. + + + + Private field that determines whether or not the fonts, tics, gaps, etc. + will be scaled according to the actual graph size. true for font and feature scaling + with graph size, false for fixed font sizes (scaleFactor = 1.0 constant). + Use the public property to access this value. + + + + + + Private field that controls whether or not pen widths are scaled according to the + size of the graph. This value is only applicable if + is true. If is false, then no scaling will be done, + regardless of the value of . + + true to scale the pen widths according to the size of the graph, + false otherwise. + + + + + + Private field that stores the data for the + background. Use the public property to + access this value. + + + + + Private field that stores the data for the + border. Use the public property to + access this value. + + + + Private field instance of the class. Use the + public property to access this class. + + + Private field that determines the base size of the pane, in inches. + Fonts, tics, gaps, etc. are scaled according to this base size. + Use the public property to access this value. + + + + + + private field that stores the gap between the bottom of the pane title and the + client area of the pane. This is expressed as a fraction of the title character height. + + + + + A simple struct that defines the default property values for the class. + + + + + The default display mode for the title at the top of the pane + ( property). true to + display a title, false otherwise. + + + + + The default font family for the title + ( property). + + + + + The default font size (points) for the + ( property). + + + + + The default font color for the + + ( property). + + + + + The default font bold mode for the + + ( property). true + for a bold typeface, false otherwise. + + + + + The default font italic mode for the + + ( property). true + for an italic typeface, false otherwise. + + + + + The default font underline mode for the + + ( property). true + for an underlined typeface, false otherwise. + + + + + The default border mode for the . + ( property). true + to draw a border around the , + false otherwise. + + + + + The default color for the border. + ( property). + + + + + The default color for the background. + ( property). + + + + + The default pen width for the border. + ( property). Units are in points (1/72 inch). + + + + + The default dimension of the , which + defines a normal sized plot. This dimension is used to scale the + fonts, symbols, etc. according to the actual size of the + . + + + + + + The default setting for the option. + true to have all pen widths scaled according to , + false otherwise. + + + + + + The default setting for the option. + true to have all fonts scaled according to , + false otherwise. + + + + + + The default value for the property, expressed as + a fraction of the scaled character height. + + + + + The rectangle that defines the full area into which all graphics + will be rendered. + + Note that this rectangle has x, y, width, and height. Most of the + GDI+ graphic primitive actually draw one pixel beyond those dimensions. For + example, for a rectangle of ( X=0, Y=0, Width=100, Height=100 ), GDI+ would + draw into pixels 0 through 100, which is actually 101 pixels. For the + ZedGraph Rect, a Width of 100 pixels means that pixels 0 through 99 are used + Units are pixels. + + + + + Accesses the for this + + A reference to a object + + + + Gets the instance that contains the text and attributes of the title. + This text can be multiple lines separated by newline characters ('\n'). + + + + + + + + + + + + Gets or sets the user-defined tag for this . This tag + can be any user-defined value. If it is a type, it can be used as + a parameter to the method. + + + Note that, if you are going to Serialize ZedGraph data, then any type + that you store in must be a serializable type (or + it will cause an exception). + + + + + Gets or sets the class for drawing the border + border around the + + + + + + + Gets or sets the data for the + filling the background of the . + + + + + Gets or sets the list of items for this + + A reference to a collection object + + + + Gets or sets the instance that controls the space between + the edge of the and the rendered content of the graph. + + + + + BaseDimension is a double precision value that sets "normal" pane size on + which all the settings are based. The BaseDimension is in inches. For + example, if the BaseDimension is 8.0 inches and the + size is 14 points. Then the pane title font + will be 14 points high when the is approximately 8.0 + inches wide. If the Rect is 4.0 inches wide, the pane title font will be + 7 points high. Most features of the graph are scaled in this manner. + + The base dimension reference for the , in inches + + + + + + + Gets or sets the gap between the bottom of the pane title and the + client area of the pane. This is expressed as a fraction of the scaled + character height. + + + + + Determines if the font sizes, tic sizes, gap sizes, etc. will be scaled according to + the size of the and the . If this + value is set to false, then the font sizes and tic sizes will always be exactly as + specified, without any scaling. + + True to have the fonts and tics scaled, false to have them constant + + + + + Gets or sets the property that controls whether or not pen widths are scaled for this + . + + This value is only applicable if + is true. If is false, then no scaling will be done, + regardless of the value of . Note that scaling the pen + widths can cause "artifacts" to appear at typical screen resolutions. This occurs + because of roundoff differences; in some cases the pen width may round to 1 pixel wide + and in another it may round to 2 pixels wide. The result is typically undesirable. + Therefore, this option defaults to false. This option is primarily useful for high + resolution output, such as printer output or high resolution bitmaps (from + ) where it is desirable to have the pen width + be consistent with the screen image. + + true to scale the pen widths according to the size of the graph, + false otherwise. + + + + + + Default constructor for the class. Leaves the empty. + + + + + Default constructor for the class. Specifies the of + the , and the size of the . + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of Clone + + + Note that this method must be called with an explicit cast to ICloneable, and + that it is inherently virtual. For example: + + ParentClass foo = new ChildClass(); + ChildClass bar = (ChildClass) ((ICloneable)foo).Clone(); + + Assume that ChildClass is inherited from ParentClass. Even though foo is declared with + ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation + of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function. + + A deep copy of this object + + + + Create a shallow, memberwise copy of this class. + + + Note that this method uses MemberWiseClone, which will copy all + members (shallow) including those of classes derived from this class. + a new copy of the class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Do all rendering associated with this to the specified + device. This abstract method is implemented by the child + classes. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + + + Calculate the client area rectangle based on the . + + The client rectangle is the actual area available for + or items after taking out space for the margins and the title. + This method does not take out the area required for the . + To do so, you must separately call . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + The calculated chart rect, in pixel coordinates. + + + + Draw the border _border around the area. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + + + + Draw the on the graph, centered at the top of the pane. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + + + + Change the size of the . Override this method to handle resizing the contents + as required. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The new size for the . + + + + Calculate the scaling factor based on the ratio of the current dimensions and + the . + + This scaling factor is used to proportionally scale the + features of the so that small graphs don't have huge fonts, and vice versa. + The scale factor represents a linear multiple to be applied to font sizes, symbol sizes, tic sizes, + gap sizes, pen widths, etc. The units of the scale factor are "World Pixels" per "Standard Point". + If any object size, in points, is multiplied by this scale factor, the result is the size, in pixels, + that the object should be drawn using the standard GDI+ drawing instructions. A "Standard Point" + is a dimension based on points (1/72nd inch) assuming that the size + matches the . + Note that "World Pixels" will still be transformed by the GDI+ transform matrices to result + in "Output Device Pixels", but "World Pixels" are the reference basis for the drawing commands. + + + A value representing the scaling factor to use for the rendering calculations. + + + + + + Calculate the scaled pen width, taking into account the scaleFactor and the + setting of the property of the pane. + + The pen width, in points (1/72 inch) + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + The scaled pen width, in world pixels + + + + Build a object containing the graphical rendering of + all the objects in this list. + + A object rendered with the current graph. + + + + + + + Build a object containing the graphical rendering of + all the objects in this list. + + A object rendered with the current graph. + + + + + + + Gets an image for the current GraphPane, scaled to the specified size and resolution. + + The scaled width of the bitmap in pixels + The scaled height of the bitmap in pixels + The resolution of the bitmap, in dots per inch + true for anti-aliased rendering, false otherwise + + + + + + + + Gets an image for the current GraphPane, scaled to the specified size and resolution. + + The scaled width of the bitmap in pixels + The scaled height of the bitmap in pixels + The resolution of the bitmap, in dots per inch + + + + + + + + Setup a instance with appropriate antialias settings. + + + No settings are modified if is set to false. This method + does not restore original settings, it presumes that the Graphics instance will be + disposed. + An existing instance + true to render in anti-alias mode, false otherwise + + + + Gets an enhanced metafile image for the current GraphPane, scaled to the specified size. + + + By definition, a Metafile is a vector drawing, and therefore scaling should not matter. + However, this method is provided because certain options in Zedgraph, such as + are affected by the size of the expected image. + + The "effective" scaled width of the bitmap in pixels + The "effective" scaled height of the bitmap in pixels + true to use anti-aliased drawing mode, false otherwise + + + + + + + Gets an enhanced metafile image for the current GraphPane, scaled to the specified size. + + + By definition, a Metafile is a vector drawing, and therefore scaling should not matter. + However, this method is provided because certain options in Zedgraph, such as + are affected by the size of the expected image. + + The "effective" scaled width of the bitmap in pixels + The "effective" scaled height of the bitmap in pixels + + + + + + + Gets an enhanced metafile image for the current GraphPane. + + + + + + + + A collection class containing a list of objects. + + + John Champion + $Revision: 3.6 $ $Date: 2006-06-24 20:26:43 $ + + + + Default constructor for the collection class. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Indexer to access the specified object by + its string. + + The string title of the + object to be accessed. + A object reference. + + + + Return the zero-based position index of the + with the specified . + + The comparison of titles is not case sensitive, but it must include + all characters including punctuation, spaces, etc. + The label that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the was not found in the list + + + + + Return the zero-based position index of the + with the specified . + + In order for this method to work, the + property must be of type . + The tag that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the string is not in the list + + + + A class representing a pie chart object comprised of one or more + s. + + Bob Kaye + $Revision: 1.32 $ $Date: 2007-07-30 05:26:23 $ + + + + Percentage (expressed as #.##) of radius to + which this is to be displaced from the center. + Displacement is done outward along the radius + bisecting the chord of this . Maximum allowable value + is 0.5. + + + + + A which will customize the label display of this + + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that stores the class that defines the + properties of the border around this . Use the public + property to access this value. + + + + + Private field that stores the absolute value of this instance. + Value will be set to zero if submitted value is less than zero. + + + + + An enum that specifies how each for this object + will be displayed. Use the public property to access this data. + Use enum . + + + + + The point on the arc of this representing the intersection of + the arc and the explosion radius. + + + + + The bounding rectangle for this . + + + + + The formatted string for this 's label. Formatting is + done based on the . + + + + + The point at which the line between this and its + label bends to the horizontal. + + + + + The point at the end of the line between this and + it's label (i.e. the beginning of the label display) + + + + + Private field to hold the GraphicsPath of this to be + used for 'hit testing'. + + + + + Private field which holds the angle (in degrees) at which the display of this + object will begin. + + + + + Private field which holds the length (in degrees) of the arc representing this + object. + + + + + Private field which represents the angle (in degrees) of the radius along which this + object will be displaced, if desired. + + + + + Private field which determines the number of decimal digits displayed to + in a label containing a value. + + + + + Private field which determines the number of decimal digits displayed + in a label containing a percent. + + + + + Specify the default property values for the class. + + + + + Default displacement. + + + + + The default pen width to be used for drawing the border around the PieItem + ( property). Units are points. + + + + + The default fill mode for this PieItem ( property). + + + + + The default border mode for PieItem ( property). + true to display frame around PieItem, false otherwise + + + + + The default color for drawing frames around PieItem + ( property). + + + + + The default color for filling in the PieItem + ( property). + + + + + The default custom brush for filling in the PieItem. + ( property). + + + + + Default value for controlling display. + + + + + Default value for . + + + + + The default font size for entries + ( property). Units are + in points (1/72 inch). + + + + + Default value for the number of decimal digits + to be displayed when contains a value. + + + + + Default value for the number of decimal digits + to be displayed where contains a percent. + + + + + Gets or sets the a value which determines the amount, if any, of this + displacement. + + + + + Gets a path representing this + + + + + Gets or sets the to be used + for displaying this 's label. + + + + + Gets or sets the object so as to be able to modify + its properties. + + + + + Gets or sets the object which is used to fill the + pie slice with color. + + + + + Gets or sets the arc length (in degrees) of this . + + + + + Gets or sets the starting angle (in degrees) of this . + + + + + Gets or sets the angle (in degrees) of the radius along which + this will be displaced. + + + + + Gets or sets the value of this . + Minimum value is 0. + + + + + Gets or sets the to be used in displaying + labels. + + + + + Gets or sets the number of decimal digits to be displayed in a + value label. + + + + + Gets or sets the number of decimal digits to be displayed in a + percent label. + + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + The parent of this . + + true if the Z data are included, false otherwise + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Create a new , providing a gradient fill for the pie color. + + The value associated with this instance. + The starting display color for the gradient for this + instance. + The ending display color for the gradient for this + instance. + The angle for the gradient . + The amount this instance will be + displaced from the center point. + Text label for this instance. + + + + Create a new . + + The value associated with this instance. + The display color for this instance. + The amount this instance will be + displaced from the center point. + Text label for this instance. + + + + Create a new . + + The value associated with this instance. + Text label for this instance + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Do all rendering associated with this item to the specified + device. This method is normally only + called by the Draw method of the parent + collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + Not used for rendering Piesparam> + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Calculate the that will be used to define the bounding rectangle of + the Pie. + + This rectangle always lies inside of the , and it is + normally a square so that the pie itself is not oval-shaped. + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + The (normally the ) + that bounds this pie. + + + + + Recalculate the bounding rectangle when a piee slice is displaced. + + rectangle to be used for drawing exploded pie + + + + Calculate the values needed to properly display this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + maximum slice displacement + + + + Render the label for this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + Bounding rectangle for this . + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + This method collects all the data relative to rendering this 's label. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The rectangle used for rendering this + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + + + + + + + + Build the string that will be displayed as the slice label as determined by + . + + reference to the + + + + A method which calculates a new size for the bounding rectangle for the non-displaced + 's in the pie chart. This method is called after it is found + that at least one slice is displaced. + + The biggest displacement among the s + making up the pie chart. + The current bounding rectangle + + + + Draw a legend key entry for this at the specified location + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The struct that specifies the + location for the legend key + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine the coords for the rectangle associated with a specified point for + this + + The to which this curve belongs + The index of the point of interest + A list of coordinates that represents the "rect" for + this point (used in an html AREA tag) + true if it's a valid point, false otherwise + + + + Simple struct that stores X and Y coordinates as doubles. + + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + The X coordinate + + + + + The Y coordinate + + + + + Construct a object from two double values. + + The X coordinate + The Y coordinate + + + + A simple point represented by an (X,Y,Z) group of double values. + + + Jerry Vos modified by John Champion + $Revision: 3.26 $ $Date: 2007-11-28 02:38:22 $ + + + + This PointPair's Z coordinate. Also used for the lower value (dependent axis) + for and charts. + + + + + A tag object for use by the user. This can be used to store additional + information associated with the . ZedGraph never + modifies this value, but if it is a type, it + may be displayed in a + within the object. + + + Note that, if you are going to Serialize ZedGraph data, then any type + that you store in must be a serializable type (or + it will cause an exception). + + + + + Default Constructor + + + + + Creates a point pair with the specified X and Y. + + This pair's x coordinate. + This pair's y coordinate. + + + + Creates a point pair with the specified X, Y, and + label (). + + This pair's x coordinate. + This pair's y coordinate. + This pair's string label () + + + + Creates a point pair with the specified X, Y, and base value. + + This pair's x coordinate. + This pair's y coordinate. + This pair's z or lower dependent coordinate. + + + + Creates a point pair with the specified X, Y, base value, and + string label (). + + This pair's x coordinate. + This pair's y coordinate. + This pair's z or lower dependent coordinate. + This pair's string label () + + + + Creates a point pair with the specified X, Y, base value, and + (). + + This pair's x coordinate. + This pair's y coordinate. + This pair's z or lower dependent coordinate. + This pair's property + + + + Creates a point pair from the specified struct. + + The struct from which to get the + new values. + + + + The PointPair copy constructor. + + The basis for the copy. + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Readonly value that determines if either the X, Y, or Z + coordinate in this PointPair is an invalid (not plotable) value. + It is considered invalid if it is missing (equal to System.Double.Max), + Infinity, or NaN. + + true if any value is invalid + + + + The "low" value for this point (lower dependent-axis value). + This is really just an alias for . + + The lower dependent value for this . + + + + The ColorValue property is just an alias for the + property. + + + For other types, such as the , the + can be mapped to a unique value. This is used with the + option. + + + + + Compares points based on their y values. Is setup to be used in an + ascending order sort. + + + + + + Compares two s. + + Point to the left. + Point to the right. + -1, 0, or 1 depending on l.Y's relation to r.Y + + + + Compares points based on their x values. Is setup to be used in an + ascending order sort. + + + + + + Constructor for PointPairComparer. + + The axis type on which to sort. + + + + Compares two s. + + Point to the left. + Point to the right. + -1, 0, or 1 depending on l.X's relation to r.X + + + + Compare two objects for equality. To be equal, X, Y, and Z + must be exactly the same between the two objects. + + The object to be compared with. + true if the objects are equal, false otherwise + + + + Return the HashCode from the base class. + + + + + + Format this PointPair value using the default format. Example: "( 12.345, -16.876 )". + The two double values are formatted with the "g" format type. + + true to show the third "Z" or low dependent value coordinate + A string representation of the PointPair + + + + Format this PointPair value using a general format string. + Example: a format string of "e2" would give "( 1.23e+001, -1.69e+001 )". + If + is true, then the third "Z" coordinate is also shown. + + A format string that will be used to format each of + the two double type values (see ). + A string representation of the PointPair + true to show the third "Z" or low dependent value coordinate + + + + Format this PointPair value using different general format strings for the X, Y, and Z values. + Example: a format string of "e2" would give "( 1.23e+001, -1.69e+001 )". + + A format string that will be used to format the X + double type value (see ). + A format string that will be used to format the Y + double type value (see ). + A format string that will be used to format the Z + double type value (see ). + A string representation of the PointPair + + + + The basic class holds three data values (X, Y, Z). This + class extends the basic PointPair to contain four data values (X, Y, Z, T). + + + John Champion + $Revision: 3.3 $ $Date: 2007-03-17 18:43:44 $ + + + + This PointPair4's T coordinate. + + + + + Default Constructor + + + + + Creates a point pair with the specified X, Y, Z, and T value. + + This pair's x coordinate. + This pair's y coordinate. + This pair's z coordinate. + This pair's t coordinate. + + + + Creates a point pair with the specified X, Y, base value, and + label (). + + This pair's x coordinate. + This pair's y coordinate. + This pair's z coordinate. + This pair's t coordinate. + This pair's string label () + + + + The PointPair4 copy constructor. + + The basis for the copy. + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Readonly value that determines if either the X, Y, Z, or T + coordinate in this PointPair4 is an invalid (not plotable) value. + It is considered invalid if it is missing (equal to System.Double.Max), + Infinity, or NaN. + + true if any value is invalid + + + + Format this PointPair4 value using the default format. Example: "( 12.345, -16.876 )". + The two double values are formatted with the "g" format type. + + true to show the third "Z" and fourth "T" value coordinates + A string representation of the PointPair4 + + + + Format this PointPair value using a general format string. + Example: a format string of "e2" would give "( 1.23e+001, -1.69e+001 )". + If + is true, then the third "Z" coordinate is also shown. + + A format string that will be used to format each of + the two double type values (see ). + A string representation of the PointPair + true to show the third "Z" or low dependent value coordinate + + + + Format this PointPair value using different general format strings for the X, Y, and Z values. + Example: a format string of "e2" would give "( 1.23e+001, -1.69e+001 )". + + A format string that will be used to format the X + double type value (see ). + A format string that will be used to format the Y + double type value (see ). + A format string that will be used to format the Z + double type value (see ). + A format string that will be used to format the T + double type value (see ). + A string representation of the PointPair + + + + This is a base class that provides base-level functionality for a data point consisting + of an (X,Y) pair of double values. + + + This class is typically a base class for actual type implementations. + + + Jerry Vos modified by John Champion + $Revision: 1.4 $ $Date: 2007-04-16 00:03:02 $ + + + + Missing values are represented internally using . + + + + + The default format to be used for displaying point values via the + method. + + + + + This PointPair's X coordinate + + + + + This PointPair's Y coordinate + + + + + Default Constructor + + + + + Creates a point pair with the specified X and Y. + + This pair's x coordinate. + This pair's y coordinate. + + + + Creates a point pair from the specified struct. + + The struct from which to get the + new values. + + + + The PointPairBase copy constructor. + + The basis for the copy. + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Readonly value that determines if either the X or the Y + coordinate in this PointPair is a missing value. + + true if either value is missing + + + + Readonly value that determines if either the X or the Y + coordinate in this PointPair is an invalid (not plotable) value. + It is considered invalid if it is missing (equal to System.Double.Max), + Infinity, or NaN. + + true if either value is invalid + + + + static method to determine if the specified point value is invalid. + + The value is considered invalid if it is , + , + or . + The value to be checked for validity. + true if the value is invalid, false otherwise + + + + Implicit conversion from PointPair to PointF. Note that this conversion + can result in data loss, since the data are being cast from a type + double (64 bit) to a float (32 bit). + + The PointPair struct on which to operate + A PointF struct equivalent to the PointPair + + + + Compare two objects for equality. To be equal, X and Y + must be exactly the same between the two objects. + + The object to be compared with. + true if the objects are equal, false otherwise + + + + Return the HashCode from the base class. + + + + + + Format this PointPair value using the default format. Example: "( 12.345, -16.876 )". + The two double values are formatted with the "g" format type. + + A string representation of the PointPair + + + + Format this PointPair value using a general format string. + Example: a format string of "e2" would give "( 1.23e+001, -1.69e+001 )". + + A format string that will be used to format each of + the two double type values (see ). + A string representation of the PointPair + + + + Format this PointPair value using different general format strings for the X and Y values. + Example: a format string of "e2" would give "( 1.23e+001, -1.69e+001 )". + The Z value is not displayed (see ). + + A format string that will be used to format the X + double type value (see ). + A format string that will be used to format the Y + double type value (see ). + A string representation of the PointPair + + + + A simple instance that stores a data point (X, Y, Z). This differs from a regular + in that it maps the property + to an independent value. That is, and + are not related (as they are in the + ). + + + + + This is a user value that can be anything. It is used to provide special + property-based coloration to the graph elements. + + + + + Creates a point pair with the specified X, Y, and base value. + + This pair's x coordinate. + This pair's y coordinate. + This pair's z or lower dependent coordinate. + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + The ColorValue property. This is used with the + option. + + + + + A collection class containing a list of objects + that define the set of points to be displayed on the curve. + + + + + Jerry Vos based on code by John Champion + modified by John Champion + $Revision: 3.37 $ $Date: 2007-06-29 15:39:07 $ + + + Private field to maintain the sort status of this + . Use the public property + to access this value. + + + + + true if the list is currently sorted. + + + + + + Default constructor for the collection class + + + + + Constructor to initialize the PointPairList from two arrays of + type double. + + + + + Constructor to initialize the PointPairList from an IPointList + + + + + Constructor to initialize the PointPairList from three arrays of + type double. + + + + + The Copy Constructor + + The PointPairList from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Add a object to the collection at the end of the list. + + The object to + be added + The zero-based ordinal index where the point was added in the list. + + + + Add a object to the collection at the end of the list. + + A reference to the object to + be added + The zero-based ordinal index where the last point was added in the list, + or -1 if no points were added. + + + + Add a set of points to the PointPairList from two arrays of type double. + If either array is null, then a set of ordinal values is automatically + generated in its place (see . + If the arrays are of different size, then the larger array prevails and the + smaller array is padded with values. + + A double[] array of X values + A double[] array of Y values + The zero-based ordinal index where the last point was added in the list, + or -1 if no points were added. + + + + Add a set of points to the from three arrays of type double. + If the X or Y array is null, then a set of ordinal values is automatically + generated in its place (see . If the + is null, then it is set to zero. + If the arrays are of different size, then the larger array prevails and the + smaller array is padded with values. + + A double[] array of X values + A double[] array of Y values + A double[] array of Z or lower-dependent axis values + The zero-based ordinal index where the last point was added in the list, + or -1 if no points were added. + + + + Add a single point to the from values of type double. + + The X value + The Y value + The zero-based ordinal index where the point was added in the list. + + + + Add a single point to the from values of type double. + + The X value + The Y value + The Tag value for the PointPair + The zero-based ordinal index where the point was added in the list. + + + + Add a single point to the from values of type double. + + The X value + The Y value + The Z or lower dependent axis value + The zero-based ordinal index where the point was added + in the list. + + + + Add a single point to the from values of type double. + + The X value + The Y value + The Z or lower dependent axis value + The Tag value for the PointPair + The zero-based ordinal index where the point was added + in the list. + + + + Add a object to the collection at the specified, + zero-based, index location. + + + The zero-based ordinal index where the point is to be added in the list. + + + The object to be added. + + + + + Add a single point (from values of type double ) to the at the specified, + zero-based, index location. + + + The zero-based ordinal index where the point is to be added in the list. + + The X value + The Y value + + + + Add a single point (from values of type double ) to the at the specified, + zero-based, index location. + + + The zero-based ordinal index where the point is to be added in the list. + + The X value + The Y value + The Z or lower dependent axis value + + + + Return the zero-based position index of the + with the specified label . + + The object must be of type + for this method to find it. + The label that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the is not in the list + + + + Compare two objects to see if they are equal. + + Equality is based on equal count of items, and + each individual must be equal (as per the + method. + The to be compared with for equality. + true if the objects are equal, false otherwise. + + + + Return the HashCode from the base class. + + + + + + Sorts the list according to the point x values. Will not sort the + list if the list is already sorted. + + If the list was sorted before sort was called + + + + Sorts the list according to the point values . Will not sort the + list if the list is already sorted. + + The + used to determine whether the X or Y values will be used to sort + the list + If the list was sorted before sort was called + + + + Set the X values for this from the specified + array of double values. + + + If has more values than + this list, then the extra values will be ignored. If + has less values, then the corresponding values + will not be changed. That is, if the has 20 values + and has 15 values, then the first 15 values of the + will be changed, and the last 5 values will not be + changed. + + An array of double values that will replace the existing X + values in the . + + + + Set the Y values for this from the specified + array of double values. + + + If has more values than + this list, then the extra values will be ignored. If + has less values, then the corresponding values + will not be changed. That is, if the has 20 values + and has 15 values, then the first 15 values of the + will be changed, and the last 5 values will not be + changed. + + An array of double values that will replace the existing Y + values in the . + + + + Set the Z values for this from the specified + array of double values. + + + If has more values than + this list, then the extra values will be ignored. If + has less values, then the corresponding values + will not be changed. That is, if the has 20 values + and has 15 values, then the first 15 values of the + will be changed, and the last 5 values will not be + changed. + + An array of double values that will replace the existing Z + values in the . + + + + Add the Y values from the specified object to this + . If has more values than + this list, then the extra values will be ignored. If + has less values, the missing values are assumed to be zero. + + A reference to the object to + be summed into the this . + + + + Add the X values from the specified object to this + . If has more values than + this list, then the extra values will be ignored. If + has less values, the missing values are assumed to be zero. + + A reference to the object to + be summed into the this . + + + + Linearly interpolate the data to find an arbitraty Y value that corresponds to the specified X value. + + + This method uses linear interpolation with a binary search algorithm. It therefore + requires that the x data be monotonically increasing. Missing values are not allowed. This + method will extrapolate outside the range of the PointPairList if necessary. + + The target X value on which to interpolate + The Y value that corresponds to the value. + + + + Use Cardinal Splines to Interpolate the data to find an arbitraty Y value that corresponds to + the specified X value. + + + This method uses cardinal spline interpolation with a binary search algorithm. It therefore + requires that the x data be monotonically increasing. Missing values are not allowed. This + method will not extrapolate outside the range of the PointPairList (it returns + if extrapolation would be required). WARNING: Cardinal + spline interpolation can generate curves with non-unique X values for higher tension + settings. That is, there may be multiple X values for the same Y value. This routine + follows the path of the spline curve until it reaches the FIRST OCCURRENCE of the + target X value. It does not check to see if other solutions are possible. + + The target X value on which to interpolate + The tension setting that controls the curvature of the spline fit. + Typical values are between 0 and 1, where 0 is a linear fit, and 1 is lots of "roundness". + Values greater than 1 may give odd results. + + The Y value that corresponds to the value. + + + + Linearly interpolate the data to find an arbitraty X value that corresponds to the specified Y value. + + + This method uses linear interpolation with a binary search algorithm. It therefore + requires that the Y data be monotonically increasing. Missing values are not allowed. This + method will extrapolate outside the range of the PointPairList if necessary. + + The target Y value on which to interpolate + The X value that corresponds to the value. + + + + Use linear regression to form a least squares fit of an existing + instance. + + The output will cover the + same X range of data as the original dataset. + + An instance containing + the data to be regressed. + The number of desired points to be included + in the resultant . + + A new containing the resultant + data fit. + + + + + Use linear regression to form a least squares fit of an existing + instance. + + An instance containing + the data to be regressed. + The number of desired points to be included + in the resultant . + + The minimum X value of the resultant + . + The maximum X value of the resultant + . + A new containing the resultant + data fit. + + Brian Chappell - lazarusds + modified by John Champion + + + + A class that represents a bordered and/or filled polygon object on + the graph. A list of objects is maintained by + the collection class. + + + John Champion + $Revision: 3.4 $ $Date: 2007-01-25 07:56:09 $ + + + + private value that determines if the polygon will be automatically closed. + true to close the figure, false to leave it "open." Use the public property + to access this value. + + + + + Gets or sets the array that defines + the polygon. This will be in units determined by + . + + + + + Gets or sets a value that determines if the polygon will be automatically closed. + true to close the figure, false to leave it "open." + + + This boolean determines whether or not the CloseFigure() method will be called + to fully close the path of the polygon. This value defaults to true, and for any + closed figure it should fine. If you want to draw a line that does not close into + a shape, then you should set this value to false. For a figure that is naturally + closed (e.g., the first point of the polygon is the same as the last point), + leaving this value set to false may result in minor pixel artifacts due to + rounding. + + + + Constructors for the object + + A constructor that allows the position, border color, and solid fill color + of the to be pre-specified. + + An arbitrary specification + for the box border + An arbitrary specification + for the box fill (will be a solid color fill) + The array that defines + the polygon. This will be in units determined by + . + + + + + A constructor that allows the position + of the to be pre-specified. Other properties are defaulted. + + The array that defines + the polygon. This will be in units determined by + . + + + + + A default constructor that creates a from an empty + array. Other properties are defaulted. + + + + + A constructor that allows the position, border color, and two-color + gradient fill colors + of the to be pre-specified. + + An arbitrary specification + for the box border + An arbitrary specification + for the start of the box gradient fill + An arbitrary specification + for the end of the box gradient fill + The array that defines + the polygon. This will be in units determined by + . + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render this object to the specified device. + + + This method is normally only called by the Draw method + of the parent collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine if the specified screen point lies inside the bounding box of this + . + + The screen point, in pixels + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + true if the point lies in the bounding box, false otherwise + + + + A class containing a set of data values to be plotted as a RadarPlot. + This class will effectively convert the data into objects + by converting the polar coordinates to rectangular coordinates + + + + + + Jerry Vos and John Champion + $Revision: 3.5 $ $Date: 2007-04-16 00:03:02 $ + + + + Default to clockwise rotation as this is the standard for radar charts + + + + + Default to 90 degree rotation so main axis is in the 12 o'clock position, + which is the standard for radar charts. + + + + + Indexer to access the specified object by + its ordinal position in the list. This method does the calculations + to convert the data from polar to rectangular coordinates. + + The ordinal position (zero-based) of the + object to be accessed. + A object reference. + + + + Indicates if points should be added in clockwise or counter-clockwise order + + + + + Sets the angular rotation (starting angle) for the initial axis + + + + + Get the raw data + + + + + + + gets the number of points available in the list + + + + + Default Constructor + + + + + Copy Constructor + + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Add a single point to the from two values of type double. + + The radial coordinate value + The 'Z' coordinate value, which is not normally used for plotting, + but can be used for type fills + The zero-based ordinal index where the point was added in the list. + + + + A class that provides a rolling list of objects. + This is essentially a + first-in-first-out (FIFO) queue with a fixed capacity which allows 'rolling' + (or oscilloscope like) graphs to be be animated without having the overhead of an + ever-growing ArrayList. + + The queue is constructed with a fixed capacity and new points can be enqueued. When the + capacity is reached the oldest (first in) PointPair is overwritten. However, when + accessing via , the objects are + seen in the order in which they were enqeued. + + RollingPointPairList supports data editing through the + interface. + + Colin Green with mods by John Champion + $Date: 2007-11-05 04:33:26 $ + + + + + An array of PointPair objects that acts as the underlying buffer. + + + + + The index of the previously enqueued item. -1 if buffer is empty. + + + + + The index of the next item to be dequeued. -1 if buffer is empty. + + + + + Constructs an empty buffer with the specified capacity. + + Number of elements in the rolling list. This number + cannot be changed once the RollingPointPairList is constructed. + + + + Constructs an empty buffer with the specified capacity. Pre-allocates space + for all PointPair's in the list if is true. + + Number of elements in the rolling list. This number + cannot be changed once the RollingPointPairList is constructed. + true to pre-allocate all PointPair instances in + the list, false otherwise. Note that in order to be memory efficient, + the method should be used to add + data. Avoid the method. + + + + + + Constructs a buffer with a copy of the items within the provided + . + The is set to the length of the provided list. + + The to be copied. + + + + Gets the capacity of the rolling buffer. + + + + + Gets the count of items within the rolling buffer. Note that this may be less than + the capacity. + + + + + Gets a bolean that indicates if the buffer is empty. + Alternatively you can test Count==0. + + + + + Gets or sets the at the specified index in the buffer. + + + Index must be within the current size of the buffer, e.g., the set + method will not expand the buffer even if is available + + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Clear the buffer of all objects. + Note that the remains unchanged. + + + + + Calculate that the next index in the buffer that should receive a new data point. + Note that this method actually advances the buffer, so a datapoint should be + added at _mBuffer[_headIdx]. + + The index position of the new head element + + + + Add a onto the head of the queue, + overwriting old values if the buffer is full. + + The to be added. + + + + Add an object to the head of the queue. + + A reference to the object to + be added + + + + Remove an old item from the tail of the queue. + + The removed item. Throws an + if the buffer was empty. + Check the buffer's length () or the + property to avoid exceptions. + + + + Remove the at the specified index + + + All items in the queue that lie after will + be shifted back by one, and the queue will be one item shorter. + + The ordinal position of the item to be removed. + Throws an if index is less than + zero or greater than or equal to + + + + + Remove a range of objects starting at the specified index + + + All items in the queue that lie after will + be shifted back, and the queue will be items shorter. + + The ordinal position of the item to be removed. + Throws an if index is less than + zero or greater than or equal to + + The number of items to be removed. Throws an + if is less than zero + or greater than the total available items in the queue + + + + Pop an item off the head of the queue. + + The popped item. Throws an exception if the buffer was empty. + + + + Peek at the item at the head of the queue. + + The item at the head of the queue. + Throws an if the buffer was empty. + + + + + Add a set of values onto the head of the queue, + overwriting old values if the buffer is full. + + + This method is much more efficient that the Add(PointPair) + method, since it does not require that a new PointPair instance be provided. + If the buffer already contains a at the head position, + then the x, y, z, and tag values will be copied into the existing PointPair. + Otherwise, a new PointPair instance must be created. + In this way, each PointPair position in the rolling list will only be allocated one time. + To truly be memory efficient, the , , + and methods should be avoided. Also, the property + for this method should be null, since it is a reference type. + + The X value + The Y value + The Z value + The Tag value for the PointPair + + + + Add a set of values onto the head of the queue, + overwriting old values if the buffer is full. + + + This method is much more efficient that the Add(PointPair) + method, since it does not require that a new PointPair instance be provided. + If the buffer already contains a at the head position, + then the x, y, z, and tag values will be copied into the existing PointPair. + Otherwise, a new PointPair instance must be created. + In this way, each PointPair position in the rolling list will only be allocated one time. + To truly be memory efficient, the , , + and methods should be avoided. + + The X value + The Y value + + + + Add a set of values onto the head of the queue, + overwriting old values if the buffer is full. + + + This method is much more efficient that the Add(PointPair) + method, since it does not require that a new PointPair instance be provided. + If the buffer already contains a at the head position, + then the x, y, z, and tag values will be copied into the existing PointPair. + Otherwise, a new PointPair instance must be created. + In this way, each PointPair position in the rolling list will only be allocated one time. + To truly be memory efficient, the , , + and methods should be avoided. Also, the property + for this method should be null, since it is a reference type. + + The X value + The Y value + The Tag value for the PointPair + + + + Add a set of values onto the head of the queue, + overwriting old values if the buffer is full. + + + This method is much more efficient that the Add(PointPair) + method, since it does not require that a new PointPair instance be provided. + If the buffer already contains a at the head position, + then the x, y, z, and tag values will be copied into the existing PointPair. + Otherwise, a new PointPair instance must be created. + In this way, each PointPair position in the rolling list will only be allocated one time. + To truly be memory efficient, the , , + and methods should be avoided. + + The X value + The Y value + The Z value + + + + Add a set of points to the + from two arrays of type double. + If either array is null, then a set of ordinal values is automatically + generated in its place (see ). + If the arrays are of different size, then the larger array prevails and the + smaller array is padded with values. + + A double[] array of X values + A double[] array of Y values + + + + Add a set of points to the from + three arrays of type double. + If the X or Y array is null, then a set of ordinal values is automatically + generated in its place (see . + If the value + is null, then it is set to zero. + If the arrays are of different size, then the larger array prevails and the + smaller array is padded with values. + + A double[] array of X values + A double[] array of Y values + A double[] array of Z values + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + An enum used to specify the X or Y data type of interest -- see + and . + + + + + The time (seconds) at which these data are measured + + + + + The distance traveled, meters + + + + + The instantaneous velocity, meters per second + + + + + The instantaneous acceleration, meters per second squared + + + + + Sample data structure containing a variety of data values, in this case the values + are related in that they correspond to the same time value. + + + + + The time (seconds) at which these data are measured + + + + + The distance traveled, meters + + + + + The instantaneous velocity, meters per second + + + + + The instantaneous acceleration, meters per second squared + + + + + Constructor that specifies each data value in the PerformanceData struct + + The time (seconds) at which these data are measured + The distance traveled, meters + The instantaneous velocity, meters per second + The instantaneous acceleration, meters per second squared + + + + Gets or sets the data value as specified by the enum + + The required data value type + + + + A sample class that holds an internal collection, and implements the + interface so that it can be used by ZedGraph as curve data. + + + This particular class efficiently implements the data storage so that the class + can be cloned without duplicating the data points. For example, you can create + a , populate it with values, and set + = and + = . + You can then clone this to a new one, and set + = . + Each of these 's can then be used as an + argument, + thereby plotting a distance vs time curve and a velocity vs time curve. There + will still be only one copy of the data in memory. + + + + + This is where the data are stored. Duplicating the + copies the reference to this , but does not actually duplicate + the data. + + + + + Determines what X data will be returned by the indexer of this list. + + + + + Determines what Y data will be returned by the indexer of this list. + + + + + Default constructor + + + + + The Copy Constructor. This method does NOT duplicate the data, it merely makes + another "Window" into the same collection. You can make multiple copies and + set the and/or properties to different + values to plot different data, while maintaining only one copy of the original values. + + The from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Indexer to access the data. This gets the appropriate data and converts to + the struct that is compatible with ZedGraph. The + actual data returned depends on the values of and + . + + The ordinal position of the desired point in the list + A corresponding to the specified ordinal data position + + + + Gets the number of data points in the collection + + + + + Adds the specified struct to the end of the collection. + + A struct to be added + The ordinal position in the collection where the values were added + + + + Remove the struct from the list at the specified + ordinal location. + + The ordinal location of the + struct to be removed + + + + Insert the specified struct into the list at + the specified ordinal location. + + The ordinal location at which to insert + The struct to be inserted + + + + enumeration used to indicate which type of data will be plotted. + + + + + Designates the "Time" property will be used + + + + + Designates the "Position" property will be used + + + + + Designates the Instantaneous Velocity property will be used + + + + + Designates the "Time since start" property will be used + + + + + Designates the Average Velocity property will be used + + + + + A simple storage class to maintain an individual sampling of data + + + + + The time of the sample + + + + + The position at sample time + + + + + The instantaneous velocity at sample time + + + + + A collection class to maintain a set of samples + + + + + Determines what data type gets plotted for the X values + + + + + Determines what data type gets plotted for the Y values + + + + + Indexer: get the Sample instance at the specified ordinal position in the list + + The ordinal position in the list of samples + Returns a instance containing the + data specified by and + + + + + Gets the number of samples in the collection + + + + + Get the specified data type from the specified sample + + The sample instance of interest + The data type to be extracted from the sample + A double value representing the requested data + + + + Append a sample to the collection + + The sample to append + The ordinal position at which the sample was added + + + + typesafe clone method + + A new cloned SamplePointList. This returns a copy of the structure, + but it does not duplicate the data (it just keeps a reference to the original) + + + + + default constructor + + + + + copy constructor -- this returns a copy of the structure, + but it does not duplicate the data (it just keeps a reference to the original) + + The SamplePointList to be copied + + + + The Scale class is an abstract base class that encompasses the properties + and methods associated with a scale of data. + + This class is inherited by the + , , , + , , , + , and + classes to define specific characteristics for those types. + + + John Champion + $Revision: 1.33 $ $Date: 2007-09-19 06:41:56 $ + + + Private fields for the scale definitions. + Use the public properties , , + , , and + for access to these values. + + + + Private fields for the scale definitions. + Use the public properties , , + , , and + for access to these values. + + + + Private fields for the scale definitions. + Use the public properties , , + , , and + for access to these values. + + + + Private fields for the scale definitions. + Use the public properties , , + , , and + for access to these values. + + + + Private fields for the scale definitions. + Use the public properties , , + , , and + for access to these values. + + + + Private fields for the scale definitions. + Use the public properties , , + , , and + for access to these values. + + + + Private fields for the automatic scaling modes. + Use the public properties , , + , , + and + for access to these values. + + + + Private fields for the automatic scaling modes. + Use the public properties , , + , , + and + for access to these values. + + + + Private fields for the automatic scaling modes. + Use the public properties , , + , , + and + for access to these values. + + + + Private fields for the automatic scaling modes. + Use the public properties , , + , , + and + for access to these values. + + + + Private fields for the automatic scaling modes. + Use the public properties , , + , , + and + for access to these values. + + + + Private fields for the automatic scaling modes. + Use the public properties , , + , , + and + for access to these values. + + + + Private fields for the "grace" settings. + These values determine how much extra space is left before the first data value + and after the last data value. + Use the public properties and + for access to these values. + + + + Private fields for the "grace" settings. + These values determine how much extra space is left before the first data value + and after the last data value. + Use the public properties and + for access to these values. + + + + Private field for the scale value display. + Use the public property for access to this value. + + + + Private fields for the attributes. + Use the public properties and + for access to these values. + + + + Private fields for the attributes. + Use the public properties and + for access to these values. + + + + Private fields for the attributes. + Use the public properties and + for access to these values. + + + + Private fields for the attributes. + Use the public properties and + for access to these values. + + + + Private fields for the attributes. + Use the public properties and + for access to these values. + + + + Private fields for the attributes. + Use the public properties and + for access to these values. + + + + Private fields for the attributes. + Use the public properties and + for access to these values. + + + + Private fields for the attributes. + Use the public properties and + for access to these values. + + + + Private field for the array of text labels. + This property is only used if is set to + + + + Private field for the format of the tic labels. + Use the public property for access to this value. + + + + + Private fields for Unit types to be used for the major and minor tics. + See and for the corresponding + public properties. + These types only apply for date-time scales (). + + The value of these types is of enumeration type + + + + + Private fields for Unit types to be used for the major and minor tics. + See and for the corresponding + public properties. + These types only apply for date-time scales (). + + The value of these types is of enumeration type + + + + Private field for the alignment of the tic labels. + This fields controls whether the inside, center, or outside edges of the text labels are aligned. + Use the public property + for access to this value. + + + + Private field for the alignment of the tic labels. + This fields controls whether the left, center, or right edges of the text labels are aligned. + Use the public property + for access to this value. + + + + Private fields for the font specificatios. + Use the public properties and + for access to these values. + + + + Internal field that stores the amount of space between the scale labels and the + major tics. Use the public property to access this + value. + + + + + Data range temporary values, used by GetRange(). + + + + + Data range temporary values, used by GetRange(). + + + + + Data range temporary values, used by GetRange(). + + + + + Data range temporary values, used by GetRange(). + + + + + Pixel positions at the minimum and maximum value for this scale. + These are temporary values used/valid only during the Draw process. + + + + + Pixel positions at the minimum and maximum value for this scale. + These are temporary values used/valid only during the Draw process. + + + + + Scale values for calculating transforms. These are temporary values + used ONLY during the Draw process. + + + These values are just and + for normal linear scales, but for log or exponent scales they will be a + linear representation. For , it is the + of the value, and for , + it is the + of the value. + + + + + Scale values for calculating transforms. These are temporary values + used ONLY during the Draw process. + + + These values are just and + for normal linear scales, but for log or exponent scales they will be a + linear representation. For , it is the + of the value, and for , + it is the + of the value. + + + + + Gets or sets the linearized version of the scale range. + + + This value is valid at any time, whereas is an optimization + pre-set that is only valid during draw operations. + + + + + Gets or sets the linearized version of the scale range. + + + This value is valid at any time, whereas is an optimization + pre-set that is only valid during draw operations. + + + + + private field that stores the owner Axis that contains this Scale instance. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default "zero lever" for automatically selecting the axis + scale range (see ). This number is + used to determine when an axis scale range should be extended to + include the zero value. This value is maintained only in the + class, and cannot be changed after compilation. + + + + The default "grace" value applied to the minimum data range. + This value is + expressed as a fraction of the total data range. For example, assume the data + range is from 4.0 to 16.0, leaving a range of 12.0. If MinGrace is set to + 0.1, then 10% of the range, or 1.2 will be subtracted from the minimum data value. + The scale will then be ranged to cover at least 2.8 to 16.0. + + + + + The default "grace" value applied to the maximum data range. + This value is + expressed as a fraction of the total data range. For example, assume the data + range is from 4.0 to 16.0, leaving a range of 12.0. If MaxGrace is set to + 0.1, then 10% of the range, or 1.2 will be added to the maximum data value. + The scale will then be ranged to cover at least 4.0 to 17.2. + + + + + + + The maximum number of text labels (major tics) that will be allowed on the plot by + the automatic scaling logic. This value applies only to + axes. If there are more than MaxTextLabels on the plot, then + will be increased to reduce the number of labels. That is, + the step size might be increased to 2.0 to show only every other label. + + + + + The default target number of steps for automatically selecting the X axis + scale step size (see ). + This number is an initial target value for the number of major steps + on an axis. This value is maintained only in the + class, and cannot be changed after compilation. + + + + + The default target number of steps for automatically selecting the Y or Y2 axis + scale step size (see ). + This number is an initial target value for the number of major steps + on an axis. This value is maintained only in the + class, and cannot be changed after compilation. + + + + + The default target number of minor steps for automatically selecting the X axis + scale minor step size (see ). + This number is an initial target value for the number of minor steps + on an axis. This value is maintained only in the + class, and cannot be changed after compilation. + + + + + The default target number of minor steps for automatically selecting the Y or Y2 axis + scale minor step size (see ). + This number is an initial target value for the number of minor steps + on an axis. This value is maintained only in the + class, and cannot be changed after compilation. + + + + + The default reverse mode for the scale + ( property). true for a reversed scale + (X decreasing to the left, Y/Y2 decreasing upwards), false otherwise. + + + + + The default setting for the scale format string + ( property). For numeric values, this value is + setting according to the format strings. For date + type values, this value is set as per the function. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 1825 days (5 years). + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 730 days (2 years). + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 300 days (10 months). + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 10 days. + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 3 days. + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 0.4167 days (10 hours). + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 0.125 days (3 hours). + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 6.94e-3 days (10 minutes). + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 2.083e-3 days (3 minutes). + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + If the total span of data exceeds this number (in days), then the auto-range + code will select = + and = . + This value normally defaults to 3.472e-5 days (3 seconds). + This value is used by the method. + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + + A default setting for the auto-ranging code. + This values applies only to Date-Time type axes. + This is the format used for the scale values when auto-ranging code + selects a of + for and for + for . + This value is used by the method. + + + + + The default alignment of the tic labels. + This value controls whether the inside, center, or outside edges of the text labels are aligned. + + + + + The default alignment of the tic labels. + This value controls whether the left, center, or right edges of the text labels are aligned. + + + + + + The default font family for the scale values + font specification + ( property). + + + + + The default font size for the scale values + font specification + ( property). Units are + in points (1/72 inch). + + + + + The default font color for the scale values + font specification + ( property). + + + + + The default font bold mode for the scale values + font specification + ( property). true + for a bold typeface, false otherwise. + + + + + The default font italic mode for the scale values + font specification + ( property). true + for an italic typeface, false otherwise. + + + + + The default font underline mode for the scale values + font specification + ( property). true + for an underlined typeface, false otherwise. + + + + + The default color for filling in the scale text background + (see property). + + + + + The default custom brush for filling in the scale text background + (see property). + + + + + The default fill mode for filling in the scale text background + (see property). + + + + + The default value for , which determines + whether or not the scale values are displayed. + + + + + The default value for , which determines + whether or not the scale labels and title for the will appear + on the opposite side of the that it normally appears. + + + + + Determines the size of the band at the beginning and end of the axis that will have labels + omitted if the axis is shifted due to a non-default location using the + property. + + + This parameter applies only when is false. It is scaled according + to the size of the graph based on . When a non-default + axis location is selected, the first and last labels on that axis will overlap the opposing + axis frame. This parameter allows those labels to be omitted to avoid the overlap. Set this + parameter to zero to turn off the effect. + + + + + The default setting for the gap between the outside tics (or the axis edge + if there are no outside tics) and the scale labels, expressed as a fraction of + the major tic size. + + + + + Basic constructor -- requires that the object be intialized with + a pre-existing owner . + + The object that is the owner of this + instance. + + + + Copy Constructor. Create a new object based on the specified + existing one. + + The object to be copied. + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + A construction method that creates a new object using the + properties of an existing object, but specifying a new + . + + + This constructor is used to change the type of an existing . + By specifying the old object, you are giving a set of properties + (which encompasses all fields associated with the scale, since the derived types + have no fields) to be used in creating a new object, only this + time having the newly specified object type. + The existing object from which to + copy the field data. + An representing the type of derived type + of new object to create. + The new object. + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to + serialize the target object + + + You MUST set the _ownerAxis property after deserializing a BarSettings object. + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Get an enumeration that indicates the type of this scale. + + + + + True if this scale is , false otherwise. + + + + + True if this scale is , false otherwise. + + + + + True if this scale is , false otherwise. + + + + + True if this scale is , false otherwise. + + + + + True if this scale is , false otherwise. + + + Note that this is only true for an actual class. + This property will be false for other ordinal types such as + , , + or . Use the + as a "catchall" for all ordinal type axes. + + + + + Gets a value that indicates if this is of any of the + ordinal types in the enumeration. + + + + + + Gets or sets the minimum scale value for this . + + This value can be set + automatically based on the state of . If + this value is set manually, then will + also be set to false. + + The value is defined in user scale units for + and axes. For + and axes, + this value is an ordinal starting with 1.0. For + axes, this value is in XL Date format (see , which is the + number of days since the reference date of January 1, 1900. + + + + + + + + Gets or sets the maximum scale value for this . + + + This value can be set + automatically based on the state of . If + this value is set manually, then will + also be set to false. + + The value is defined in user scale units for + and axes. For + and axes, + this value is an ordinal starting with 1.0. For + axes, this value is in XL Date format (see , which is the + number of days since the reference date of January 1, 1900. + + + + + + + + Gets or sets the scale step size for this (the increment between + labeled axis values). + + + This value can be set + automatically based on the state of . If + this value is set manually, then will + also be set to false. This value is ignored for + axes. For axes, this + value is defined in units of . + + The value is defined in user scale units + + + + + + + + + + + + Gets or sets the scale minor step size for this (the spacing between + minor tics). + + This value can be set + automatically based on the state of . If + this value is set manually, then will + also be set to false. This value is ignored for and + axes. For axes, this + value is defined in units of . + + The value is defined in user scale units + + + + + + + + Gets or sets the scale exponent value. This only applies to . + + + + + + + + + + + + + Gets or sets the scale value at which the first major tic label will appear. + + This property allows the scale labels to start at an irregular value. + For example, on a scale range with = 0, = 1000, + and = 200, a value of 50 would cause + the scale labels to appear at values 50, 250, 450, 650, and 850. Note that the + default value for this property is , which means the + value is not used. Setting this property to any value other than + will activate the effect. The value specified must + coincide with the first major tic. That is, if were set to + 650 in the example above, then the major tics would only occur at 650 and 850. This + setting may affect the minor tics, since the minor tics are always referenced to the + . That is, in the example above, if the + were set to 30 (making it a non-multiple of the major step), then the minor tics would + occur at 20, 50 (so it lines up with the BaseTic), 80, 110, 140, etc. + + The value is defined in user scale units + + + + + + + + + Gets or sets the type of units used for the major step size (). + + + This unit type only applies to Date-Time axes ( = true). + The axis is set to date type with the property. + The unit types are defined as . + + The value is a enum type + + + + + + + + + Gets or sets the type of units used for the minor step size (). + + + This unit type only applies to Date-Time axes ( = true). + The axis is set to date type with the property. + The unit types are defined as . + + The value is a enum type + + + + + + + + + Gets the major unit multiplier for this scale type, if any. + + The major unit multiplier will correct the units of + to match the units of + and . This reflects the setting of + . + + + + + Gets the minor unit multiplier for this scale type, if any. + + The minor unit multiplier will correct the units of + to match the units of + and . This reflects the setting of + . + + + + + Gets or sets a value that determines whether or not the minimum scale value + is set automatically. + + + This value will be set to false if + is manually changed. + + true for automatic mode, false for manual mode + + + + + Gets or sets a value that determines whether or not the maximum scale value + is set automatically. + + + This value will be set to false if + is manually changed. + + true for automatic mode, false for manual mode + + + + + Gets or sets a value that determines whether or not the scale step size + is set automatically. + + + This value will be set to false if + is manually changed. + + true for automatic mode, false for manual mode + + + + + Gets or sets a value that determines whether or not the minor scale step size + is set automatically. + + + This value will be set to false if + is manually changed. + + true for automatic mode, false for manual mode + + + + + Determines whether or not the scale label format + is determined automatically based on the range of data values. + + + This value will be set to false if + is manually changed. + + true if will be set automatically, false + if it is to be set manually by the user + + + + + + + The format of the tic labels. + + + This property may be a date format or a numeric format, depending on the setting of + Scale.Type. + This property may be set automatically by ZedGraph, depending on the state of + . + + The format string conforms to the + for date formats, and + for numeric formats. + + + + + + + + The magnitude multiplier for scale values. + + + This is used to limit + the size of the displayed value labels. For example, if the value + is really 2000000, then the graph will display 2000 with a 10^3 + magnitude multiplier. This value can be determined automatically + depending on the state of . + If this value is set manually by the user, + then will also be set to false. + + The magnitude multiplier (power of 10) for the scale + value labels + + + + + + + + Determines whether the value will be set + automatically based on the data, or manually by the user. + + + If the user manually sets the value, then this + flag will be set to false. + + true to have set automatically, + false otherwise + + + + + + Gets or sets the "grace" value applied to the minimum data range. + + + This value is + expressed as a fraction of the total data range. For example, assume the data + range is from 4.0 to 16.0, leaving a range of 12.0. If MinGrace is set to + 0.1, then 10% of the range, or 1.2 will be subtracted from the minimum data value. + The scale will then be ranged to cover at least 2.8 to 16.0. + + + + + + + Gets or sets the "grace" value applied to the maximum data range. + + + This values determines how much extra space is left after the last data value. + This value is + expressed as a fraction of the total data range. For example, assume the data + range is from 4.0 to 16.0, leaving a range of 12.0. If MaxGrace is set to + 0.1, then 10% of the range, or 1.2 will be added to the maximum data value. + The scale will then be ranged to cover at least 4.0 to 17.2. + + + + + + + Controls the alignment of the tic labels. + + + This property controls whether the inside, center, or outside edges of the + text labels are aligned. + + + + Controls the alignment of the tic labels. + + + This property controls whether the left, center, or right edges of the + text labels are aligned. + + + + + Gets a reference to the class used to render + the scale values + + + + + + + + + + + The gap between the scale labels and the tics. + + + + + Gets or sets a value that causes the axis scale labels and title to appear on the + opposite side of the axis. + + + For example, setting this flag to true for the will shift the + axis labels and title to the right side of the instead of the + normal left-side location. Set this property to true for the , + and set the property for the to an arbitrarily + large value (assuming is false for the ) in + order to have the appear at the top of the . + + + + + + + Gets or sets a value that causes the first scale label for this to be + hidden. + + + Often, for axis that have an active setting (e.g., + is false), the first and/or last scale label are overlapped by opposing axes. Use this + property to hide the first scale label to avoid the overlap. Note that setting this value + to true will hide any scale label that appears within of the + beginning of the . + + + + + Gets or sets a value that causes the last scale label for this to be + hidden. + + + Often, for axis that have an active setting (e.g., + is false), the first and/or last scale label are overlapped by opposing axes. Use this + property to hide the last scale label to avoid the overlap. Note that setting this value + to true will hide any scale label that appears within of the + end of the . + + + + + Gets or sets a value that causes the scale label that is located at the + value for this to be hidden. + + + For axes that have an active setting (e.g., + is false), the scale label at the value is overlapped by opposing axes. + Use this property to hide the scale label to avoid the overlap. + + + + + Determines if the scale values are reversed for this + + true for the X values to decrease to the right or the Y values to + decrease upwards, false otherwise + . + + + + Determines if powers-of-ten notation will be used for the numeric value labels. + + + The powers-of-ten notation is just the text "10" followed by a superscripted value + indicating the magnitude. This mode is only valid for log scales (see + and ). + + boolean value; true to show the title as a power of ten, false to + show a regular numeric value (e.g., "0.01", "10", "1000") + + + + Gets or sets a value that determines if ZedGraph will check to + see if the scale labels are close enough to overlap. If so, + ZedGraph will adjust the step size to prevent overlap. + + + The process of checking for overlap is done during the + method call, and affects the selection of the major step size (). + + boolean value; true to check for overlap, false otherwise + + + + Gets or sets a property that determines whether or not the scale values will be shown. + + true to show the scale values, false otherwise + . + + + + The text labels for this . + + + This property is only + applicable if is set to . + + + + + Setup some temporary transform values in preparation for rendering the + . + + + This method is typically called by the parent + object as part of the method. It is also + called by and + + methods to setup for coordinate transformations. + + + A reference to the object that is the parent or + owner of this object. + + + The parent for this + + + + + Convert a value to its linear equivalent for this type of scale. + + + The default behavior is to just return the value unchanged. However, + for and , + it returns the log or power equivalent. + + The value to be converted + + + + Convert a value from its linear equivalent to its actual scale value + for this type of scale. + + + The default behavior is to just return the value unchanged. However, + for and , + it returns the anti-log or inverse-power equivalent. + + The value to be converted + + + + Make a value label for the axis at the specified ordinal position. + + + This method properly accounts for , , + and other axis format settings. + + + A reference to the object that is the parent or + owner of this object. + + + The zero-based, ordinal index of the label to be generated. For example, a value of 2 would + cause the third value label on the axis to be generated. + + + The numeric value associated with the label. This value is ignored for log () + and text () type axes. + + The resulting value label as a + + + + Get the maximum width of the scale value text that is required to label this + . + The results of this method are used to determine how much space is required for + the axis labels. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + true to get the bounding box of the text using the , + false to just get the bounding box without rotation + + the maximum width of the text in pixel units + + + + Determine the value for any major tic. + + + This method properly accounts for , , + and other axis format settings. + + + The value of the first major tic (floating point double) + + + The major tic number (0 = first major tic). For log scales, this is the actual power of 10. + + + The specified major tic value (floating point double). + + + + + Determine the value for any minor tic. + + + This method properly accounts for , , + and other axis format settings. + + + The value of the first major tic (floating point double). This tic value is the base + reference for all tics (including minor ones). + + + The major tic number (0 = first major tic). For log scales, this is the actual power of 10. + + + The specified minor tic value (floating point double). + + + + + Internal routine to determine the ordinals of the first minor tic mark + + + The value of the first major tic for the axis. + + + The ordinal position of the first minor tic, relative to the first major tic. + This value can be negative (e.g., -3 means the first minor tic is 3 minor step + increments before the first major tic. + + + + + Determine the value for the first major tic. + + + This is done by finding the first possible value that is an integral multiple of + the step size, taking into account the date/time units if appropriate. + This method properly accounts for , , + and other axis format settings. + + + First major tic value (floating point double). + + + + + Draw the value labels, tic marks, and grid lines as + required for this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The first major tic value for the axis + + + The total number of major tics for the axis + + + The pixel location of the far side of the ChartRect from this axis. + This value is the ChartRect.Height for the XAxis, or the ChartRect.Width + for the YAxis and Y2Axis. + + The number of pixels to shift this axis, based on the + value of . A positive value is into the ChartRect relative to + the default axis position. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Draw the scale, including the tic marks, value labels, and grid lines as + required for this . + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + The number of pixels to shift to account for non-primary axis position (e.g., + the second, third, fourth, etc. or . + + + + + Determine the width, in pixel units, of each bar cluster including + the cluster gaps and bar gaps. + + + This method uses the for + non-ordinal axes, or a cluster width of 1.0 for ordinal axes. + + A reference to the object + associated with this + The width of each bar cluster, in pixel units + + + + Calculates the cluster width, in pixels, by transforming the specified + clusterScaleWidth. + + The width in user scale units of each + bar cluster + The equivalent pixel size of the bar cluster + + + + Select a reasonable scale given a range of data values. + + + The scale range is chosen + based on increments of 1, 2, or 5 (because they are even divisors of 10). This + routine honors the , , + and autorange settings as well as the + setting. In the event that any of the autorange settings are false, the + corresponding , , or + setting is explicitly honored, and the remaining autorange settings (if any) will + be calculated to accomodate the non-autoranged values. The basic defaults for + scale selection are defined using , + , and + from the default class. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to scale minor step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Calculate the maximum number of labels that will fit on this axis. + + + This method works for + both X and Y direction axes, and it works for angled text (assuming that a bounding box + is an appropriate measure). Technically, labels at 45 degree angles could fit better than + the return value of this method since the bounding boxes can overlap without the labels actually + overlapping. + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Sets the Magnitude factor for the scale if the is set to true. + + + if is set to true then the label formatting will + be adjusted for the requried number of decimal places. + + the minimum scale value. + the maximum scale value. + the scale stepping. + + + + Calculate a step size based on a data range. + + + This utility method + will try to honor the and + number of + steps while using a rational increment (1, 2, or 5 -- which are + even divisors of 10). This method is used by . + + The range of data in user scale units. This can + be a full range of the data for the major step size, or just the + value of the major step size to calculate the minor step size + The desired "typical" number of steps + to divide the range into + The calculated step size for the specified data range. + + + + Calculate a step size based on a data range, limited to a maximum number of steps. + + + This utility method + will calculate a step size, of no more than maxSteps, + using a rational increment (1, 2, or 5 -- which are + even divisors of 10). This method is used by . + + The range of data in user scale units. This can + be a full range of the data for the major step size, or just the + value of the major step size to calculate the minor step size + The maximum allowable number of steps + to divide the range into + The calculated step size for the specified data range. + + + + Internal routine to determine the ordinals of the first and last major axis label. + + + This is the total number of major tics for this axis. + + + + + Calculate the modulus (remainder) in a safe manner so that divide + by zero errors are avoided + + The divisor + The dividend + the value of the modulus, or zero for the divide-by-zero + case + + + + Define suitable default ranges for an axis in the event that + no data were available + + The of interest + The for which to set the range + + + + Transform the coordinate value from user coordinates (scale value) + to graphics device coordinates (pixels). + + This method takes into + account the scale range ( and ), + logarithmic state (), scale reverse state + () and axis type (, + , or ). + Note that the must be valid, and + must be called for the + current configuration before using this method (this is called everytime + the graph is drawn (i.e., is called). + + The coordinate value, in user scale units, to + be transformed + the coordinate value transformed to screen coordinates + for use in calling the draw routines + + + + Transform the coordinate value from user coordinates (scale value) + to graphics device coordinates (pixels). + + + This method takes into + account the scale range ( and ), + logarithmic state (), scale reverse state + () and axis type (, + , or ). + Note that the must be valid, and + must be called for the + current configuration before using this method (this is called everytime + the graph is drawn (i.e., is called). + + true to force the axis to honor the data + value, rather than replacing it with the ordinal value + The ordinal value of this point, just in case + this is an axis + The coordinate value, in user scale units, to + be transformed + the coordinate value transformed to screen coordinates + for use in calling the draw routines + + + + Reverse transform the user coordinates (scale value) + given a graphics device coordinate (pixels). + + + This method takes into + account the scale range ( and ), + logarithmic state (), scale reverse state + () and axis type (, + , or ). + Note that the must be valid, and + must be called for the + current configuration before using this method (this is called everytime + the graph is drawn (i.e., is called). + + The screen pixel value, in graphics device coordinates to + be transformed + The user scale value that corresponds to the screen pixel location + + + + Transform the coordinate value from user coordinates (scale value) + to graphics device coordinates (pixels). + + Assumes that the origin + has been set to the "left" of this axis, facing from the label side. + Note that the left side corresponds to the scale minimum for the X and + Y2 axes, but it is the scale maximum for the Y axis. + This method takes into + account the scale range ( and ), + logarithmic state (), scale reverse state + () and axis type (, + , or ). Note that + the must be valid, and + must be called for the + current configuration before using this method. + + The coordinate value, in linearized user scale units, to + be transformed + the coordinate value transformed to screen coordinates + for use in calling the method + + + + Calculate a base 10 logarithm in a safe manner to avoid math exceptions + + The value for which the logarithm is to be calculated + The value of the logarithm, or 0 if the + argument was negative or zero + + + + Calculate an exponential in a safe manner to avoid math exceptions + + The value for which the exponential is to be calculated + The exponent value to use for calculating the exponential. + + + + A class that captures an scale range. + + This structure is used by the class to store + scale range settings in a collection for later retrieval. + The class stores the , , + , and properties, along with + the corresponding auto-scale settings: , + , , + and . + John Champion + $Revision: 3.2 $ $Date: 2007-02-19 08:05:24 $ + + + + The axis range data for , , + , and + + + + + The axis range data for , , + , and + + + + + The axis range data for , , + , and + + + + + The axis range data for , , + , and + + + + + The status of , + , , + and + + + + + The status of , + , , + and + + + + + The status of , + , , + and + + + + + The status of , + , , + and + + + + + The status of , + , , + and + + + + + The status of , + , , + and + + + + + The status of and + + + + + The status of and + + + + + Construct a from the specified + + The from which to collect the scale + range settings. + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Copy the properties from this out to the specified . + + The reference to which the properties should be + copied + + + + Determine if the state contained in this object is different from + the state of the specified . + + The object with which to compare states. + true if the states are different, false otherwise + + + + A collection class that maintains a list of + objects, corresponding to the list of objects + from or . + + + + + Construct a new automatically from an + existing . + + The (a list of Y axes), + from which to retrieve the state and create the + objects. + + + + Construct a new automatically from an + existing . + + The (a list of Y axes), + from which to retrieve the state and create the + objects. + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Iterate through the list of objects, comparing them + to the state of the specified + objects. + + A object specifying a list of + objects to be compared with this . + + true if a difference is found, false otherwise + + + + Iterate through the list of objects, comparing them + to the state of the specified + objects. + + A object specifying a list of + objects to be compared with this . + + true if a difference is found, false otherwise + + + + + + + + + + + + + + + + A simple struct to store minimum and maximum type + values for the scroll range + + + + + Construct a object given the specified data values. + + The minimum axis value limit for the scroll bar + The maximum axis value limit for the scroll bar + true to make this item scrollable, false otherwise + + + + Sets the scroll range to default values of zero, and sets the + property as specified. + + true to make this item scrollable, false otherwise + + + + The Copy Constructor + + The object from which to copy + + + + Gets or sets a property that determines if the corresponding to + this object can be scrolled. + + + + + The minimum axis value limit for the scroll bar. + + + + + The maximum axis value limit for the scroll bar. + + + + + A collection class containing a list of objects. + + + John Champion + $Revision: 3.3 $ $Date: 2006-06-24 20:26:43 $ + + + + Default constructor for the collection class. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Indexer to access the specified object by + its ordinal position in the list. + + The ordinal position (zero-based) of the + object to be accessed. + A object instance + + + + + + + + John Champion and JCarpenter + $Revision: 3.5 $ $Date: 2007-03-11 02:08:16 $ + + + + Subscribe to this event to receive notice + that the list of selected CurveItems has changed + + + + + The type to be used for drawing "selected" + , , , + , and item types. + + + + + The type to be used for drawing "selected" + , , , + and item types. + + + + + The type to be used for drawing "selected" + and types + + + + + The type to be used for drawing "selected" + and types. + + + + + Place a in the selection list, removing all other + items. + + The that is the "owner" + of the 's. + The to be added to the list. + + + + Place a list of 's in the selection list, removing all other + items. + + The that is the "owner" + of the 's. + The list of to be added to the list. + + + + Add a to the selection list. + + The that is the "owner" + of the 's. + The to be added to the list. + + + + Add a list of 's to the selection list. + + The that is the "owner" + of the 's. + The list of 's to be added to the list. + + + + Remove the specified from the selection list. + + The that is the "owner" + of the 's. + The to be removed from the list. + + + + Clear the selection list and trigger a . + + The that "owns" the selection list. + + + + Clear the selection list and optionally trigger a . + + The that "owns" the selection list. + true to trigger a , + false otherwise. + + + + Mark the 's that are included in the selection list + by setting the property to true. + + The that "owns" the selection list. + + + + Encapsulates a curve type that is displayed as a series of vertical "sticks", + one at each defined point. + + + The sticks run from the zero value of the Y axis, to the Y point defined in each + of the (see ). + The properties of the sticks are defined in the property. + Normally, the is not visible. However, if you manually enable the + using the property, the + symbols will be drawn at the "Z" value from each (see + ). + + + John Champion + $Revision: 1.7 $ $Date: 2007-01-25 07:56:09 $ + + + + Gets a flag indicating if the Z data range should be included in the axis scaling calculations. + + The parent of this . + + true if the Z data are included, false otherwise + + + + Gets a flag indicating if the X axis is the independent axis for this + + The parent of this . + + true if the X axis is independent, false otherwise + + + + Create a new , specifying only the legend . + + The label that will appear in the legend. + + + + Create a new using the specified properties. + + The label that will appear in the legend. + An array of double precision values that define + the independent (X axis) values for this curve + An array of double precision values that define + the dependent (Y axis) values for this curve + A value that will be applied to + the and properties. + + The width (in points) to be used for the . This + width is scaled based on . Use a value of zero to + hide the line (see ). + + + + Create a new using the specified properties. + + The label that will appear in the legend. + An array of double precision values that define + the independent (X axis) values for this curve + An array of double precision values that define + the dependent (Y axis) values for this curve + A value that will be applied to + the and properties. + + + + + Create a new using the specified properties. + + The label that will appear in the legend. + A of double precision value pairs that define + the X and Y values for this curve + A value that will be applied to + the and properties. + + + + + Create a new using the specified properties. + + The label that will appear in the legend. + A of double precision value pairs that define + the X and Y values for this curve + A value that will be applied to + the and properties. + + The width (in points) to be used for the . This + width is scaled based on . Use a value of zero to + hide the line (see ). + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + A collection class containing a list of objects + that define the set of points to be displayed on the curve. + + + John Champion based on code by Jerry Vos + $Revision: 3.4 $ $Date: 2007-02-18 05:51:54 $ + + + + Indexer to access the specified object by + its ordinal position in the list. + + The ordinal position (zero-based) of the + object to be accessed. + A object reference. + + + + Default constructor for the collection class + + + + + The Copy Constructor + + The StockPointList from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Add a object to the collection at the end of the list. + + The object to + be added + + + + Add a object to the collection at the end of the list. + + The object to be added + + + + Add a object to the collection at the end of the list using + the specified values. The unspecified values (low, open, close) are all set to + . + + An value + The high value for the day + The zero-based ordinal index where the point was added in the list. + + + + Add a single point to the from values of type double. + + An value + The high value for the day + The low value for the day + The opening value for the day + The closing value for the day + The trading volume for the day + The zero-based ordinal index where the point was added in the list. + + + + Access the at the specified ordinal index. + + + To be compatible with the interface, the + must implement an index that returns a + rather than a . This method + will return the actual at the specified position. + + The ordinal position (zero-based) in the list + The specified . + + + + + The basic class holds three data values (X, Y, Z). This + class extends the basic PointPair to contain five data values (X, Y, Z, Open, Close). + + + The values are remapped to , , + , , and . + + + John Champion + $Revision: 3.4 $ $Date: 2007-02-07 07:46:46 $ + + + + This opening value + + + + + This closing value + + + + + This daily trading volume + + + + + This is a user value that can be anything. It is used to provide special + property-based coloration to the graph elements. + + + + + Default Constructor + + + + + Construct a new StockPt from the specified data values + + The trading date () + The opening stock price + The closing stock price + The daily high stock price + The daily low stock price + The daily trading volume + + + + Construct a new StockPt from the specified data values including a Tag property + + The trading date () + The opening stock price + The closing stock price + The daily high stock price + The daily low stock price + The daily trading volume + The user-defined property. + + + + The StockPt copy constructor. + + The basis for the copy. + + + + The StockPt copy constructor. + + The basis for the copy. + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Map the Date property to the X value + + + + + Map the high property to the Y value + + + + + Map the low property to the Z value + + + + + The ColorValue property. This is used with the + option. + + + + + Readonly value that determines if either the Date, Close, Open, High, or Low + coordinate in this StockPt is an invalid (not plotable) value. + It is considered invalid if it is missing (equal to System.Double.Max), + Infinity, or NaN. + + true if any value is invalid + + + + Format this StockPt value using the default format. Example: "( 12.345, -16.876 )". + The two double values are formatted with the "g" format type. + + true to show all the value coordinates + A string representation of the . + + + + Format this PointPair value using a general format string. + Example: a format string of "e2" would give "( 1.23e+001, -1.69e+001 )". + If + is true, then the third all coordinates are shown. + + A format string that will be used to format each of + the two double type values (see ). + A string representation of the PointPair + true to show all the value coordinates + + + + This class handles the drawing of the curve objects. + The symbols are the small shapes that appear over each defined point + along the curve. + + + John Champion + $Revision: 3.37 $ $Date: 2007-09-19 06:41:56 $ + + + + Private field that stores the size of this + in points (1/72 inch). Use the public + property to access this value. + + + + + Private field that stores the for this + . Use the public + property to access this value. + + + + + private field that determines if the symbols are drawn using + Anti-Aliasing capabilities from the class. + Use the public property to access + this value. + + + + + Private field that stores the visibility of this + . Use the public + property to access this value. If this value is + false, the symbols will not be shown (but the may + still be shown). + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that stores the data for this + . Use the public property to + access this value. + + + + + Private field that stores the user defined data for this + . Use the public property to + access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default size for curve symbols ( property), + in units of points. + + + + + The default pen width to be used for drawing curve symbols + ( property). Units are points. + + + + + The default color for filling in this + ( property). + + + + + The default custom brush for filling in this + ( property). + + + + + The default fill mode for the curve ( property). + + + + + The default symbol type for curves ( property). + This is defined as a enumeration. + + + + + The default value for the + property. + + + + + The default display mode for symbols ( property). + true to display symbols, false to hide them. + + + + + The default for drawing frames around symbols ( property). + true to display symbol frames, false to hide them. + + + + + The default color for drawing symbols ( property). + + + + + Gets or sets the size of the + + Size in points (1/72 inch) + + + + + Gets or sets the type (shape) of the + + A enum value indicating the shape + + + + + Gets or sets a value that determines if the symbols are drawn using + Anti-Aliasing capabilities from the class. + + + If this value is set to true, then the + property will be set to only while + this is drawn. A value of false will leave the value of + unchanged. + + + + + Gets or sets a property that shows or hides the . + + true to show the symbol, false to hide it + + + + + Gets or sets the data for this + . + + + + + Gets or sets the data for this + , which controls the border outline of the symbol. + + + + + Gets or sets the data for this + , describing the user-defined symbol type. + + + This value only applies if Symbol.Type + is SymbolType.UserDefined + + + + + Default constructor that sets all properties to default + values as defined in the class. + + + + + Default constructor that sets the and + as specified, and the remaining + properties to default + values as defined in the class. + + A enum value + indicating the shape of the symbol + A value indicating + the color of the symbol + + + + + The Copy Constructor + + The Symbol object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Draw the to the specified device + at the specified location. This routine draws a single symbol. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + The x position of the center of the symbol in + pixel units + The y position of the center of the symbol in + pixel units + A previously constructed by + for this symbol + A class representing the standard pen for this symbol + A class representing a default solid brush for this symbol + If this symbol uses a , it will be created on the fly for + each point, since it has to be scaled to the individual point coordinates. + + + + Draw the to the specified device + at the specified location. This routine draws a single symbol. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + The x position of the center of the symbol in + pixel units + The y position of the center of the symbol in + pixel units + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + + The data value to be used for a value-based + color gradient. This is only applicable for , + or . + Indicates that the should be drawn + with attributes from the class. + + + + + Create a struct for the current symbol based on the + specified scaleFactor and assuming the symbol will be centered at position 0,0. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor for the features of the graph based on the . This + scaling factor is calculated by the method. The scale factor + represents a linear multiple to be applied to font sizes, symbol sizes, etc. + Returns the for the current symbol + + + + Draw this to the specified + device as a symbol at each defined point. The routine + only draws the symbols; the lines are draw by the + method. This method + is normally only called by the Draw method of the + object + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + A representing this + curve. + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + Indicates that the should be drawn + with attributes from the class. + + + + + A class that represents a text object on the graph. A list of + objects is maintained by the + collection class. + + + John Champion + $Revision: 3.4 $ $Date: 2007-01-25 07:56:09 $ + + + Private field to store the actual text string for this + . Use the public property + to access this value. + + + + + Private field to store the class used to render + this . Use the public property + to access this class. + + + + + Private field holding the SizeF into which this + should be rendered. Use the public property + to access this value. + + + + + A simple struct that defines the + default property values for the class. + + + + + The default font family for the text + ( property). + + + + + The default font size for the text + ( property). Units are + in points (1/72 inch). + + + + + The default font color for the text + ( property). + + + + + The default font bold mode for the text + ( property). true + for a bold typeface, false otherwise. + + + + + The default font underline mode for the text + ( property). true + for an underlined typeface, false otherwise. + + + + + The default font italic mode for the text + ( property). true + for an italic typeface, false otherwise. + + + + + + + + + + The to be displayed. This text can be multi-line by + including newline ('\n') characters between the lines. + + + + + Gets a reference to the class used to render + this + + + + + + + + + + + Constructor that sets all properties to default + values as defined in the class. + + The text to be displayed. + The x position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + The y position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + + + + Constructor that sets all properties to default + values as defined in the class. + + The text to be displayed. + The x position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + The y position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + The enum value that + indicates what type of coordinate system the x and y parameters are + referenced to. + + + + Constructor that sets all properties to default + values as defined in the class. + + The text to be displayed. + The x position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + The y position of the text. The units + of this position are specified by the + property. The text will be + aligned to this position based on the + property. + The enum value that + indicates what type of coordinate system the x and y parameters are + referenced to. + The enum that specifies + the horizontal alignment of the object with respect to the (x,y) location + The enum that specifies + the vertical alignment of the object with respect to the (x,y) location + + + + Parameterless constructor that initializes a new . + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Render this object to the specified device + This method is normally only called by the Draw method + of the parent collection object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determine if the specified screen point lies inside the bounding box of this + . This method takes into account rotation and alignment + parameters of the text, as specified in the . + + The screen point, in pixels + + A reference to the object that is the parent or + owner of this object. + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + true if the point lies in the bounding box, false otherwise + + + + Determines the shape type and Coords values for this GraphObj + + + + + The TextScale class inherits from the class, and implements + the features specific to . + + + TextScale is an ordinal axis with user-defined text labels. An ordinal axis means that + all data points are evenly spaced at integral values, and the actual coordinate values + for points corresponding to that axis are ignored. That is, if the X axis is an + ordinal type, then all X values associated with the curves are ignored. + + + John Champion + $Revision: 1.8 $ $Date: 2006-08-25 05:19:09 $ + + + + The Copy Constructor + + The object from which to copy + The object that will own the + new instance of + + + + Create a new clone of the current item, with a new owner assignment + + The new instance that will be + the owner of the new Scale + A new clone. + + + + Internal routine to determine the ordinals of the first minor tic mark + + + The value of the first major tic for the axis. + + + The ordinal position of the first minor tic, relative to the first major tic. + This value can be negative (e.g., -3 means the first minor tic is 3 minor step + increments before the first major tic. + + + + + Determine the value for the first major tic. + + + This is done by finding the first possible value that is an integral multiple of + the step size, taking into account the date/time units if appropriate. + This method properly accounts for , , + and other axis format settings. + + + First major tic value (floating point double). + + + + + Internal routine to determine the ordinals of the first and last major axis label. + + + This is the total number of major tics for this axis. + + + + + Select a reasonable text axis scale given a range of data values. + + + This method only applies to type axes, and it + is called by the general method. This is an ordinal + type, such that the labeled values start at 1.0 and increment by 1.0 for + each successive label. The maximum number of labels on the graph is + determined by . If necessary, this method will + set the value to greater than 1.0 in order to keep the total + labels displayed below . For example, a + size of 2.0 would only display every other label on the + axis. The value calculated by this routine is always + an integral value. This + method honors the , , + and autorange settings. + In the event that any of the autorange settings are false, the + corresponding , , or + setting is explicitly honored, and the remaining autorange settings (if any) will + be calculated to accomodate the non-autoranged values. + On Exit: + is set to scale minimum (if = true) + is set to scale maximum (if = true) + is set to scale step size (if = true) + is set to scale minor step size (if = true) + is set to a magnitude multiplier according to the data + is set to the display format for the values (this controls the + number of decimal places, whether there are thousands separators, currency types, etc.) + + A reference to the object + associated with this + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + + + Make a value label for an . + + + A reference to the object that is the parent or + owner of this object. + + + The zero-based, ordinal index of the label to be generated. For example, a value of 2 would + cause the third value label on the axis to be generated. + + + The numeric value associated with the label. This value is ignored for log () + and text () type axes. + + The resulting value label as a + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Enumeration type for the various axis types that are available + + + + + An ordinary, cartesian axis + + + A base 10 log axis + + + A cartesian axis with calendar dates or times + + + An ordinal axis with user-defined text labels. An ordinal axis means that + all data points are evenly spaced at integral values, and the actual coordinate values + for points corresponding to that axis are ignored. That is, if the X axis is an + ordinal type, then all X values associated with the curves are ignored. + + + + + + An ordinal axis with regular numeric labels. An ordinal axis means that + all data points are evenly spaced at integral values, and the actual coordinate values + for points corresponding to that axis are ignored. That is, if the X axis is an + ordinal type, then all X values associated with the curves are ignored. + + + + + An ordinal axis that will have labels formatted with ordinal values corresponding + to the number of values in each . + + + The data points will be evenly-spaced at ordinal locations, and the + actual data values are ignored. + + + + + An ordinal axis that will have labels formatted with values from the actual data + values of the first in the . + + + Although the tics are labeled with real data values, the actual points will be + evenly-spaced in spite of the data values. For example, if the X values of the first curve + are 1, 5, and 100, then the tic labels will show 1, 5, and 100, but they will be equal + distance from each other. + + + + + An exponential axis + + + + Enumeration type for the various types of fills that can be used with + charts. + + + + No fill + + + A solid fill using + + + A custom fill using either or + + + + + Fill with a single solid color based on the X value of the data. + The X value is + used to determine the color value based on a gradient brush, and using a data range + of and . You can create a multicolor + range by initializing the class with your own custom + object based on a . In cases where a + data value makes no sense (, , + etc.), a default value of 50% of the range is assumed. The default range is 0 to 1. + + + + + + + + Fill with a single solid color based on the Z value of the data. + The Z value is + used to determine the color value based on a gradient brush, and using a data range + of and . You can create a multicolor + range by initializing the class with your own custom + object based on a . In cases where a + data value makes no sense (, , + etc.), a default value of 50% of the range is assumed. The default range is 0 to 1. + + + + + + + + Fill with a single solid color based on the Z value of the data. + The Z value is + used to determine the color value based on a gradient brush, and using a data range + of and . You can create a multicolor + range by initializing the class with your own custom + object based on a . In cases where a + data value makes no sense (, , + etc.), a default value of 50% of the range is assumed. The default range is 0 to 1. + + + + + + + + Fill with a single solid color based on the "ColorValue" property of the data. + The "ColorValue" property is + used to determine the color value based on a gradient brush, and using a data range + of and . You can create a multicolor + range by initializing the class with your own custom + object based on a . In cases where a + data value makes no sense (, , + etc.), a default value of 50% of the range is assumed. The default range is 0 to 1. + + + + + + + + Enumeration type for the various axis date and time unit types that are available + + + + Yearly units and + + + + Monthly units and + + + + Daily units and + + + + Hourly units and + + + + Minute units and + + + + Second units and + + + + Millisecond units and + + + + + Enumeration type for the various symbol shapes that are available + + + + + Square-shaped + + + Rhombus-shaped + + + Equilateral triangle + + + Uniform circle + + + "X" shaped . This symbol cannot + be filled since it has no outline. + + + "+" shaped . This symbol cannot + be filled since it has no outline. + + + Asterisk-shaped . This symbol + cannot be filled since it has no outline. + + + Unilateral triangle , pointing + down. + + + + Horizontal dash . This symbol cannot be + filled since it has no outline. + + + + + Vertical dash . This symbol cannot be + filled since it has no outline. + + + + A symbol defined by the propery. + If no symbol is defined, the . symbol will + be used. + + + + A Default symbol type (the symbol type will be obtained + from . + + + No symbol is shown (this is equivalent to using + = false. + + + + Enumeration type that defines the possible legend locations + + + + + + Locate the above the + + + + + Locate the on the left side of the + + + + + Locate the on the right side of the + + + + + Locate the below the + + + + + Locate the inside the in the + top-left corner. + + + + + Locate the inside the in the + top-right corner. + + + + + Locate the inside the in the + bottom-left corner. + + + + + Locate the inside the in the + bottom-right corner. + + + + + Locate the as a floating object above the graph at the + location specified by . + + + + + Locate the centered above the + + + + + Locate the centered below the + + + + + Locate the above the , but flush + against the left margin of the . + + + + + Locate the below the , but flush + against the left margin of the . + + + + + Enumeration type for the different horizontal text alignment options + + + + + + Position the text so that its left edge is aligned with the + specified X,Y location. Used by the + method. + + + + + Position the text so that its center is aligned (horizontally) with the + specified X,Y location. Used by the + method. + + + + + Position the text so that its right edge is aligned with the + specified X,Y location. Used by the + method. + + + + + Enumeration type for the different proximal alignment options + + + + + + + Position the text so that its "inside" edge (the edge that is + nearest to the alignment reference point or object) is aligned. + Used by the method to align text + to the axis. + + + + + Position the text so that its center is aligned with the + reference object or point. + Used by the method to align text + to the axis. + + + + + Position the text so that its right edge (the edge that is + farthest from the alignment reference point or object) is aligned. + Used by the method to align text + to the axis. + + + + + Enumeration type for the different vertical text alignment options + + specified X,Y location. Used by the + method. + + + + Position the text so that its top edge is aligned with the + specified X,Y location. Used by the + method. + + + + + Position the text so that its center is aligned (vertically) with the + specified X,Y location. Used by the + method. + + + + + Position the text so that its bottom edge is aligned with the + specified X,Y location. Used by the + method. + + + + + Enumeration type for the user-defined coordinate types available. + These coordinate types are used the objects + and objects only. + + + + + + Coordinates are specified as a fraction of the + . That is, for the X coordinate, 0.0 + is at the left edge of the ChartRect and 1.0 + is at the right edge of the ChartRect. A value less + than zero is left of the ChartRect and a value + greater than 1.0 is right of the ChartRect. For the Y coordinate, 0.0 + is the top and 1.0 is the bottom. + + + + + Coordinates are specified as a fraction of the + . That is, for the X coordinate, 0.0 + is at the left edge of the Rect and 1.0 + is at the right edge of the Rect. A value less + than zero is left of the Rect and a value + greater than 1.0 is right of the Rect. For the Y coordinate, 0.0 + is the top and 1.0 is the bottom. Note that + any value less than zero or greater than 1.0 will be outside + the Rect, and therefore clipped. + + + + + Coordinates are specified according to the user axis scales + for the and . + + + + + Coordinates are specified according to the user axis scales + for the and . + + + + + The X coordinate is specified as a fraction of the , + and the Y coordinate is specified as a fraction of the . + + + For the X coordinate, 0.0 + is at the left edge of the ChartRect and 1.0 + is at the right edge of the ChartRect. A value less + than zero is left of the ChartRect and a value + greater than 1.0 is right of the ChartRect. For the Y coordinate, a value of zero is at + the left side of the pane, and a value of 1.0 is at the right side of the pane. + + + + + The X coordinate is specified as a fraction of the , + and the Y coordinate is specified as a fraction of the . + + + For the X coordinate, a value of zero is at + the left side of the pane, and a value of 1.0 is at the right side of the pane. + For the Y coordinate, 0.0 + is at the top edge of the ChartRect and 1.0 + is at the bottom edge of the ChartRect. A value less + than zero is above the ChartRect and a value + greater than 1.0 is below the ChartRect. + + + + + The X coordinate is specified as an X Scale value, and the Y coordinate + is specified as a fraction of the . + + + For the X coordinate, the value just corresponds to the values of the X scale. + Values outside the scale range will be + outside the . For the Y coordinate, 0.0 + is at the top edge of the ChartRect and 1.0 + is at the bottom edge of the ChartRect. A value less + than zero is above the ChartRect and a value + greater than 1.0 is below the ChartRect. + + + + + The X coordinate is specified as a fraction of the + and the Y coordinate is specified as + a Y scale value. + + + For the X coordinate, 0.0 + is at the left edge of the ChartRect and 1.0 + is at the right edge of the ChartRect. A value less + than zero is left of the ChartRect and a value + greater than 1.0 is right of the ChartRect. For the Y coordinate, the value just + corresponds to the values of the Y scale. Values outside the scale range will be + outside the . + + + + + The X coordinate is specified as a fraction of the + and the Y coordinate is specified as + a Y2 scale value. + + + For the X coordinate, 0.0 + is at the left edge of the ChartRect and 1.0 + is at the right edge of the ChartRect. A value less + than zero is left of the ChartRect and a value + greater than 1.0 is right of the ChartRect. For the Y coordinate, the value just + corresponds to the values of the Y2 scale. Values outside the scale range will be + outside the . + + + + + Enumeration type that defines how a curve is drawn. Curves can be drawn + as ordinary lines by connecting the points directly, or in a stair-step + fashion as a series of discrete, constant values. In a stair step plot, + all lines segments are either horizontal or vertical. In a non-step (line) + plot, the lines can be any angle. + + + + + + Draw the as a stair-step in which each + point defines the + beginning (left side) of a new stair. This implies the points are + defined at the beginning of an "event." + + + + + Draw the as a stair-step in which each + point defines the end (right side) of a new stair. This implies + the points are defined at the end of an "event." + + + + + Draw the as an ordinary line, in which the + points are connected directly by line segments. + + + + + Draw the as a segment in which each point defines the + beginning (left side) of a new "stair." This implies the points are defined + at the beginning of an "event." Note that ForwardSegment is different + from ForwardStep in that it does not draw the vertical portion of the step. + + + + + Draw the as a segment in which each point defines the + end (right side) of a new "stair." This implies the points are defined + at the end of an "event." Note that RearwardSegment is different + from RearwardStep in that it does not draw the vertical portion of the step. + + + + + Enumeration type that defines the base axis from which graphs + are displayed. The bars can be drawn on any of the four axes (, + , , and ). + + + + + + Draw the chart based from the . + + + + + Draw the chart based from the . + + + + + Draw the chart based from the . + + + + + Draw the chart based from the . + + + + + Enumeration type that defines the available types of graphs. + + + + + + Draw the lines as normal. Any fill area goes from each line down to the X Axis. + + + + + Draw the lines stacked on top of each other, accumulating values to a total value. + + + + + Enumeration type that defines the available types of graphs. + + + + + + Draw each side by side in clusters. + + + + + Draw the bars one on top of the other. The bars will + be drawn such that the last bar in the will be behind + all other bars. Note that the bar values are not summed up for the overlay + mode. The data values must be summed before being passed + to . + For example, if the first bar of + the first has a value of 100, and the first bar of + the second has a value of 120, then that bar will + appear to be 20 units on top of the first bar. + + + + + Draw the bars one on top of the other. The bars will + be drawn such that the bars are sorted according to the maximum value, with + the tallest bar at each point at the back and the shortest bar at the front. + This is similar to the mode, but the bars are sorted at + each base value. + The data values must be summed before being passed + to . For example, if the first bar of + the first has a value of 100, and the first bar of + the second has a value of 120, then that bar will + appear to be 20 units on top of the first bar. + + + + + Draw the bars in an additive format so that they stack on + top of one another. The value of the last bar drawn will be the sum of the values + of all prior bars. + + + + + Draw the bars in a format whereby the height of each + represents the percentage of the total each one represents. Negative values + are displayed below the zero line as percentages of the absolute total of all values. + + + + + Enumeration type that defines which set of data points - X or Y - is used + to perform the sort. + + + + + Use the Y values to sort the list. + + + + + Use the X values to sort the list. + + + + + Enumeration that specifies a Z-Order position for + objects. + + This enumeration allows you to set the layering of various graph + features. Except for the objects, other feature types + all have a fixed depth as follows (front to back): + + objects + The border around + objects + The features + The background fill of the + The pane + The background fill of the + + You cannot place anything behind the + background fill, but allows you to + explicitly control the depth of objects + between all other object types. For items of equal , + such as multiple 's or 's + having the same value, the relative depth is + controlled by the ordinal position in the list (either + or ). + objects + can be placed in the of either a + or a . For a + -based , all + values are applicable. For a -based + , any value can be used, but there + are really only three depths: + will place the item behind the pane title, + will place on top of all other graph features, + any other value places the object above the pane title, but behind the 's. + + + + + + Specifies that the will be behind all other + objects (including the ). + + + + + Specifies that the will be behind the + background + (see ). + + + + + Specifies that the will be behind the grid lines. + + + + + Specifies that the will be behind the + objects. + + + + + Specifies that the will be behind the + objects. + + + + + Specifies that the will be behind the + border. + + + + + Specifies that the will be behind the + object. + + + + + Specifies that the will be in front of + all other objects, except for the other + objects that have the same and are before + this object in the . + + + + + Enumeration that determines the type of label that is displayed for each pie slice + (see ). + + + + + Displays and for + a slice in a Pie Chart. + + + + + Displays and (as % of total) for + a slice in a Pie Chart. + + + + + Displays a containing the both + as an absolute number and as percentage of the total. + + + + + Displays for + a slice in a Pie Chart. + + + + + Displays (as % of total) for + a slice in a Pie Chart. + + + + + Displays for a slice in a Pie Chart. + + + + + No label displayed. + + + + + Define the auto layout options for the + method. + + + + + Layout the 's so they are in a square grid (always 2x2, 3x3, 4x4), + leaving blank spaces as required. + + For example, a single pane would generate a 1x1 grid, between 2 and 4 panes would generate + a 2x2 grid, 5 to 9 panes would generate a 3x3 grid. + + + + Layout the 's so they are in a general square (2x2, 3x3, etc.), but use extra + columns when necessary (row x column = 1x2, 2x3, 3x4, etc.) depending on the total number + of panes required. + + For example, a 2x2 grid has four panes and a 3x3 grid has 9 panes. If there are + 6 panes required, then this option will eliminate a row (column preferred) to make a + 2 row x 3 column grid. With 7 panes, it will make a 3x3 grid with 2 empty spaces. + + + + Layout the 's so they are in a general square (2x2, 3x3, etc.), but use extra + rows when necessary (2x1, 3x2, 4x3, etc.) depending on the total number of panes required. + + For example, a 2x2 grid has four panes and a 3x3 grid has 9 panes. If there are + 6 panes required, then this option will eliminate a column (row preferred) to make a + 3 row x 2 column grid. With 7 panes, it will make a 3x3 grid with 2 empty spaces. + + + + Layout the 's in a single row + + + + + Layout the 's in a single column + + + + + Layout the 's with an explicit number of columns: The first row has + 1 column and the second row has 2 columns for a total of 3 panes. + + + + + Layout the 's with an explicit number of columns: The first row has + 2 columns and the second row has 1 column for a total of 3 panes. + + + + + Layout the 's with an explicit number of columns: The first row has + 2 columns and the second row has 3 columns for a total of 5 panes. + + + + + Layout the 's with an explicit number of columns: The first row has + 3 columns and the second row has 2 columns for a total of 5 panes. + + + + + Layout the 's with an explicit number of rows: The first column has + 1 row and the second column has 2 rows for a total of 3 panes. + + + + + Layout the 's with an explicit number of rows: The first column has + 2 rows and the second column has 1 row for a total of 3 panes. + + + + + Layout the 's with an explicit number of rows: The first column has + 2 rows and the second column has 3 rows for a total of 5 panes. + + + + + Layout the 's with an explicit number of rows: The first column has + 3 rows and the second column has 2 rows for a total of 5 panes. + + + + + Enum for specifying the type of data to be returned by the ZedGraphWeb Render() method. + + + + + Renders as an IMG tag referencing a local generated image. ContentType stays text. + + + + + Renders the binary image. ContentType is changed accordingly. + + + + + A class designed to simplify the process of getting the actual value for + the various stacked and regular curve types + + + John Champion + $Revision: 3.21 $ $Date: 2008-12-02 12:55:34 $ + + + + Basic constructor that saves a reference to the parent + object. + + The parent object. + A flag to indicate whether or + not the drawing variables should be initialized. Initialization is not + required if this is part of a ZedGraph internal draw operation (i.e., its in + the middle of a call to ). Otherwise, you should + initialize to make sure the drawing variables are configured. true to do + an initialization, false otherwise. + + + + Get the user scale values associate with a particular point of a + particular curve. + The main purpose of this method is to handle + stacked bars, in which case the stacked values are returned rather + than the individual data values. + + A object of interest. + The zero-based point index for the point of interest. + A value representing the value + for the independent axis. + A value representing the lower + value for the dependent axis. + A value representing the upper + value for the dependent axis. + true if the data point is value, false for + , invalid, etc. data. + + + + Get the user scale values associate with a particular point of a + particular curve. + The main purpose of this method is to handle + stacked bars and lines, in which case the stacked values are returned rather + than the individual data values. However, this method works generically for any + curve type. + + The parent object. + A object of interest. + The zero-based point index for the point of interest. + A value representing the value + for the independent axis. + A value representing the lower + value for the dependent axis. + A value representing the upper + value for the dependent axis. + true if the data point is value, false for + , invalid, etc. data. + + + + Calculate the user scale position of the center of the specified bar, using the + as specified by . This method is + used primarily by the + method in order to + determine the bar "location," which is defined as the center of the top of the individual bar. + + The representing the + bar of interest. + The width of each individual bar. This can be calculated using + the method. + The cluster number for the bar of interest. This is the ordinal + position of the current point. That is, if a particular has + 10 points, then a value of 3 would indicate the 4th point in the data array. + The actual independent axis value for the bar of interest. + The ordinal position of the of interest. + That is, the first bar series is 0, the second is 1, etc. Note that this applies only + to the bars. If a graph includes both bars and lines, then count only the bars. + A user scale value position of the center of the bar of interest. + + + + inherits from , and defines the + special characteristics of a horizontal axis, specifically located at + the top of the of the + object + + + John Champion + $Revision: 3.1 $ $Date: 2007-04-16 00:03:07 $ + + + + A simple struct that defines the + default property values for the class. + + + + + The default display mode for the + ( property). true to display the scale + values, title, tic marks, false to hide the axis entirely. + + + + + Determines if a line will be drawn at the zero value for the + , that is, a line that + divides the negative values from positive values. + . + + + + + Default constructor that sets all properties to + default values as defined in the class + + + + + Default constructor that sets all properties to + default values as defined in the class, except + for the axis title + + The for this axis + + + + The Copy Constructor + + The X2Axis object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Setup the Transform Matrix to handle drawing of this + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determines if this object is a "primary" one. + + + The primary axes are the (always), + the (always), the first + in the + ( = 0), and the first + in the + ( = 0). Note that + and + always reference the primary axes. + + + A reference to the object that is the parent or + owner of this object. + + true for a primary (for the , + this is always true), false otherwise + + + + Calculate the "shift" size, in pixels, in order to shift the axis from its default + location to the value specified by . + + + A reference to the object that is the parent or + owner of this object. + + The shift amount measured in pixels + + + + Gets the "Cross" axis that corresponds to this axis. + + + The cross axis is the axis which determines the of this Axis when the + Axis.Cross property is used. The + cross axis for any or + is always the primary , and + the cross axis for any or is + always the primary . + + + A reference to the object that is the parent or + owner of this object. + + + + + inherits from , and defines the + special characteristics of a horizontal axis, specifically located at + the bottom of the of the + object + + + John Champion + $Revision: 3.16 $ $Date: 2007-04-16 00:03:02 $ + + + + A simple struct that defines the + default property values for the class. + + + + + The default display mode for the + ( property). true to display the scale + values, title, tic marks, false to hide the axis entirely. + + + + + Determines if a line will be drawn at the zero value for the + , that is, a line that + divides the negative values from positive values. + . + + + + + Default constructor that sets all properties to + default values as defined in the class + + + + + Default constructor that sets all properties to + default values as defined in the class, except + for the axis title + + The for this axis + + + + The Copy Constructor + + The XAxis object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Setup the Transform Matrix to handle drawing of this + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determines if this object is a "primary" one. + + + The primary axes are the (always), the first + in the + ( = 0), and the first + in the + ( = 0). Note that + and + always reference the primary axes. + + + A reference to the object that is the parent or + owner of this object. + + true for a primary (for the , + this is always true), false otherwise + + + + Calculate the "shift" size, in pixels, in order to shift the axis from its default + location to the value specified by . + + + A reference to the object that is the parent or + owner of this object. + + The shift amount measured in pixels + + + + Gets the "Cross" axis that corresponds to this axis. + + + The cross axis is the axis which determines the of this Axis when the + Axis.Cross property is used. The + cross axis for any or + is always the primary , and + the cross axis for any or is + always the primary . + + + A reference to the object that is the parent or + owner of this object. + + + + + This struct encapsulates a date and time value, and handles associated + calculations and conversions between various formats. + + + This format stored as a double value representing days since a reference date + (XL date 0.0 is December 30, 1899 at 00:00 hrs). + Negative values are permissible, and the + range of valid dates is from noon on January 1st, 4713 B.C. forward. Internally, the + date calculations are done using Astronomical Julian Day numbers. The Astronomical Julian + Day number is defined as the number of days since noon on January 1st, 4713 B.C. + (also referred to as 12:00 on January 1, -4712). + NOTE: MS Excel actually has an error in the Serial Date calculations because it + errantly assumes 1900 is a leap year. The XDate calculations do not have this same + error. Therefore, XDate and Excel Date Serial values are 1 day different up until + the date value of 60 (in Excel, this is February 29th, 1900, and in XDate, this is + February 28th, 1900). At a value of 61 (March 1st, 1900) or greater, they agree with + eachother. + + John Champion + $Revision: 3.23 $ $Date: 2007-11-11 06:56:34 $ + + + + The actual date value in MS Excel format. This is the only data field in + the struct. + + + + + The Astronomical Julian Day number that corresponds to XL Date 0.0 + + + + + The minimum valid Julian Day, which corresponds to January 1st, 4713 B.C. + + + + + The maximum valid Julian Day, which corresponds to December 31st, 9999 A.D. + + + + + The minimum valid Excel Day, which corresponds to January 1st, 4713 B.C. + + + + + The maximum valid Excel Day, which corresponds to December 31st, 9999 A.D. + + + + + The number of months in a year + + + + + The number of hours in a day + + + + + The number of minutes in an hour + + + + + The number of seconds in a minute + + + + + The number of minutes in a day + + + + + The number of seconds in a day + + + + + The number of milliseconds in a second + + + + + The number of milliseconds in a day + + + + + The default format string to be used in when + no format is provided + + + + + Construct a date class from an XL date value. + + + An XL Date value in floating point double format + + + + + Construct a date class from a struct. + + + A struct containing the initial date information. + + + + + Construct a date class from a calendar date (year, month, day). Assumes the time + of day is 00:00 hrs + + An integer value for the year, e.g., 1995. + An integer value for the day of the month, e.g., 23. + It is permissible to have day numbers outside of the 1-31 range, + which will rollover to the previous or next month and year. + An integer value for the month of the year, e.g., + 8 for August. It is permissible to have months outside of the 1-12 range, + which will rollover to the previous or next year. + + + + Construct a date class from a calendar date and time (year, month, day, hour, minute, + second). + + An integer value for the year, e.g., 1995. + An integer value for the day of the month, e.g., 23. + It is permissible to have day numbers outside of the 1-31 range, + which will rollover to the previous or next month and year. + An integer value for the month of the year, e.g., + 8 for August. It is permissible to have months outside of the 1-12 range, + which will rollover to the previous or next year. + An integer value for the hour of the day, e.g. 15. + It is permissible to have hour values outside the 0-23 range, which + will rollover to the previous or next day. + An integer value for the minute, e.g. 45. + It is permissible to have hour values outside the 0-59 range, which + will rollover to the previous or next hour. + An integer value for the second, e.g. 35. + It is permissible to have second values outside the 0-59 range, which + will rollover to the previous or next minute. + + + + Construct a date class from a calendar date and time (year, month, day, hour, minute, + second), where seconds is a value (allowing fractional seconds). + + An integer value for the year, e.g., 1995. + An integer value for the day of the month, e.g., 23. + It is permissible to have day numbers outside of the 1-31 range, + which will rollover to the previous or next month and year. + An integer value for the month of the year, e.g., + 8 for August. It is permissible to have months outside of the 1-12 range, + which will rollover to the previous or next year. + An integer value for the hour of the day, e.g. 15. + It is permissible to have hour values outside the 0-23 range, which + will rollover to the previous or next day. + An integer value for the minute, e.g. 45. + It is permissible to have hour values outside the 0-59 range, which + will rollover to the previous or next hour. + A double value for the second, e.g. 35.75. + It is permissible to have second values outside the 0-59 range, which + will rollover to the previous or next minute. + + + + Construct a date class from a calendar date and time (year, month, day, hour, minute, + second, millisecond). + + An integer value for the year, e.g., 1995. + An integer value for the day of the month, e.g., 23. + It is permissible to have day numbers outside of the 1-31 range, + which will rollover to the previous or next month and year. + An integer value for the month of the year, e.g., + 8 for August. It is permissible to have months outside of the 1-12 range, + which will rollover to the previous or next year. + An integer value for the hour of the day, e.g. 15. + It is permissible to have hour values outside the 0-23 range, which + will rollover to the previous or next day. + An integer value for the minute, e.g. 45. + It is permissible to have hour values outside the 0-59 range, which + will rollover to the previous or next hour. + An integer value for the second, e.g. 35. + It is permissible to have second values outside the 0-59 range, which + will rollover to the previous or next minute. + An integer value for the millisecond, e.g. 632. + It is permissible to have millisecond values outside the 0-999 range, which + will rollover to the previous or next second. + + + + The Copy Constructor + + The GraphPane object from which to copy + + + + Gets or sets the date value for this item in MS Excel format. + + + + + Returns true if this struct is in the valid date range + + + + + Gets or sets the date value for this item in .Net DateTime format. + + + + + Gets or sets the date value for this item in Julain day format. This is the + Astronomical Julian Day number, so a value of 0.0 corresponds to noon GMT on + January 1st, -4712. Thus, Julian Day number 2,400,000.0 corresponds to + noon GMT on November 16, 1858. + + + + + Gets or sets the decimal year number (i.e., 1997.345) corresponding to this item. + + + + + Returns true if the specified date value is in the valid range + + The XL date value to be verified for validity + true for a valid date, false otherwise + + + + Take the specified date, and bound it to the valid date range for the XDate struct. + + The date to be bounded + An XLDate value that lies between the minimum and maximum valid date ranges + (see and ) + + + + Get the calendar date (year, month, day) corresponding to this instance. + + An integer value for the year, e.g., 1995. + An integer value for the day of the month, e.g., 23. + An integer value for the month of the year, e.g., + 8 for August. + + + + Set the calendar date (year, month, day) of this instance. + + An integer value for the year, e.g., 1995. + An integer value for the day of the month, e.g., 23. + An integer value for the month of the year, e.g., + 8 for August. + + + + Get the calendar date (year, month, day, hour, minute, second) corresponding + to this instance. + + An integer value for the year, e.g., 1995. + An integer value for the day of the month, e.g., 23. + An integer value for the month of the year, e.g., + 8 for August. + An integer value for the hour of the day, e.g. 15. + An integer value for the minute, e.g. 45. + An integer value for the second, e.g. 35. + + + + Set the calendar date (year, month, day, hour, minute, second) of this instance. + + An integer value for the year, e.g., 1995. + An integer value for the day of the month, e.g., 23. + An integer value for the month of the year, e.g., + 8 for August. + An integer value for the hour of the day, e.g. 15. + An integer value for the minute, e.g. 45. + An integer value for the second, e.g. 35. + + + + Get the day of year value (241.345 means the 241st day of the year) + corresponding to this instance. + + The day of the year in floating point double format. + + + + Calculate an XL Date from the specified Calendar date (year, month, day, hour, minute, second), + first normalizing all input data values. + + + The Calendar date is always based on the Gregorian Calendar. Note that the Gregorian calendar is really + only valid from October 15, 1582 forward. The countries that adopted the Gregorian calendar + first did so on October 4, 1582, so that the next day was October 15, 1582. Prior to that time + the Julian Calendar was used. However, Prior to March 1, 4 AD the treatment of leap years was + inconsistent, and prior to 45 BC the Julian Calendar did not exist. The + struct projects only Gregorian dates backwards and does not deal with Julian calendar dates at all. The + method will just append a "(BC)" notation to the end of any dates + prior to 1 AD, since the struct throws an exception when formatting earlier dates. + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + The integer millisecond value (e.g., 374 for 374 milliseconds past the second). + + The corresponding XL date, expressed in double floating point format + + + + Calculate an XL Date from the specified Calendar date (year, month, day, hour, minute, second), + first normalizing all input data values. + + + The Calendar date is always based on the Gregorian Calendar. Note that the Gregorian calendar is really + only valid from October 15, 1582 forward. The countries that adopted the Gregorian calendar + first did so on October 4, 1582, so that the next day was October 15, 1582. Prior to that time + the Julian Calendar was used. However, Prior to March 1, 4 AD the treatment of leap years was + inconsistent, and prior to 45 BC the Julian Calendar did not exist. The + struct projects only Gregorian dates backwards and does not deal with Julian calendar dates at all. The + method will just append a "(BC)" notation to the end of any dates + prior to 1 AD, since the struct throws an exception when formatting earlier dates. + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + The corresponding XL date, expressed in double floating point format + + + + Calculate an XL Date from the specified Calendar date (year, month, day, hour, minute, second), + first normalizing all input data values. The seconds value is a double type, allowing fractional + seconds. + + + The Calendar date is always based on the Gregorian Calendar. Note that the Gregorian calendar is really + only valid from October 15, 1582 forward. The countries that adopted the Gregorian calendar + first did so on October 4, 1582, so that the next day was October 15, 1582. Prior to that time + the Julian Calendar was used. However, Prior to March 1, 4 AD the treatment of leap years was + inconsistent, and prior to 45 BC the Julian Calendar did not exist. The + struct projects only Gregorian dates backwards and does not deal with Julian calendar dates at all. The + method will just append a "(BC)" notation to the end of any dates + prior to 1 AD, since the struct throws an exception when formatting earlier dates. + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The double second value (e.g., 42.3 for 42.3 seconds past the minute). + + The corresponding XL date, expressed in double floating point format + + + + Calculate an Astronomical Julian Day number from the specified Calendar date + (year, month, day, hour, minute, second), first normalizing all input data values + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + The corresponding Astronomical Julian Day number, expressed in double + floating point format + + + + Calculate an Astronomical Julian Day number from the specified Calendar date + (year, month, day, hour, minute, second), first normalizing all input data values + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + The integer second value (e.g., 325 for 325 milliseconds past the minute). + + The corresponding Astronomical Julian Day number, expressed in double + floating point format + + + + Normalize a set of Calendar date values (year, month, day, hour, minute, second) to make sure + that month is between 1 and 12, hour is between 0 and 23, etc. + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + The double millisecond value (e.g., 325.3 for 325.3 milliseconds past the second). + + + + + Calculate an XL date from the specified Calendar date (year, month, day, hour, minute, second). + This is the internal trusted version, where all values are assumed to be legitimate + ( month is between 1 and 12, minute is between 0 and 59, etc. ) + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + The double millisecond value (e.g., 325.3 for 325.3 milliseconds past the second). + + The corresponding XL date, expressed in double floating point format + + + + Calculate an Astronomical Julian Day Number from the specified Calendar date + (year, month, day, hour, minute, second). + This is the internal trusted version, where all values are assumed to be legitimate + ( month is between 1 and 12, minute is between 0 and 59, etc. ) + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + The double millisecond value (e.g., 325.3 for 325.3 milliseconds past the second). + + The corresponding Astronomical Julian Day number, expressed in double + floating point format + + + + Calculate a Calendar date (year, month, day, hour, minute, second) corresponding to + the specified XL date + + + The XL date value in floating point double format. + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + + + Calculate a Calendar date (year, month, day, hour, minute, second) corresponding to + the specified XL date + + + The XL date value in floating point double format. + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + The integer millisecond value (e.g., 325 for 325 milliseconds past the second). + + + + + Calculate a Calendar date (year, month, day, hour, minute, second) corresponding to + the specified XL date + + + The XL date value in floating point double format. + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The double second value (e.g., 42.3 for 42.3 seconds past the minute). + + + + + Calculate a Calendar date (year, month, day, hour, minute, second) corresponding to + the Astronomical Julian Day number + + + The Astronomical Julian Day number to be converted + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + + + Calculate a Calendar date (year, month, day, hour, minute, second) corresponding to + the Astronomical Julian Day number + + + The Astronomical Julian Day number to be converted + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The double second value (e.g., 42.3 for 42.3 seconds past the minute). + + + + + Calculate a Calendar date (year, month, day, hour, minute, second) corresponding to + the Astronomical Julian Day number + + + The Astronomical Julian Day number to be converted + + + The integer year value (e.g., 1994). + + + The integer month value (e.g., 7 for July). + + + The integer day value (e.g., 19 for the 19th day of the month). + + + The integer hour value (e.g., 14 for 2:00 pm). + + + The integer minute value (e.g., 35 for 35 minutes past the hour). + + + The integer second value (e.g., 42 for 42 seconds past the minute). + + + The millisecond value (e.g., 342.5 for 342.5 milliseconds past + the second). + + + + + Calculate an Astronomical Julian Day number corresponding to the specified XL date + + + The XL date value in floating point double format. + + The corresponding Astronomical Julian Day number, expressed in double + floating point format + + + + Calculate an XL Date corresponding to the specified Astronomical Julian Day number + + + The Astronomical Julian Day number in floating point double format. + + The corresponding XL Date, expressed in double + floating point format + + + + Calculate a decimal year value (e.g., 1994.6523) corresponding to the specified XL date + + + The XL date value in floating point double format. + + The corresponding decimal year value, expressed in double + floating point format + + + + Calculate a decimal year value (e.g., 1994.6523) corresponding to the specified XL date + + + The decimal year value in floating point double format. + + The corresponding XL Date, expressed in double + floating point format + + + + Calculate a day-of-year value (e.g., 241.543 corresponds to the 241st day of the year) + corresponding to the specified XL date + + + The XL date value in floating point double format. + + The corresponding day-of-year (DoY) value, expressed in double + floating point format + + + + Calculate a day-of-week value (e.g., Sun=0, Mon=1, Tue=2, etc.) + corresponding to the specified XL date + + + The XL date value in floating point double format. + + The corresponding day-of-week (DoW) value, expressed in integer format + + + + Convert an XL date format to a .Net DateTime struct + + + The XL date value in floating point double format. + + The corresponding XL Date, expressed in double + floating point format + The corresponding date in the form of a .Net DateTime struct + + + + Convert a .Net DateTime struct to an XL Format date + + + The date value in the form of a .Net DateTime struct + + The corresponding XL Date, expressed in double + floating point format + + + + Add the specified number of milliseconds (can be fractional) to the current XDate instance. + + + The incremental number of milliseconds (negative or positive) in floating point double format. + + + + + Add the specified number of seconds (can be fractional) to the current XDate instance. + + + The incremental number of seconds (negative or positive) in floating point double format. + + + + + Add the specified number of minutes (can be fractional) to the current XDate instance. + + + The incremental number of minutes (negative or positive) in floating point double format. + + + + + Add the specified number of hours (can be fractional) to the current XDate instance. + + + The incremental number of hours (negative or positive) in floating point double format. + + + + + Add the specified number of days (can be fractional) to the current XDate instance. + + + The incremental number of days (negative or positive) in floating point double format. + + + + + Add the specified number of Months (can be fractional) to the current XDate instance. + + + The incremental number of months (negative or positive) in floating point double format. + + + + + Add the specified number of years (can be fractional) to the current XDate instance. + + + The incremental number of years (negative or positive) in floating point double format. + + + + + '-' operator overload. When two XDates are subtracted, the number of days between dates + is returned. + + The left-hand-side of the '-' operator (an XDate class) + The right-hand-side of the '-' operator (an XDate class) + The days between dates, expressed as a floating point double + + + + '-' operator overload. When a double value is subtracted from an XDate, the result is a + new XDate with the number of days subtracted. + + The left-hand-side of the '-' operator (an XDate class) + The right-hand-side of the '-' operator (a double value) + An XDate with the rhs number of days subtracted + + + + '+' operator overload. When a double value is added to an XDate, the result is a + new XDate with the number of days added. + + The left-hand-side of the '-' operator (an XDate class) + The right-hand-side of the '+' operator (a double value) + An XDate with the rhs number of days added + + + + '++' operator overload. Increment the date by one day. + + The XDate struct on which to operate + An XDate one day later than the specified date + + + + '--' operator overload. Decrement the date by one day. + + The XDate struct on which to operate + An XDate one day prior to the specified date + + + + Implicit conversion from XDate to double (an XL Date). + + The XDate struct on which to operate + A double floating point value representing the XL Date + + + + Implicit conversion from XDate to float (an XL Date). + + The XDate struct on which to operate + A double floating point value representing the XL Date + + + + Implicit conversion from double (an XL Date) to XDate. + + The XDate struct on which to operate + An XDate struct representing the specified xlDate value. + + + + Implicit conversion from XDate to . + + The XDate struct on which to operate + A struct representing the specified xDate value. + + + + Implicit conversion from to . + + The struct on which to operate + An struct representing the specified DateTime value. + + + + Tests whether obj is either an structure or + a double floating point value that is equal to the same date as this XDate + struct instance. + + The object to compare for equality with this XDate instance. + This object should be either a type XDate or type double. + Returns true if obj is the same date as this + instance; otherwise, false + + + + Returns the hash code for this structure. In this case, the + hash code is simply the equivalent hash code for the floating point double date value. + + An integer representing the hash code for this XDate value + + + + Compares one object to another. + + + This method will throw an exception if is not an + object. + + The second object to be compared. + zero if is equal to the current instance, + -1 if is less than the current instance, and + 1 if is greater than the current instance. + + + + Format this XDate value using the default format string (). + + + The formatting is done using the + method in order to provide full localization capability. The DateTime struct is limited to + dates from 1 AD onward. However, all calendar dates in and + are projected Gregorian calendar dates. Since the Gregorian calendar was not implemented + until October 4, 1582 (or later in some countries), Gregorian dates prior to that time are + really dates that would have been, had the Gregorian calendar existed. In order to avoid + throwing an exception, for dates prior to 1 AD, the year will be converted to a positive + year and the text "(BC)" is appended to the end of the formatted string. Under this mode, the + year sequence is 2BC, 1BC, 1AD, 2AD, etc. There is no year zero. + + + The XL date value to be formatted in floating point double format. + + A string representation of the date + + + + Format this XDate value using the default format string (see cref="DefaultFormatStr"/>). + + + The formatting is done using the + + method in order to provide full localization capability. The DateTime struct is limited to + dates from 1 AD onward. However, all calendar dates in and + + are projected Gregorian calendar dates. Since the Gregorian calendar was not implemented + until October 4, 1582 (or later in some countries), Gregorian dates prior to that time are + really dates that would have been, had the Gregorian calendar existed. In order to avoid + throwing an exception, for dates prior to 1 AD, the year will be converted to a positive + year and the text "(BC)" is appended to the end of the formatted string. Under this mode, the + year sequence is 2BC, 1BC, 1AD, 2AD, etc. There is no year zero. + + A string representation of the date + + + + Format this XL Date value using the specified format string. The format + string is specified according to the class. + + + The formatting is done using the + + method in order to provide full localization capability. The DateTime struct is limited to + dates from 1 AD onward. However, all calendar dates in and + + are projected Gregorian calendar dates. Since the Gregorian calendar was not implemented + until October 4, 1582 (or later in some countries), Gregorian dates prior to that time are + really dates that would have been, had the Gregorian calendar existed. In order to avoid + throwing an exception, for dates prior to 1 AD, the year will be converted to a positive + year and the text "(BC)" is appended to the end of the formatted string. Under this mode, the + year sequence is 2BC, 1BC, 1AD, 2AD, etc. There is no year zero. + + + The formatting string to be used for the date. See + + class for a list of the format types available. + A string representation of the date + + + + Format the specified XL Date value using the specified format string. The format + string is specified according to the class. + + + The formatting is done using the + + method in order to provide full localization capability. The DateTime struct is limited to + dates from 1 AD onward. However, all calendar dates in and + + are projected Gregorian calendar dates. Since the Gregorian calendar was not implemented + until October 4, 1582 (or later in some countries), Gregorian dates prior to that time are + really dates that would have been, had the Gregorian calendar existed. In order to avoid + throwing an exception, for dates prior to 1 AD, the year will be converted to a positive + year and the text "(BC)" is appended to the end of the formatted string. Under this mode, the + year sequence is 2BC, 1BC, 1AD, 2AD, etc. There is no year zero. + + + The XL date value to be formatted in floating point double format. + + + The formatting string to be used for the date. See + + for a list of the format types available. + A string representation of the date + + + + inherits from , and defines the + special characteristics of a vertical axis, specifically located on + the right side of the of the + object + + + John Champion + $Revision: 3.16 $ $Date: 2007-04-16 00:03:05 $ + + + + A simple subclass of the class that defines the + default property values for the class. + + + + + The default display mode for the + ( property). true to display the scale + values, title, tic marks, false to hide the axis entirely. + + + + + Determines if a line will be drawn at the zero value for the + , that is, a line that + divides the negative values from positive values. + . + + + + + Default constructor that sets all properties to + default values as defined in the class + + + + + Default constructor that sets all properties to + default values as defined in the class, except + for the axis title + + The for this axis + + + + The Copy Constructor + + The Y2Axis object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Setup the Transform Matrix to handle drawing of this + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determines if this object is a "primary" one. + + + The primary axes are the (always), the first + in the + ( = 0), and the first + in the + ( = 0). Note that + and + always reference the primary axes. + + + A reference to the object that is the parent or + owner of this object. + + true for a primary , false otherwise + + + + Calculate the "shift" size, in pixels, in order to shift the axis from its default + location to the value specified by . + + + A reference to the object that is the parent or + owner of this object. + + The shift amount measured in pixels + + + + Gets the "Cross" axis that corresponds to this axis. + + + The cross axis is the axis which determines the of this Axis when the + Axis.Cross property is used. The + cross axis for any or + is always the primary , and + the cross axis for any or is + always the primary . + + + A reference to the object that is the parent or + owner of this object. + + + + + A collection class containing a list of objects. + + + John Champion + $Revision: 3.3 $ $Date: 2006-06-24 20:26:43 $ + + + + Default constructor for the collection class. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Indexer to access the specified object by + its ordinal position in the list. + + The ordinal position (zero-based) of the + object to be accessed. + An object reference. + + + + Indexer to access the specified object by + its string. + + The string title of the + object to be accessed. + A object reference. + + + + Return the zero-based position index of the + with the specified . + + The comparison of titles is not case sensitive, but it must include + all characters including punctuation, spaces, etc. + The label that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the was not found in the list + + + + + Return the zero-based position index of the + with the specified . + + In order for this method to work, the + property must be of type . + The tag that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the string is not in the list + + + + + Create a new and add it to this list. + + The title string for the new axis + An integer representing the ordinal position of the new in + this . This is the value that you would set the + property of a given to + assign it to this new . Note that, for a , + you would also need to set the property to true. + + + + inherits from , and defines the + special characteristics of a vertical axis, specifically located on + the right side of the of the + object + + + John Champion + $Revision: 3.16 $ $Date: 2007-04-16 00:03:06 $ + + + + A simple struct that defines the + default property values for the class. + + + + + The default display mode for the + ( property). true to display the scale + values, title, tic marks, false to hide the axis entirely. + + + + + Determines if a line will be drawn at the zero value for the + , that is, a line that + divides the negative values from positive values. + . + + + + + Default constructor that sets all properties to + default values as defined in the class + + + + + Default constructor that sets all properties to + default values as defined in the class, except + for the axis title + + The for this axis + + + + The Copy Constructor + + The YAxis object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Current schema value that defines the version of the serialized file + + + + + Constructor for deserializing objects + + A instance that defines the serialized data + + A instance that contains the serialized data + + + + + Populates a instance with the data needed to serialize the target object + + A instance that defines the serialized data + A instance that contains the serialized data + + + + Setup the Transform Matrix to handle drawing of this + + + A graphic device object to be drawn into. This is normally e.Graphics from the + PaintEventArgs argument to the Paint() method. + + + A reference to the object that is the parent or + owner of this object. + + + The scaling factor to be used for rendering objects. This is calculated and + passed down by the parent object using the + method, and is used to proportionally adjust + font sizes, etc. according to the actual size of the graph. + + + + + Determines if this object is a "primary" one. + + + The primary axes are the (always), the first + in the + ( = 0), and the first + in the + ( = 0). Note that + and + always reference the primary axes. + + + A reference to the object that is the parent or + owner of this object. + + true for a primary , false otherwise + + + + Calculate the "shift" size, in pixels, in order to shift the axis from its default + location to the value specified by . + + + A reference to the object that is the parent or + owner of this object. + + The shift amount measured in pixels + + + + Gets the "Cross" axis that corresponds to this axis. + + + The cross axis is the axis which determines the of this Axis when the + Axis.Cross property is used. The + cross axis for any or + is always the primary , and + the cross axis for any or is + always the primary . + + + A reference to the object that is the parent or + owner of this object. + + + + + A collection class containing a list of objects. + + + John Champion + $Revision: 3.3 $ $Date: 2006-06-24 20:26:43 $ + + + + Default constructor for the collection class. + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Indexer to access the specified object by + its ordinal position in the list. + + The ordinal position (zero-based) of the + object to be accessed. + An object reference. + + + + Indexer to access the specified object by + its string. + + The string title of the + object to be accessed. + A object reference. + + + + Return the zero-based position index of the + with the specified . + + The comparison of titles is not case sensitive, but it must include + all characters including punctuation, spaces, etc. + The label that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the was not found in the list + + + + + Return the zero-based position index of the + with the specified . + + In order for this method to work, the + property must be of type . + + The tag that is in the + attribute of the item to be found. + + The zero-based index of the specified , + or -1 if the string is not in the list + + + + Create a new and add it to this list. + + The title string for the new axis + An integer representing the ordinal position of the new in + this . This is the value that you would set the + property of a given to + assign it to this new . + + + + An exception thrown by ZedGraph. A child class of . + + + Jerry Vos modified by John Champion + $Revision: 3.2 $ $Date: 2006-06-24 20:26:44 $ + + + + Initializes a new instance of the + class with serialized data. + + The + instance that holds the serialized object data about the exception being thrown. + The + instance that contains contextual information about the source or destination. + + + + Initializes a new instance of the class with a specified + error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception. + If the innerException parameter is not a null reference, the current exception is raised + in a catch block that handles the inner exception. + + + + Initializes a new instance of the class with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Image copied to clipboard. + + + + + Looks up a localized string similar to Copy. + + + + + Looks up a localized string similar to Page Setup.... + + + + + Looks up a localized string similar to Print.... + + + + + Looks up a localized string similar to Save Image As.... + + + + + Looks up a localized string similar to Set Scale to Default. + + + + + Looks up a localized string similar to Show Point Values. + + + + + Looks up a localized string similar to Title. + + + + + Looks up a localized string similar to Undo All Zoom/Pan. + + + + + Looks up a localized string similar to Un-Pan. + + + + + Looks up a localized string similar to Undo Scroll. + + + + + Looks up a localized string similar to Un-Zoom. + + + + + Looks up a localized string similar to X Axis. + + + + + Looks up a localized string similar to Y Axis. + + + + + A class that captures all the scale range settings for a . + + + This class is used to store scale ranges in order to allow zooming out to + prior scale range states. objects are maintained in the + collection. The object holds + a object for each of the three axes; the , + the , and the . + + John Champion + $Revision: 3.15 $ $Date: 2007-04-16 00:03:07 $ + + + + An enumeration that describes whether a given state is the result of a Pan or Zoom + operation. + + + + + Indicates the object is from a Zoom operation + + + + + Indicates the object is from a Wheel Zoom operation + + + + + Indicates the object is from a Pan operation + + + + + Indicates the object is from a Scroll operation + + + + + objects to store the state data from the axes. + + + + + objects to store the state data from the axes. + + + + + An enum value indicating the type of adjustment being made to the + scale range state. + + + + + Gets a value indicating the type of action (zoom or pan) + saved by this . + + + + + Gets a string representing the type of adjustment that was made when this scale + state was saved. + + A string representation for the state change type; typically + "Pan", "Zoom", or "Scroll". + + + + Construct a object from the scale ranges settings contained + in the specified . + + The from which to obtain the scale + range values. + + A enumeration that indicates whether + this saved state is from a pan or zoom. + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Copy the properties from this out to the specified . + + The to which the scale range properties should be + copied. + + + + Determine if the state contained in this object is different from + the state of the specified . + + The object with which to compare states. + true if the states are different, false otherwise + + + + A LIFO stack of prior objects, used to allow zooming out to prior + states (of scale range settings). + + John Champion + $Revision: 3.1 $ $Date: 2006-06-24 20:26:44 $ + + + + Default Constructor + + + + + The Copy Constructor + + The object from which to copy + + + + Implement the interface in a typesafe manner by just + calling the typed version of + + A deep copy of this object + + + + Typesafe, deep-copy clone method. + + A new, independent copy of this class + + + + Public readonly property that indicates if the stack is empty + + true for an empty stack, false otherwise + + + + Add the scale range information from the specified object as a + new entry on the stack. + + The object from which the scale range + information should be copied. + A enumeration that indicates whether this + state is the result of a zoom or pan operation. + The resultant object that was pushed on the stack. + + + + Add the scale range information from the specified object as a + new entry on the stack. + + The object to be placed on the stack. + The object (same as the + parameter). + + + + Pop a entry from the top of the stack, and apply the properties + to the specified object. + + The object to which the scale range + information should be copied. + The object that was "popped" from the stack and applied + to the specified . null if no was + available (the stack was empty). + + + + Pop the entry from the bottom of the stack, and apply the properties + to the specified object. Clear the stack completely. + + The object to which the scale range + information should be copied. + The object at the bottom of the stack that was applied + to the specified . null if no was + available (the stack was empty). + + + + Gets a reference to the object at the top of the stack, + without actually removing it from the stack. + + A object reference, or null if the stack is empty. + +
+
diff --git a/Auto_Demo/bin/Debug/adb.exe b/Auto_Demo/bin/Debug/adb.exe new file mode 100644 index 0000000..85348a3 Binary files /dev/null and b/Auto_Demo/bin/Debug/adb.exe differ diff --git a/Auto_Demo/bin/Debug/data2/additem.svg b/Auto_Demo/bin/Debug/data2/additem.svg new file mode 100644 index 0000000..db5520d --- /dev/null +++ b/Auto_Demo/bin/Debug/data2/additem.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/Auto_Demo/bin/Debug/data2/close-square.svg b/Auto_Demo/bin/Debug/data2/close-square.svg new file mode 100644 index 0000000..edb1980 --- /dev/null +++ b/Auto_Demo/bin/Debug/data2/close-square.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Auto_Demo/bin/Debug/data2/icon.png b/Auto_Demo/bin/Debug/data2/icon.png new file mode 100644 index 0000000..5b02eb0 Binary files /dev/null and b/Auto_Demo/bin/Debug/data2/icon.png differ diff --git a/Auto_Demo/bin/Debug/data2/logo-2.png b/Auto_Demo/bin/Debug/data2/logo-2.png new file mode 100644 index 0000000..580f151 Binary files /dev/null and b/Auto_Demo/bin/Debug/data2/logo-2.png differ diff --git a/Auto_Demo/bin/Debug/data2/logo-5.png b/Auto_Demo/bin/Debug/data2/logo-5.png new file mode 100644 index 0000000..715653d Binary files /dev/null and b/Auto_Demo/bin/Debug/data2/logo-5.png differ diff --git a/Auto_Demo/bin/Debug/data2/logo.png b/Auto_Demo/bin/Debug/data2/logo.png new file mode 100644 index 0000000..4e329a9 Binary files /dev/null and b/Auto_Demo/bin/Debug/data2/logo.png differ diff --git a/Auto_Demo/bin/Debug/data2/maximize.svg b/Auto_Demo/bin/Debug/data2/maximize.svg new file mode 100644 index 0000000..976e686 --- /dev/null +++ b/Auto_Demo/bin/Debug/data2/maximize.svg @@ -0,0 +1,4 @@ + + + + diff --git a/Auto_Demo/bin/Debug/database.db b/Auto_Demo/bin/Debug/database.db new file mode 100644 index 0000000..e69de29 diff --git a/Auto_Demo/bin/Debug/database/database.db b/Auto_Demo/bin/Debug/database/database.db new file mode 100644 index 0000000..740a6a6 Binary files /dev/null and b/Auto_Demo/bin/Debug/database/database.db differ diff --git a/Auto_Demo/bin/Debug/tessdata/number.traineddata b/Auto_Demo/bin/Debug/tessdata/number.traineddata new file mode 100644 index 0000000..88d35de Binary files /dev/null and b/Auto_Demo/bin/Debug/tessdata/number.traineddata differ diff --git a/Auto_Demo/bin/Debug/tessdata/vie.traineddata b/Auto_Demo/bin/Debug/tessdata/vie.traineddata new file mode 100644 index 0000000..1be82db Binary files /dev/null and b/Auto_Demo/bin/Debug/tessdata/vie.traineddata differ diff --git a/Auto_Demo/bin/Debug/x64/SQLite.Interop.dll b/Auto_Demo/bin/Debug/x64/SQLite.Interop.dll new file mode 100644 index 0000000..efd5bc7 Binary files /dev/null and b/Auto_Demo/bin/Debug/x64/SQLite.Interop.dll differ diff --git a/Auto_Demo/bin/Debug/x64/leptonica-1.80.0.dll b/Auto_Demo/bin/Debug/x64/leptonica-1.80.0.dll new file mode 100644 index 0000000..9ef9b59 Binary files /dev/null and b/Auto_Demo/bin/Debug/x64/leptonica-1.80.0.dll differ diff --git a/Auto_Demo/bin/Debug/x64/tesseract41.dll b/Auto_Demo/bin/Debug/x64/tesseract41.dll new file mode 100644 index 0000000..dcf6edf Binary files /dev/null and b/Auto_Demo/bin/Debug/x64/tesseract41.dll differ diff --git a/Auto_Demo/bin/Debug/x86/SQLite.Interop.dll b/Auto_Demo/bin/Debug/x86/SQLite.Interop.dll new file mode 100644 index 0000000..23a9134 Binary files /dev/null and b/Auto_Demo/bin/Debug/x86/SQLite.Interop.dll differ diff --git a/Auto_Demo/bin/Debug/x86/leptonica-1.80.0.dll b/Auto_Demo/bin/Debug/x86/leptonica-1.80.0.dll new file mode 100644 index 0000000..294dffd Binary files /dev/null and b/Auto_Demo/bin/Debug/x86/leptonica-1.80.0.dll differ diff --git a/Auto_Demo/bin/Debug/x86/tesseract41.dll b/Auto_Demo/bin/Debug/x86/tesseract41.dll new file mode 100644 index 0000000..65dc7ad Binary files /dev/null and b/Auto_Demo/bin/Debug/x86/tesseract41.dll differ diff --git a/Auto_Demo/bin/Release/Auto_Demo.exe b/Auto_Demo/bin/Release/Auto_Demo.exe new file mode 100644 index 0000000..fcc3b1d Binary files /dev/null and b/Auto_Demo/bin/Release/Auto_Demo.exe differ diff --git a/Auto_Demo/bin/Release/Auto_Demo.exe.config b/Auto_Demo/bin/Release/Auto_Demo.exe.config new file mode 100644 index 0000000..9bacd89 --- /dev/null +++ b/Auto_Demo/bin/Release/Auto_Demo.exe.config @@ -0,0 +1,22 @@ + + + + +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/bin/Release/Auto_Demo.pdb b/Auto_Demo/bin/Release/Auto_Demo.pdb new file mode 100644 index 0000000..dabc1f0 Binary files /dev/null and b/Auto_Demo/bin/Release/Auto_Demo.pdb differ diff --git a/Auto_Demo/bin/Release/EntityFramework.SqlServer.dll b/Auto_Demo/bin/Release/EntityFramework.SqlServer.dll new file mode 100644 index 0000000..e11b437 Binary files /dev/null and b/Auto_Demo/bin/Release/EntityFramework.SqlServer.dll differ diff --git a/Auto_Demo/bin/Release/EntityFramework.SqlServer.xml b/Auto_Demo/bin/Release/EntityFramework.SqlServer.xml new file mode 100644 index 0000000..ea081f1 --- /dev/null +++ b/Auto_Demo/bin/Release/EntityFramework.SqlServer.xml @@ -0,0 +1,2156 @@ + + + + EntityFramework.SqlServer + + + + + An that retries actions that throw exceptions caused by SQL Azure transient failures. + + + This execution strategy will retry the operation on and + if the contains any of the following error numbers: + 40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20 + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for + number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the ASCII code value of the left-most character of a character expression. + The ASCII code of the first character in the input string. + A valid string. + + + Returns the character that corresponds to the specified integer ASCII value. + The character that corresponds to the specified ASCII value. + An ASCII code. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + + A of value that is the starting position of toFind if it is found in toSearch . + + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions. + The SOUNDEX difference between the two strings. + The first string. + The second string. + + + Returns the Unicode character with the specified integer code, as defined by the Unicode standard. + The character that corresponds to the input character code. + A character code. + + + Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types. + The starting character position where the string pattern was found. + A string pattern to search for. + The string to search. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with brackets added. + The expression that quote characters will be added to. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with the specified quote characters added. + The expression that quote characters will be added to. + The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used. + + + Repeats a string value a specified number of times. + The target string, repeated the number of times specified by count . + A valid string. + The value that specifies how many time to repeat target . + + + Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names. + The SOUNDEX code of the input string. + A valid string. + + + Returns a string of repeated spaces. + A string that consists of the specified number of spaces. + The number of spaces. If negative, a null string is returned. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position. + A string consisting of the two strings. + The target string. + The character position in stringinput where the replacement string is to be inserted. + The number of characters to delete from stringInput . If length is longer than stringInput , deletion occurs up to the last character in stringReplacement . + The substring to be inserted into stringInput . + + + Returns the integer value, as defined by the Unicode standard, for the first character of the input expression. + The character code for the first character in the input string. + A valid string. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + The angle, in radians, defined by the input cosine value. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + An angle, measured in radians. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the constant value of pi. + The numeric value of pi. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + The seed value. If seed is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns a new datetime value based on adding an interval to the specified date. + The new date. + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new time span value based on adding an interval to the specified time span. + The new time span. + The part of the date to increment. + The value used to increment a date by a specified amount. + The time span to increment. + + + Returns a new date value based on adding an interval to the specified date. + The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC). + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new datetime value based on adding an interval to the specified date. + + A of value that is the new date. + + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The value specifying the number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two Dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database timestamp. + + + Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database UTC timestamp. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input values. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the current date and time. + The current date and time. + + + Returns the name of the current user. + The name of the current user. + + + Returns the workstation name. + The name of the workstation. + + + Returns a database user name corresponding to a specified identification number. + The user name. + A user ID. + + + Returns a database user name corresponding to a specified identification number. + The user name. + + + Indicates whether the input value is a valid numeric type. + 1 if the input expression is a valid numeric data type; otherwise, 0. + A string expression. + + + Indicates whether the input value is a valid date or time. + 1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0. + The tested value. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns a hierarchyid representing the nth ancestor of this. + A hierarchyid representing the nth ancestor of this. + The hierarchyid value. + n + + + Returns a child node of the parent. + The hierarchyid value. + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + Returns an integer that represents the depth of the node this in the tree. + An integer that represents the depth of the node this in the tree. + The hierarchyid value. + + + Returns the root of the hierarchy tree. + The root of the hierarchy tree. + + + Returns true if this is a descendant of parent. + True if this is a descendant of parent. + The hierarchyid value. + parent + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + Hierarchyid value. + The hierarchyid value. + oldRoot + newRoot + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + Hierarchyid value. + input + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + + True since this provider supports the parameter optimization. + + + + The DbProviderServices implementation for the SqlClient provider for SQL Server. + + + Note that instance of this type also resolve additional provider services for Microsoft SQL Server + when this type is registered as an EF provider either using an entry in the application's config file + or through code-based registration in . + The services resolved are: + Requests for are resolved to a Singleton instance of + to create connections to LocalDB by default. + Requests for for the invariant name "System.Data.SqlClient" + for any server name are resolved to a delegate that returns a + to provide a non-retrying policy for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to instances to provide default Migrations SQL + generation for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to a Singleton instance of to provide default spatial + services for SQL Server. + + + + + This is the well-known string using in configuration files and code-based configuration as + the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and + Entity Framework provider services. + + + + + The Singleton instance of the SqlProviderServices type. + + + + + Set to the full name of the Microsoft.SqlServer.Types assembly to override the default selection + + + + + Get or sets a value indicating whether parameter values are truncated to + the scale (number of decimal places) defined for their corresponding columns when they are sent + to the database. A value of true indicates that objects + created for columns will have their + properties set, which will cause the parameter values to be truncated. If set to false + then the properties will not be set, avoiding the truncation + behavior of and allowing SQL Server to round values if necessary. + The default value is true to prevent breaking existing applications that depend on this + behavior. + + + + + Gets or sets a value indicating whether to use the SCOPE_IDENTITY() function to retrieve values + generated by the database for numeric columns during an INSERT operation. The default value of + true is recommended and can provide better performance if all numeric values are generated + using IDENTITY columns. If set to false, an OUTPUT clause will be used instead. An OUTPUT + clause makes it possible to retrieve values generated by sequences or other means. + + + + + Gets or sets a value indicating whether the ROW_NUMBER() function is used in sort expression + passed to the ORDER BY clause when OFFSET is present in query. The default value of true + is recommended to obtain query results that are stable for paging operations. The value of + false can be used for compatibility with previous versions of EF and will cause the sort + expression to be passed unmodified to the ORDER BY clause, which can lead to unstable results + if the ordering is ambiguous. + + + This flag only applies to SQL Server 2012 or later. This flag does not affect queries that have + already been translated to SQL and cached, therefore applications that need to set the value to + false for compatibility should do so before executing any queries. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object, given the connection and command tree + + provider manifest that was determined from metadata + command tree for the statement + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + can cause deadlocks. + So here overriding to provide a method that does not clone DesignTimeVisible. + + the object to clone + a clone of the + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + + Returns the provider manifest by using the specified version information. + + The token information associated with the provider manifest. + The provider manifest by using the specified version information. + + + + Gets a spatial data reader for SQL Server. + + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Gets a spatial data reader for SQL Server. + + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Create the database and the database objects. + If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename. + Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name. + However if we try to replicate the name under which it would be attached, the following scenario would fail: + The file does not exist, but registered with database. + The user calls: If (DatabaseExists) DeleteDatabase + CreateDatabase + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Delete the database for the given connection. + There are three cases: + 1. If Initial Catalog is specified (X) drop database X + 2. Else if AttachDBFilename is specified (F) drop all the databases corresponding to F + if none throw + 3. If niether the catalog not the file name is specified - throw + Note that directly deleting the files does not work for a remote server. However, even for not attached + databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase + + Connection + Timeout for internal commands. + Item Collection. + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against a Microsoft SQL Server database. + + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Converts a set of migration operations into Microsoft SQL Server specific SQL. + + The operations to be converted. + Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Generates the specified update database operation which represents applying a series of migrations. + The generated script is idempotent, meaning it contains conditional logic to check if individual migrations + have already been applied and only apply the pending ones. + + The update database operation. + + + + Generates SQL for a . + Allows derived providers to handle additional operation types. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Creates an empty connection for the current provider. + Allows derived providers to use connection other than . + + An empty connection for the current provider. + + + + Generates the specified create procedure operation. + + The create procedure operation. + + + + Generates the specified alter procedure operation. + + The alter procedure operation. + + + + Generates the specified drop procedure operation. + + The drop procedure operation. + + + + Generates SQL for a . This method differs from + in that it will + create the target database schema if it does not already exist. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Writes CREATE TABLE SQL to the target writer. + + The operation to produce SQL for. + The target writer. + + + + Override this method to generate SQL when the definition of a table or its attributes are changed. + The default implementation of this method does nothing. + + The operation describing changes to the table. + + + + Generates SQL to mark a table as a system table. + Generated SQL should be added using the Statement method. + + The table to mark as a system table. + The to write the generated SQL to. + + + + Generates SQL to create a database schema. + Generated SQL should be added using the Statement method. + + The name of the schema to create. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Call this method to generate SQL that will attempt to drop the default constraint created + when a column is created. This method is usually called by code that overrides the creation or + altering of columns. + + The table to which the constraint applies. + The column to which the constraint applies. + The writer to which generated SQL should be written. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement or StatementBatch methods. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates the specified rename procedure operation. + + The rename procedure operation. + + + + Generates the specified move procedure operation. + + The move procedure operation. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for the given column model. This method is called by other methods that + process columns and can be overridden to change the SQL generated. + + The column for which SQL is being generated. + The writer to which generated SQL should be written. + + + + Returns the column default value to use for store-generated GUID columns when + no default value is explicitly specified in the migration. + Returns newsequentialid() for on-premises SQL Server 2005 and later. + Returns newid() for SQL Azure. + + Either newsequentialid() or newid() as described above. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to specify a constant byte[] default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant bool default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTime default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTimeOffset default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant Guid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant string default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant TimeSpan default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant hierarchyid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geogrpahy default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geometry default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify the data type of a column. + This method just generates the actual type, not the SQL to create the column. + + The definition of the column. + SQL representing the data type. + + + + Generates a quoted name. The supplied name may or may not contain the schema. + + The name to be quoted. + The quoted name. + + + + Quotes an identifier for SQL Server. + + The identifier to be quoted. + The quoted identifier. + + + + Adds a new Statement to be executed against the database. + + The statement to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + The batch terminator for the database provider. + + + + Gets a new that can be used to build SQL. + This is just a helper method to create a writer. Writing to the writer will + not cause SQL to be registered for execution. You must pass the generated + SQL to the Statement method. + + An empty text writer to use for SQL generation. + + + + Adds a new Statement to be executed against the database. + + The writer containing the SQL to be executed. + The batch terminator for the database provider. + + + + Breaks sql string into one or more statements, handling T-SQL utility statements as necessary. + + The SQL to split into one ore more statements to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geography instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance. + The geography value. + + + Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geography instance is less than or equal to a specified value + The geography value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees. + the maximum angle between the point returned by EnvelopeCenter(). + The geography value. + + + Returns a point that can be used as the center of a bounding circle for the geography instance. + A SqlGeography value that specifies the location of the center of a bounding circle. + The geography value. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geography value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Tests if the SqlGeography instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geography value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Returns the total number of rings in a Polygon instance. + The total number of rings. + The geography value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geography value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings(). + A SqlGeography object that represents the ring specified by n. + The geography value. + An int expression between 1 and the number of rings in a polygon instance. + + + Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geometry instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance. + The geometry value. + + + Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geometry instance is less than or equal to a specified value + The geometry value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Tests if the SqlGeometry instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geometry value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geometry value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. + The converted geometry instance. + The geometry value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geometry value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + + An implementation of to provide support for geospatial types when using + Entity Framework with Microsoft SQL Server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + diff --git a/Auto_Demo/bin/Release/EntityFramework.dll b/Auto_Demo/bin/Release/EntityFramework.dll new file mode 100644 index 0000000..8400163 Binary files /dev/null and b/Auto_Demo/bin/Release/EntityFramework.dll differ diff --git a/Auto_Demo/bin/Release/EntityFramework.xml b/Auto_Demo/bin/Release/EntityFramework.xml new file mode 100644 index 0000000..46df344 --- /dev/null +++ b/Auto_Demo/bin/Release/EntityFramework.xml @@ -0,0 +1,54121 @@ + + + + EntityFramework + + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + Implements the visitor pattern for the set clause. + The set clause. + + + Implements the visitor pattern for the modification clause. + The modification clause. + + + Implements the visitor pattern for the collection of modification clauses. + The modification clauses. + + + Implements the visitor pattern for the command tree. + The command tree. + + + Implements the visitor pattern for the delete command tree. + The delete command tree. + + + Implements the visitor pattern for the function command tree. + The function command tree. + + + Implements the visitor pattern for the insert command tree. + The insert command tree. + + + Implements the visitor pattern for the query command tree. + The query command tree. + + + Implements the visitor pattern for the update command tree. + The update command tree. + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + + Convenience method to visit the specified . + + The DbUnaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbBinaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbExpressionBinding to visit. + + + is null + + + + + Convenience method for post-processing after a DbExpressionBinding has been visited. + + The previously visited DbExpressionBinding. + + + + Convenience method to visit the specified . + + The DbGroupExpressionBinding to visit. + + + is null + + + + + Convenience method indicating that the grouping keys of a have been visited and the aggregates are now about to be visited. + + The DbGroupExpressionBinding of the DbGroupByExpression + + + + Convenience method for post-processing after a DbGroupExpressionBinding has been visited. + + The previously visited DbGroupExpressionBinding. + + + + Convenience method indicating that the body of a Lambda is now about to be visited. + + The DbLambda that is about to be visited + + + is null + + + + + Convenience method for post-processing after a DbLambda has been visited. + + The previously visited DbLambda. + + + + Convenience method to visit the specified , if non-null. + + The expression to visit. + + + is null + + + + + Convenience method to visit each in the given list, if the list is non-null. + + The list of expressions to visit. + + + is null + + + + + Convenience method to visit each in the list, if the list is non-null. + + The list of aggregates to visit. + + + is null + + + + + Convenience method to visit the specified . + + The aggregate to visit. + + + is null + + + + + Called when an of an otherwise unrecognized type is encountered. + + The expression + + + is null + + + Always thrown if this method is called, since it indicates that + + is of an unsupported type + + + + + Visitor pattern method for . + + The DbConstantExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbVariableReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbParameterReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFunctionExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLambdaExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbPropertyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbComparisonExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLikeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLimitExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbArithmeticExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbAndExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOrExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbInExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNotExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbDistinctExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbElementExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsEmptyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbUnionAllExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIntersectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExceptExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOfTypeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbTreatExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCastExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsOfExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCaseExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNewInstanceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRelationshipNavigationExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DeRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefKeyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbEntityRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbScanExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFilterExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbProjectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCrossJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbApplyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSkipExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSortExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbQuantifierExpression that is being visited. + + + is null + + + + Implements the basic functionality required by aggregates in a GroupBy clause. + + + + Gets the result type of this . + + + The result type of this . + + + + + Gets the list of expressions that define the arguments to this + + . + + + The list of expressions that define the arguments to this + + . + + + + Represents the logical AND of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + Represents an apply operation, which is the invocation of the specified function for each element in the specified input set. This class cannot be inherited. + + + + Gets the that specifies the function that is invoked for each element in the input set. + + + The that specifies the function that is invoked for each element in the input set. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + + Represents an arithmetic operation applied to numeric arguments. + Addition, subtraction, multiplication, division, modulo, and negation are arithmetic operations. + This class cannot be inherited. + + + + + Gets the list of elements that define the current arguments. + + + A fixed-size list of elements. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept two expression operands. + + + + Gets the that defines the left argument. + + + The that defines the left argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the left argument. + + + + + Gets the that defines the right argument. + + + The that defines the right argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the right argument. + + + + + Represents the When, Then, and Else clauses of the + + . This class cannot be inherited. + + + + + Gets the When clauses of this . + + + The When clauses of this . + + + + + Gets the Then clauses of this . + + + The Then clauses of this . + + + + + Gets the Else clause of this . + + + The Else clause of this . + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the result type of the + + . + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the type conversion of a single argument to the specified type. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + An immutable class that implements the basic functionality for the Query, Insert, Update, Delete, and function invocation command tree types. + + + + Gets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is true. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + Gets the name and corresponding type of each parameter that can be referenced within this + + . + + + The name and corresponding type of each parameter that can be referenced within this + + . + + + + + Gets the kind of this command tree. + + + + + Gets the metadata workspace used by this command tree. + + + + + Gets the data space in which metadata used by this command tree must reside. + + + + + Returns a that represents this command. + + + A that represents this command. + + + + + Describes the different "kinds" (classes) of command trees. + + + + + A query to retrieve data + + + + + Update existing data + + + + + Insert new data + + + + + Deleted existing data + + + + + Call a function + + + + Represents a comparison operation applied to two arguments. Equality, greater than, greater than or equal, less than, less than or equal, and inequality are comparison operations. This class cannot be inherited. + + DbComparisonExpression requires that its arguments have a common result type + that is equality comparable (for .Equals and .NotEquals), + order comparable (for .GreaterThan and .LessThan), + or both (for .GreaterThanOrEquals and .LessThanOrEquals). + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents different kinds of constants (literals). This class cannot be inherited. + + + Gets the constant value. + The constant value. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an unconditional join operation between the given collection arguments. This class cannot be inherited. + + + + Gets a list that provides the input sets to the join. + + + A list that provides the input sets to the join. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents a single row delete operation expressed as a command tree. This class cannot be inherited. + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be deleted. + + + + Gets an that specifies the predicate used to determine which members of the target collection should be deleted. + + + The predicate can include only the following elements: + + Equality expression + Constant expression + IsNull expression + Property expression + Reference expression to the target + And expression + Or expression + Not expression + + + + An that specifies the predicate used to determine which members of the target collection should be deleted. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents the an expression that retrieves an entity based on the specified reference. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Removes duplicate elements from the specified set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the conversion of the specified set argument to a singleton. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an expression that extracts a reference from the underlying entity instance. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the set subtraction operation between the left and right operands. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the base type for all expressions. + + + Gets the type metadata for the result type of the expression. + The type metadata for the result type of the expression. + + + Gets the kind of the expression, which indicates the operation of this expression. + The kind of the expression, which indicates the operation of this expression. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + The type of the result produced by . + + + An instance of . + + The type of the result produced by visitor. + + + + Determines whether the specified is equal to the current DbExpression instance. + + + True if the specified is equal to the current DbExpression instance; otherwise, false. + + + The object to compare to the current . + + + + Serves as a hash function for the type. + A hash code for the current expression. + + + + Creates a that represents the specified binary value, which may be null + + + A that represents the specified binary value. + + The binary value on which the returned expression should be based. + + + + Enables implicit casting from a byte array. + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Boolean value. + + + A that represents the specified Boolean value. + + The Boolean value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) byte value. + + + A that represents the specified byte value. + + The byte value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTime value. + + The DateTime value on which the returned expression should be based. + + + + Enables implicit casting from . + + The expression to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTimeOffset value. + + The DateTimeOffset value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) decimal value. + + + A that represents the specified decimal value. + + The decimal value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) double value. + + + A that represents the specified double value. + + The double value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeography value. + + The DbGeography value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeometry value. + + The DbGeometry value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified Guid value. + + The Guid value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int16 value. + + + A that represents the specified Int16 value. + + The Int16 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int32 value. + + + A that represents the specified Int32 value. + + The Int32 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int64 value. + + + A that represents the specified Int64 value. + + The Int64 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Single value. + + + A that represents the specified Single value. + + The Single value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified string value. + + + A that represents the specified string value. + + The string value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Describes a binding for an expression. Conceptually similar to a foreach loop + in C#. The DbExpression property defines the collection being iterated over, + while the Var property provides a means to reference the current element + of the collection during the iteration. DbExpressionBinding is used to describe the set arguments + to relational expressions such as , + and . + + + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + The expression is not associated with the command tree of the binding, or its result type is not equal or promotable to the result type of the current value of the property. + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + The variable reference. + + + + Contains values that each expression class uses to denote the operation it represents. The + + property of an + + can be retrieved to determine which operation that expression represents. + + + + + True for all. + + + + + Logical And. + + + + + True for any. + + + + + Conditional case statement. + + + + + Polymorphic type cast. + + + + + A constant value. + + + + + Cross apply + + + + + Cross join + + + + + Dereference. + + + + + Duplicate removal. + + + + + Division. + + + + + Set to singleton conversion. + + + + + Entity ref value retrieval. + + + + + Equality + + + + + Set subtraction + + + + + Restriction. + + + + + Full outer join + + + + + Invocation of a stand-alone function + + + + + Greater than. + + + + + Greater than or equal. + + + + + Grouping. + + + + + Inner join + + + + + Set intersection. + + + + + Empty set determination. + + + + + Null determination. + + + + + Type comparison (specified Type or Subtype). + + + + + Type comparison (specified Type only). + + + + + Left outer join + + + + + Less than. + + + + + Less than or equal. + + + + + String comparison. + + + + + Result count restriction (TOP n). + + + + + Subtraction. + + + + + Modulo. + + + + + Multiplication. + + + + + Instance, row, and set construction. + + + + + Logical Not. + + + + + Inequality. + + + + + Null. + + + + + Set members by type (or subtype). + + + + + Set members by (exact) type. + + + + + Logical Or. + + + + + Outer apply. + + + + + A reference to a parameter. + + + + + Addition. + + + + + Projection. + + + + + Retrieval of a static or instance property. + + + + + Reference. + + + + + Ref key value retrieval. + + + + + Navigation of a (composition or association) relationship. + + + + + Entity or relationship set scan. + + + + + Skip elements of an ordered collection. + + + + + Sorting. + + + + + Type conversion. + + + + + Negation. + + + + + Set union (with duplicates). + + + + + A reference to a variable. + + + + + Application of a lambda function + + + + + In. + + + + Defines the basic functionality that should be implemented by visitors that do not return a result value. + + + When overridden in a derived class, handles any expression of an unrecognized type. + The expression to be handled. + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + Visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + + + Defines the basic functionality that should be implemented by visitors that return a result value of a specific type. + The type of the result produced by the visitor. + + + When overridden in a derived class, handles any expression of an unrecognized type. + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern method for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + Typed visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + An instance of TResultType. + + + Represents a predicate applied to filter an input set. This produces the set of elements that satisfy the predicate. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that specifies the predicate used to filter the input set. + + + The that specifies the predicate used to filter the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Supports standard aggregate functions, such as MIN, MAX, AVG, SUM, and so on. This class cannot be inherited. + + + Gets a value indicating whether this aggregate is a distinct aggregate. + true if the aggregate is a distinct aggregate; otherwise, false. + + + Gets the method metadata that specifies the aggregate function to invoke. + The method metadata that specifies the aggregate function to invoke. + + + Represents the invocation of a database function. + + + + Constructs a new DbFunctionCommandTree that uses the specified metadata workspace, data space and function metadata + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + The that represents the function that is being invoked. + The expected result type for the function’s first result set. + The function's parameters. + + , or is null + + + does not represent a valid data space or + is a composable function + + + + + Gets the that represents the function that is being invoked. + + + The that represents the function that is being invoked. + + + + Gets the expected result type for the function’s first result set. + The expected result type for the function’s first result set. + + + Gets or sets the command tree kind. + The command tree kind. + + + Represents an invocation of a function. This class cannot be inherited. + + + Gets the metadata for the function to invoke. + The metadata for the function to invoke. + + + + Gets an list that provides the arguments to the function. + + + An list that provides the arguments to the function. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a collection of elements that compose a group. + + + Represents a group by operation. A group by operation is a grouping of the elements in the input set based on the specified key expressions followed by the application of the specified aggregates. This class cannot be inherited. + + + + Gets the that specifies the input set and provides access to the set element and group element variables. + + + The that specifies the input set and provides access to the set element and group element variables. + + + + + Gets a list that provides grouping keys. + + + A list that provides grouping keys. + + + + + Gets a list that provides the aggregates to apply. + + + A list that provides the aggregates to apply. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Defines the binding for the input set to a . + In addition to the properties of , DbGroupExpressionBinding + also provides access to the group element via the variable reference + and to the group aggregate via the property. + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the result type of the current value of the property. + + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + A reference to the element variable. + + + Gets the name assigned to the group element variable. + The name assigned to the group element variable. + + + Gets the type metadata of the group element variable. + The type metadata of the group element variable. + + + + Gets the that references the group element variable. + + A reference to the group element variable. + + + + Gets the that represents the collection of elements in the group. + + The elements in the group. + + + + Represents a boolean expression that tests whether a specified item matches any element in a list. + + + + + Gets a DbExpression that specifies the item to be matched. + + + + + Gets the list of DbExpression to test for a match. + + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of DbExpressionVisitor. + + + is null + + + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + + An instance of a typed DbExpressionVisitor that produces a result value of type TResultType. + + The type of the result produced by + + + + is null + + + An instance of . + + + + Represents a single row insert operation expressed as a command tree. This class cannot be inherited. + + Represents a single row insert operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar value indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + The list of insert set clauses that define the insert operation. . + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of insert set clauses that define the insert operation. + The list of insert set clauses that define the insert operation. + + + + Gets an that specifies a projection of results to be returned based on the modified rows. + + + An that specifies a projection of results to be returned based on the modified rows. null indicates that no results should be returned from this command. + + + + Gets the command tree kind. + The command tree kind. + + + Represents the set intersection operation between the left and right operands. This class cannot be inherited. + + DbIntersectExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an empty set determination applied to a single set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents null determination applied to a single argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the type comparison of a single argument against the specified type. This class cannot be inherited. + + + Gets the type metadata that the type metadata of the argument should be compared to. + The type metadata that the type metadata of the argument should be compared to. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + + + + Gets the that provides the left input. + + + The that provides the left input. + + + + + Gets the that provides the right input. + + + The that provides the right input. + + + + Gets the join condition to apply. + The join condition to apply. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a Lambda function that can be invoked to produce a + + . + + + + Gets the body of the lambda expression. + + A that represents the body of the lambda function. + + + + Gets the parameters of the lambda expression. + The list of lambda function parameters represented as DbVariableReferenceExpression objects. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null + + + + contains more than one element with the same variable name. + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null. + + + + contains more than one element with the same variable name. + + + + + Creates a new with a single argument of the specified type, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and single formal parameter. + + A that defines the EDM type of the argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A that defines the EDM type of the sixteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Allows the application of a lambda function to arguments represented by + + objects. + + + + + Gets the representing the Lambda function applied by this expression. + + + The representing the Lambda function applied by this expression. + + + + + Gets a list that provides the arguments to which the Lambda function should be applied. + + + The list. + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of . + + visitor is null + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + The type of the result produced by the expression visitor. + + An instance of a typed that produces a result value of type TResultType. + + The type of the result produced by visitor + visitor is null + + + Represents a string comparison against the specified pattern with an optional escape string. This class cannot be inherited. + + + Gets an expression that specifies the string to compare against the given pattern. + An expression that specifies the string to compare against the given pattern. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that specifies the pattern against which the given string should be compared. + An expression that specifies the pattern against which the given string should be compared. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that provides an optional escape string to use for the comparison. + An expression that provides an optional escape string to use for the comparison. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the restriction of the number of elements in the argument collection to the specified limit value. + + + Gets an expression that specifies the input collection. + An expression that specifies the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a collection type. + + + + Gets an expression that specifies the limit on the number of elements returned from the input collection. + An expression that specifies the limit on the number of elements returned from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or is not one of + + or + + , or its result type is not equal or promotable to a 64-bit integer type. + + + + + Gets whether the limit operation will include tied results. Including tied results might produce more results than specified by the + + value. + + true if the limit operation will include tied results; otherwise, false. The default is false. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a single clause in an insert or update modification operation, see + and + + + An abstract base class allows the possibility of patterns other than + Property = Value in future versions, e.g., + update SomeTable + set ComplexTypeColumn.SomeProperty() + where Id = 2 + + + + Represents a data manipulation language (DML) operation expressed as a command tree. + + + + Gets the that specifies the target table for the data manipulation language (DML) operation. + + + The that specifies the target table for the DML operation. + + + + Represents the construction of a new instance of a given type, including set and record types. This class cannot be inherited. + + + + Gets an list that provides the property/column values or set elements for the new instance. + + + An list that provides the property/column values or set elements for the new instance. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical NOT of a single Boolean argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a typed null literal. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the retrieval of elements of the specified type from the given set argument. This class cannot be inherited. + + + Gets the metadata of the type of elements that should be retrieved from the set argument. + The metadata of the type of elements that should be retrieved from the set argument. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical OR of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a parameter declared on the command tree that contains this expression. This class cannot be inherited. + + + Gets the name of the referenced parameter. + The name of the referenced parameter. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the projection of a given input set over the specified expression. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that defines the projection. + + + The that defines the projection. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the current projection. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Provides methods and properties for retrieving an instance property. This class cannot be inherited. + + + Gets the property metadata for the property to retrieve. + The property metadata for the property to retrieve. + + + + Gets a that defines the instance from which the property should be retrieved. + + + A that defines the instance from which the property should be retrieved. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the type that defines the property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Creates a new key/value pair based on this property expression. + + A new key/value pair with the key and value derived from the + + . + + + + + Enables implicit casting to . + + The expression to be converted. + The converted value. + + + Represents a quantifier operation of the specified kind over the elements of the specified input set. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Gets the Boolean predicate that should be evaluated for each element in the input set. + The Boolean predicate that should be evaluated for each element in the input set. + The expression is null. + + The expression is not associated with the command tree for the + + ,or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a query operation expressed as a command tree. This class cannot be inherited. + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + A boolean that indicates whether + filter over projection simplification should be used. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + + + or + + is null + + + + does not represent a valid data space + + + + + Gets an that defines the logic of the query operation. + + + An that defines the logic of the query operation. + + The expression is null. + The expression is associated with a different command tree. + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a strongly typed reference to a specific instance within an entity set. This class cannot be inherited. + + + Gets the metadata for the entity set that contains the instance. + The metadata for the entity set that contains the instance. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents the retrieval of the key value of the specified Reference as a row. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the navigation of a relationship. This class cannot be inherited. + + + Gets the metadata for the relationship over which navigation occurs. + The metadata for the relationship over which navigation occurs. + + + Gets the metadata for the relationship end to navigate from. + The metadata for the relationship end to navigate from. + + + Gets the metadata for the relationship end to navigate to. + The metadata for the relationship end to navigate to. + + + + Gets an that specifies the starting point of the navigation and must be a reference to an entity instance. + + + An that specifies the instance of the source relationship end from which navigation should occur. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the + + property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a 'scan' of all elements of a given entity set. + + + + Gets the metadata for the referenced entity or relationship set. + The metadata for the referenced entity or relationship set. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Specifies the clause in a modification operation that sets the value of a property. This class cannot be inherited. + + + + Gets an that specifies the property that should be updated. + + + An that specifies the property that should be updated. + + + + + Gets an that specifies the new value with which to update the property. + + + An that specifies the new value with which to update the property. + + + + + Skips a specified number of elements in the input set. + + can only be used after the input collection has been sorted as specified by the sort keys. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Gets an expression that specifies the number of elements to skip from the input collection. + An expression that specifies the number of elements to skip from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + ; the expression is not either a + + or a + + ; or the result type of the expression is not equal or promotable to a 64-bit integer type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a sort key that can be used as part of the sort order in a + + . This class cannot be inherited. + + + + Gets a Boolean value indicating whether or not this sort key uses an ascending sort order. + true if this sort key uses an ascending sort order; otherwise, false. + + + Gets a string value that specifies the collation for this sort key. + A string value that specifies the collation for this sort key. + + + + Gets the that provides the value for this sort key. + + + The that provides the value for this sort key. + + + + Represents a sort operation applied to the elements of the specified input set based on the given sort keys. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by + visitor + + + visitor + is null. + + + Represents a type conversion operation applied to a polymorphic argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept a single expression argument. + + + + Gets the that defines the argument. + + + The that defines the argument. + + The expression is null. + + The expression is not associated with the command tree of a + + , or its result type is not equal or promotable to the required type for the argument. + + + + + Represents the set union (without duplicate removal) operation between the left and right operands. + + + DbUnionAllExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a single-row update operation expressed as a command tree. This class cannot be inherited. + + Represents a single-row update operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be updated. + The list of update set clauses that define the update operation. + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of update set clauses that define the update operation. + The list of update set clauses that define the update operation. + + + + Gets an that specifies a projection of results to be returned, based on the modified rows. + + + An that specifies a projection of results to be returned based, on the modified rows. null indicates that no results should be returned from this command. + + + + + Gets an that specifies the predicate used to determine which members of the target collection should be updated. + + + An that specifies the predicate used to determine which members of the target collection should be updated. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a reference to a variable that is currently in scope. This class cannot be inherited. + + + Gets the name of the referenced variable. + The name of the referenced variable. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Visits each element of an expression tree from a given root expression. If any element changes, the tree is rebuilt back to the root and the new root expression is returned; otherwise the original root expression is returned. + + + + Initializes a new instance of the + + class. + + + + Replaces an old expression with a new one for the expression visitor. + The old expression. + The new expression. + + + Represents an event when the variable is rebound for the expression visitor. + The location of the variable. + The reference of the variable where it is rebounded. + + + Represents an event when entering the scope for the expression visitor with specified scope variables. + The collection of scope variables. + + + Exits the scope for the expression visitor. + + + Implements the visitor pattern for the expression. + The implemented visitor pattern. + The expression. + + + Implements the visitor pattern for the expression list. + The implemented visitor pattern. + The expression list. + + + Implements the visitor pattern for expression binding. + The implemented visitor pattern. + The expression binding. + + + Implements the visitor pattern for the expression binding list. + The implemented visitor pattern. + The expression binding list. + + + Implements the visitor pattern for the group expression binding. + The implemented visitor pattern. + The binding. + + + Implements the visitor pattern for the sort clause. + The implemented visitor pattern. + The sort clause. + + + Implements the visitor pattern for the sort order. + The implemented visitor pattern. + The sort order. + + + Implements the visitor pattern for the aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the function aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the group aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the Lambda function. + The implemented visitor pattern. + The lambda function. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the basic functionality required by expression types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the different kinds of constants. + The implemented visitor. + The constant expression. + + + Implements the visitor pattern for a reference to a typed null literal. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a variable that is currently in scope. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a parameter declared on the command tree that contains this expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for an invocation of a function. + The implemented visitor. + The function expression. + + + Implements the visitor pattern for the application of a lambda function to arguments represented by DbExpression objects. + The implemented visitor. + The expression. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the comparison operation applied to two arguments. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for a string comparison against the specified pattern with an optional escape string. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the restriction of the number of elements in the argument collection to the specified limit value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the null determination applied to a single argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the arithmetic operation applied to numeric arguments. + The implemented visitor. + The arithmetic expression. + + + Implements the visitor pattern for the logical AND expression. + The implemented visitor. + The logical AND expression. + + + Implements the visitor pattern for the logical OR of two Boolean arguments. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the DbInExpression. + The implemented visitor. + The DbInExpression that is being visited. + + + Implements the visitor pattern for the logical NOT of a single Boolean argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the removed duplicate elements from the specified set argument. + The implemented visitor. + The distinct expression. + + + Implements the visitor pattern for the conversion of the specified set argument to a singleton the conversion of the specified set argument to a singleton. + The implemented visitor. + The element expression. + + + Implements the visitor pattern for an empty set determination applied to a single set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set union operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set intersection operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set subtraction operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a type conversion operation applied to a polymorphic argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type comparison of a single argument against the specified type. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type conversion of a single argument to the specified type. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for the When, Then, and Else clauses. + The implemented visitor. + The case expression. + + + Implements the visitor pattern for the retrieval of elements of the specified type from the given set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the construction of a new instance of a given type, including set and record types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a strongly typed reference to a specific instance within an entity set. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the navigation of a relationship. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that retrieves an entity based on the specified reference. + The implemented visitor. + The DEREF expression. + + + Implements the visitor pattern for the retrieval of the key value from the underlying reference value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that extracts a reference from the underlying entity instance. + The implemented visitor. + The entity reference expression. + + + Implements the visitor pattern for a scan over an entity set or relationship set, as indicated by the Target property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a predicate applied to filter an input set. + The implemented visitor. + The filter expression. + + + Implements the visitor pattern for the projection of a given input set over the specified expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the unconditional join operation between the given collection arguments. + The implemented visitor. + The join expression. + + + Implements the visitor pattern for an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the invocation of the specified function for each element in the specified input set. + The implemented visitor. + The APPLY expression. + + + Implements the visitor pattern for a group by operation. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the skip expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a sort key that can be used as part of the sort order. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a quantifier operation of the specified kind over the elements of the specified input set. + The implemented visitor. + The expression. + + + + Provides an API to construct s and allows that API to be accessed as extension methods on the expression type itself. + + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + + Creates a new that uses a generated variable name to bind the given expression. + + A new expression binding with the specified expression and a generated variable name. + The expression to bind. + input is null. + input does not have a collection result. + + + + Creates a new that uses the specified variable name to bind the given expression + + A new expression binding with the specified expression and variable name. + The expression to bind. + The variable name that should be used for the binding. + input or varName is null. + input does not have a collection result. + + + Creates a new group expression binding that uses generated variable and group variable names to bind the given expression. + A new group expression binding with the specified expression and a generated variable name and group variable name. + The expression to bind. + input is null. + input does not have a collection result type. + + + + Creates a new that uses the specified variable name and group variable names to bind the given expression. + + A new group expression binding with the specified expression, variable name and group variable name. + The expression to bind. + The variable name that should be used for the binding. + The variable name that should be used to refer to the group when the new group expression binding is used in a group-by expression. + input, varName or groupVarName is null. + input does not have a collection result type. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The arguments over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new over the specified argument + + The argument over which to perform the nest operation + A new group aggregate representing the elements of the group referenced by the given argument. + + + is null + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a new with an ascending sort order and default collation. + + A new sort clause with the given sort key and ascending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and default collation. + + A new sort clause with the given sort key and descending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with an ascending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and ascending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and descending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that unconditionally joins the sets specified by the list of input expression bindings. + + + A new DbCrossJoinExpression, with an of CrossJoin, that represents the unconditional join of the input sets. + + A list of expression bindings that specifies the input sets. + inputs is null or contains null element. + inputs contains fewer than 2 expression bindings. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbFilterExpression that produces the filtered set. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that groups the elements of the input set according to the specified group keys and applies the given aggregates. + + A new DbGroupByExpression with the specified input set, grouping keys and aggregates. + + A that specifies the input set. + + A list of string-expression pairs that define the grouping columns. + A list of expressions that specify aggregates to apply. + input, keys or aggregates is null, keys contains a null column key or expression, or aggregates contains a null aggregate column name or aggregate. + Both keys and aggregates are empty, or an invalid or duplicate column name was specified. + + + + Creates a new that projects the specified expression over the given input set. + + A new DbProjectExpression that represents the projection operation. + An expression binding that specifies the input set. + An expression to project over the set. + input or projection is null. + + + + Creates a new that sorts the given input set by the given sort specifications before skipping the specified number of elements. + + A new DbSkipExpression that represents the skip operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + An expression the specifies how many elements of the ordered set to skip. + input, sortOrder or count is null, or sortOrder contains null. + + sortOrder is empty, or count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that sorts the given input set by the specified sort specifications. + + A new DbSortExpression that represents the sort operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + input or sortOrder is null, or sortOrder contains null. + sortOrder is empty. + + + + Creates a new , which represents a typed null value. + + An instance of DbNullExpression. + The type of the null value. + nullType is null. + + + + Gets a with the Boolean value true. + + + A with the Boolean value true. + + + + + Gets a with the Boolean value false. + + + A with the Boolean value false. + + + + + Creates a new with the given constant value. + + A new DbConstantExpression with the given value. + The constant value to represent. + value is null. + value is not an instance of a valid constant type. + + + + Creates a new of the specified primitive type with the given constant value. + + A new DbConstantExpression with the given value and a result type of constantType. + The type of the constant value. + The constant value to represent. + value or constantType is null. + value is not an instance of a valid constant type, constantType does not represent a primitive type, or value is of a different primitive type than that represented by constantType. + + + + Creates a new that references a parameter with the specified name and type. + + A DbParameterReferenceExpression that represents a reference to a parameter with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced parameter. + The name of the referenced parameter. + + + + Creates a new that references a variable with the specified name and type. + + A DbVariableReferenceExpression that represents a reference to a variable with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced variable. + The name of the referenced variable. + + + + Creates a new that references the specified entity or relationship set. + + A new DbScanExpression based on the specified entity or relationship set. + Metadata for the entity or relationship set to reference. + targetSet is null. + + + + Creates an that performs the logical And of the left and right arguments. + + A new DbAndExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left and right does not have a Boolean result type. + + + + Creates an that performs the logical Or of the left and right arguments. + + A new DbOrExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left or right does not have a Boolean result type. + + + + Creates a that matches the result of the specified + expression with the results of the constant expressions in the specified list. + + A DbExpression to be matched. + A list of DbConstantExpression to test for a match. + + A new DbInExpression with the specified arguments. + + + + or + + is null. + + + The result type of + + is different than the result type of an expression from + . + + + + + Creates a that performs the logical negation of the given argument. + + A new DbNotExpression with the specified argument. + A Boolean expression that specifies the argument. + argument is null. + argument does not have a Boolean result type. + + + + Creates a new that divides the left argument by the right argument. + + A new DbArithmeticExpression representing the division operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left or right. + + + + Creates a new that subtracts the right argument from the left argument. + + A new DbArithmeticExpression representing the subtraction operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that computes the remainder of the left argument divided by the right argument. + + A new DbArithmeticExpression representing the modulo operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that multiplies the left argument by the right argument. + + A new DbArithmeticExpression representing the multiplication operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that adds the left argument to the right argument. + + A new DbArithmeticExpression representing the addition operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that compares the left and right arguments for equality. + + A new DbComparisonExpression representing the equality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that compares the left and right arguments for inequality. + + A new DbComparisonExpression representing the inequality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than the right argument. + + A new DbComparisonExpression representing the greater-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than the right argument. + + A new DbComparisonExpression representing the less-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than or equal to the right argument. + + A new DbComparisonExpression representing the greater-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than or equal to the right argument. + + A new DbComparisonExpression representing the less-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common result type that is both equality- and order-comparable exists between left and right. + + + + Creates a new that determines whether the specified argument is null. + + A new DbIsNullExpression with the specified argument. + An expression that specifies the argument. + argument is null. + argument has a collection result type. + + + + Creates a new that compares the specified input string to the given pattern. + + A new DbLikeExpression with the specified input, pattern and a null escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + Argument or pattern is null. + Argument or pattern does not have a string result type. + + + + Creates a new that compares the specified input string to the given pattern using the optional escape. + + A new DbLikeExpression with the specified input, pattern and escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + An optional expression that specifies the escape string. + argument, pattern or escape is null. + argument, pattern or escape does not have a string result type. + + + + Creates a new that applies a cast operation to a polymorphic argument. + + A new DbCastExpression with the specified argument and target type. + The argument to which the cast should be applied. + Type metadata that specifies the type to cast to. + Argument or toType is null. + The specified cast is not valid. + + + + Creates a new . + + A new DbTreatExpression with the specified argument and type. + An expression that specifies the instance. + Type metadata for the treat-as type. + argument or treatType is null. + treatType is not in the same type hierarchy as the result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + A that specifies the input set. + + Type metadata for the type that elements of the input set must have to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of exactly the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + An that specifies the input set. + + Type metadata for the type that elements of the input set must match exactly to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that determines whether the given argument is of the specified type or a subtype. + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOf. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new expression that determines whether the given argument is of the specified type, and only that type (not a subtype). + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOfOnly. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new that retrieves a specific Entity given a reference expression. + + A new DbDerefExpression that retrieves the specified Entity. + + An that provides the reference. This expression must have a reference Type. + + argument is null. + argument does not have a reference result type. + + + + Creates a new that retrieves the ref of the specified entity in structural form. + + A new DbEntityRefExpression that retrieves a reference to the specified entity. + The expression that provides the entity. This expression must have an entity result type. + argument is null. + argument does not have an entity result type. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + entitySet or keyRow is null. + keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + The type of the Entity that the reference should refer to. + entitySet, keyRow or entityType is null. + entityType is not in the same type hierarchy as the entity set's entity type, or keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that retrieves the key values of the specified reference in structural form. + + A new DbRefKeyExpression that retrieves the key values of the specified reference. + The expression that provides the reference. This expression must have a reference Type with an Entity element type. + argument is null. + argument does not have a reference result type. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + An expression that specifies the instance from which navigation should occur. + Metadata for the property that represents the end of the relationship from which navigation should occur. + Metadata for the property that represents the end of the relationship to which navigation should occur. + fromEnd, toEnd or navigateFrom is null. + fromEnd and toEnd are not declared by the same relationship type, or navigateFrom has a result type that is not compatible with the property type of fromEnd. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + Metadata for the relation type that represents the relationship. + The name of the property of the relation type that represents the end of the relationship from which navigation should occur. + The name of the property of the relation type that represents the end of the relationship to which navigation should occur. + An expression the specifies the instance from which navigation should occur. + type, fromEndName, toEndName or navigateFrom is null. + type is not associated with this command tree's metadata workspace or navigateFrom is associated with a different command tree, or type does not declare a relation end property with name toEndName or fromEndName, or navigateFrom has a result type that is not compatible with the property type of the relation end property with name fromEndName. + + + + Creates a new that removes duplicates from the given set argument. + + A new DbDistinctExpression that represents the distinct operation applied to the specified set argument. + An expression that defines the set over which to perform the distinct operation. + argument is null. + argument does not have a collection result type. + + + + Creates a new that converts a set into a singleton. + + A DbElementExpression that represents the conversion of the set argument to a singleton. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is an empty set. + + A new DbIsEmptyExpression with the specified argument. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that computes the subtraction of the right set argument from the left set argument. + + A new DbExceptExpression that represents the difference of the left argument from the right argument. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left and right. + + + + Creates a new that computes the intersection of the left and right set arguments. + + A new DbIntersectExpression that represents the intersection of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left or right. + + + + Creates a new that computes the union of the left and right set arguments and does not remove duplicates. + + A new DbUnionAllExpression that union, including duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, or count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new . + + A new DbCaseExpression with the specified cases and default result. + A list of expressions that provide the conditional for of each case. + A list of expressions that provide the result of each case. + An expression that defines the result when no case is matched. + whenExpressions or thenExpressions is null or contains null, or elseExpression is null. + whenExpressions or thenExpressions is empty or whenExpressions contains an expression with a non-Boolean result type, or no common result type exists for all expressions in thenExpressions and elseExpression. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + A list of expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + Expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new Expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + A list of expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + Expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null.. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs an empty collection of the specified collection type. + + A new DbNewInstanceExpression with the specified collection type and an empty Arguments list. + The type metadata for the collection to create + collectionType is null. + collectionType is not a collection type. + + + + Creates a new that produces a row with the specified named columns and the given values, specified as expressions. + + A new DbNewInstanceExpression that represents the construction of the row. + A list of string-DbExpression key-value pairs that defines the structure and values of the row. + columnValues is null or contains an element with a null column name or expression. + columnValues is empty, or contains a duplicate or invalid column name. + + + + Creates a new representing the retrieval of the specified property. + + A new DbPropertyExpression representing the property retrieval. + The instance from which to retrieve the property. May be null if the property is static. + Metadata for the property to retrieve. + propertyMetadata is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the specified navigation property. + + A new DbPropertyExpression representing the navigation property retrieval. + The instance from which to retrieve the navigation property. + Metadata for the navigation property to retrieve. + navigationProperty or instance is null. + + + + Creates a new representing the retrieval of the specified relationship end member. + + A new DbPropertyExpression representing the relationship end member retrieval. + The instance from which to retrieve the relationship end member. + Metadata for the relationship end member to retrieve. + relationshipEnd is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the instance property with the specified name from the given instance. + + A new DbPropertyExpression that represents the property retrieval. + The instance from which to retrieve the property. + The name of the property to retrieve. + propertyName is null or instance is null and the property is not static. + No property with the specified name is declared by the type of instance. + + + + Creates a new representing setting a property to a value. + + The property to be set. + The value to set the property to. + The newly created set clause. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression that specifies the input set. + A method representing a predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by Predicate does not have a Boolean result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + source is null. + source does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + Source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the outer and inner expressions, on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + outer, inner, outerKey or innerKey is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The expressions produced by outerKey and innerKey are not comparable for equality. + + + + Creates a new that projects the specified selector over the sets specified by the outer and inner expressions, joined on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbProjectExpression with the specified selector as its projection, and a new DbJoinExpression as its input. The input DbJoinExpression is created with an + + of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + + A method that specifies how an element of the result set should be derived from elements of the inner and outer sets. This method must produce an instance of a type that is compatible with Join and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The type of the selector . + outer, inner, outerKey, innerKey or selector is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The result of selector is null after conversion to DbExpression. + The expressions produced by outerKey and innerKey is not comparable for equality. + The result of Selector is not compatible with SelectMany. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that selects the specified expression over the given input set. + + A new DbProjectExpression that represents the select operation. + An expression that specifies the input set. + + A method that specifies how to derive the projected expression given a member of the input set. This method must produce an instance of a type that is compatible with Select and can be resolved into a + + . Compatibility requirements for TProjection are described in remarks. + + The method result type of projection. + source or projection is null. + The result of projection is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the apply column from each row, producing the overall collection of apply results. + + + An new DbProjectExpression that selects the apply column from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + source or apply is null. + The expression produced by apply is null. + source does not have a collection result type. + The expression produced by apply does not have a collection type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the specified selector over each row, producing the overall collection of results. + + + An new DbProjectExpression that selects the result of the given selector from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + + A method that specifies how an element of the result set should be derived given an element of the input and apply sets. This method must produce an instance of a type that is compatible with SelectMany and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The method result type of selector. + source, apply or selector is null. + The expression produced by apply is null. + The result of selector is null on conversion to DbExpression. + source does not have a collection result type. + The expression produced by apply does not have a collection type. does not have a collection type. + + + + Creates a new that skips the specified number of elements from the given sorted input set. + + A new DbSkipExpression that represents the skip operation. + + A that specifies the sorted input set. + + An expression the specifies how many elements of the ordered set to skip. + argument or count is null. + + count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that computes the union of the left and right set arguments with duplicates removed. + + A new DbExpression that computes the union, without duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Provides an API to construct s that invoke canonical EDM functions, and allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'Avg' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the average value. + An expression that specifies the collection from which the average value should be computed. + + + + Creates a that invokes the canonical 'Count' function over the specified collection. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'BigCount' function over the specified collection. The result type of the expression is Edm.Int64. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'Max' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the maximum value. + An expression that specifies the collection from which the maximum value should be retrieved + + + + Creates a that invokes the canonical 'Min' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the minimum value. + An expression that specifies the collection from which the minimum value should be retrieved. + + + + Creates a that invokes the canonical 'Sum' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the sum. + An expression that specifies the collection from which the sum should be computed. + + + + Creates a that invokes the canonical 'StDev' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value over non-null members of the collection. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'StDevP' function over the population of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'Var' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value for the non-null members of the collection. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'VarP' function over the population of the specified collection. The result type of the expression Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'Concat' function with the specified arguments, which must each have a string result type. The result type of the expression is string. + + A new DbFunctionExpression that produces the concatenated string. + An expression that specifies the string that should appear first in the concatenated result string. + An expression that specifies the string that should appear second in the concatenated result string. + + + + Creates a that invokes the canonical 'Contains' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not searchedForString occurs within searchedString. + An expression that specifies the string to search for any occurrence of searchedForString. + An expression that specifies the string to search for in searchedString. + + + + Creates a that invokes the canonical 'EndsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument ends with suffix. + An expression that specifies the string that is searched at the end for string suffix. + An expression that specifies the target string that is searched for at the end of stringArgument. + + + + Creates a that invokes the canonical 'IndexOf' function with the specified arguments, which must each have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the first index of stringToFind in searchString. + An expression that specifies the string to search for stringToFind. + An expression that specifies the string to locate within searchString should be checked. + + + + Creates a that invokes the canonical 'Left' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the leftmost substring of length from stringArgument. + An expression that specifies the string from which to extract the leftmost substring. + An expression that specifies the length of the leftmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'Length' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the length of stringArgument. + An expression that specifies the string for which the length should be computed. + + + + Creates a that invokes the canonical 'Replace' function with the specified arguments, which must each have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression than returns a new string based on stringArgument where every occurrence of toReplace is replaced by replacement. + An expression that specifies the string in which to perform the replacement operation. + An expression that specifies the string that is replaced. + An expression that specifies the replacement string. + + + + Creates a that invokes the canonical 'Reverse' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that produces the reversed value of stringArgument. + An expression that specifies the string to reverse. + + + + Creates a that invokes the canonical 'Right' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the rightmost substring of length from stringArgument. + An expression that specifies the string from which to extract the rightmost substring. + An expression that specifies the length of the rightmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'StartsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument starts with prefix. + An expression that specifies the string that is searched at the start for string prefix. + An expression that specifies the target string that is searched for at the start of stringArgument. + + + + Creates a that invokes the canonical 'Substring' function with the specified arguments, which must have a string and integer numeric result types. The result type of the expression is string. + + A new DbFunctionExpression that returns the substring of length from stringArgument starting at start. + An expression that specifies the string from which to extract the substring. + An expression that specifies the starting index from which the substring should be taken. + An expression that specifies the length of the substring. + + + + Creates a that invokes the canonical 'ToLower' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to lower case. + An expression that specifies the string that should be converted to lower case. + + + + Creates a that invokes the canonical 'ToUpper' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to upper case. + An expression that specifies the string that should be converted to upper case. + + + + Creates a that invokes the canonical 'Trim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading and trailing space removed. + An expression that specifies the string from which leading and trailing space should be removed. + + + + Creates a that invokes the canonical 'RTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with trailing space removed. + An expression that specifies the string from which trailing space should be removed. + + + + Creates a that invokes the canonical 'LTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading space removed. + An expression that specifies the string from which leading space should be removed. + + + + Creates a that invokes the canonical 'Year' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer year value from dateValue. + An expression that specifies the value from which the year should be retrieved. + + + + Creates a that invokes the canonical 'Month' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer month value from dateValue. + An expression that specifies the value from which the month should be retrieved. + + + + Creates a that invokes the canonical 'Day' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day value from dateValue. + An expression that specifies the value from which the day should be retrieved. + + + + Creates a that invokes the canonical 'DayOfYear' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day of year value from dateValue. + An expression that specifies the value from which the day within the year should be retrieved. + + + + Creates a that invokes the canonical 'Hour' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer hour value from timeValue. + An expression that specifies the value from which the hour should be retrieved. + + + + Creates a that invokes the canonical 'Minute' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer minute value from timeValue. + An expression that specifies the value from which the minute should be retrieved. + + + + Creates a that invokes the canonical 'Second' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer second value from timeValue. + An expression that specifies the value from which the second should be retrieved. + + + + Creates a that invokes the canonical 'Millisecond' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer millisecond value from timeValue. + An expression that specifies the value from which the millisecond should be retrieved. + + + + Creates a that invokes the canonical 'GetTotalOffsetMinutes' function with the specified argument, which must have a DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes dateTimeOffsetArgument is offset from GMT. + An expression that specifies the DateTimeOffset value from which the minute offset from GMT should be retrieved. + + + + Creates a that gets local DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to DATETIME2, discarding offset part + An expression that specifies the DateTimeOffset value. + + + + Creates a that gets UTC DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to Utc DATETIME2 + An expression that specifies the DateTimeOffset value. + + + + Creates a that invokes the canonical 'CurrentDateTime' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'CurrentDateTimeOffset' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CurrentUtcDateTime' function. + + A new DbFunctionExpression that returns the current UTC date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'TruncateTime' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that returns the value of dateValue with time set to zero. + An expression that specifies the value for which the time portion should be truncated. + + + + Creates a that invokes the canonical 'CreateDateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTime. + + A new DbFunctionExpression that returns a new DateTime based on the specified values. + An expression that provides the year value for the new DateTime instance. + An expression that provides the month value for the new DateTime instance. + An expression that provides the day value for the new DateTime instance. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'CreateDateTimeOffset' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTimeOffset. + + A new DbFunctionExpression that returns a new DateTimeOffset based on the specified values. + An expression that provides the year value for the new DateTimeOffset instance. + An expression that provides the month value for the new DateTimeOffset instance. + An expression that provides the day value for the new DateTimeOffset instance. + An expression that provides the hour value for the new DateTimeOffset instance. + An expression that provides the minute value for the new DateTimeOffset instance. + An expression that provides the second value for the new DateTimeOffset instance. + An expression that provides the number of minutes in the time zone offset value for the new DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CreateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.Time. + + A new DbFunctionExpression that returns a new Time based on the specified values. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'AddYears' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of years specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of years to add to dateValue. + + + + Creates a that invokes the canonical 'AddMonths' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of months specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of months to add to dateValue. + + + + Creates a that invokes the canonical 'AddDays' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of days specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of days to add to dateValue. + + + + Creates a that invokes the canonical 'AddHours' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of hours specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of hours to add to timeValue. + + + + Creates a that invokes the canonical 'AddMinutes' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of minutes specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of minutes to add to timeValue. + + + + Creates a that invokes the canonical 'AddSeconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of seconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of seconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMilliseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of milliseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of milliseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMicroseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of microseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of microseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddNanoseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of nanoseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of nanoseconds to add to timeValue. + + + + Creates a that invokes the canonical 'DiffYears' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of years that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffMonths' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of months that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffDays' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of days that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffHours' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of hours that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMinutes' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffSeconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of seconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMilliseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of milliseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMicroseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of microseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffNanoseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of nanoseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'Round' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value. + An expression that specifies the numeric value to round. + + + + Creates a that invokes the canonical 'Round' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to round. + An expression that specifies the number of digits of precision to use when rounding. + + + + Creates a that invokes the canonical 'Floor' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the largest integer value not greater than value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Ceiling' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the smallest integer value not less than the value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Abs' function with the specified argument, which must each have a numeric result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the absolute value of value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Truncate' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that truncates the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to truncate. + An expression that specifies the number of digits of precision to use when truncating. + + + + Creates a that invokes the canonical 'Power' function with the specified arguments, which must have numeric result types. The result type of the expression is the same as the result type of baseArgument. + + A new DbFunctionExpression that returns the value of baseArgument raised to the power specified by exponent. + An expression that specifies the numeric value to raise to the given power. + An expression that specifies the power to which baseArgument should be raised. + + + + Creates a that invokes the canonical 'BitwiseAnd' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise AND of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseOr' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise OR of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseNot' function with the specified argument, which must have an integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise NOT of value. + An expression that specifies the first operand. + + + + Creates a that invokes the canonical 'BitwiseXor' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise XOR (exclusive OR) of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'NewGuid' function. + + A new DbFunctionExpression that returns a new GUID value. + + + + Provides an API to construct s that invoke hierarchyid realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'HierarchyIdParse' function with the + specified argument, which must have a string result type. + The result type of the expression is Edm.HierarchyId. + + An expression that provides the canonical representation of the hierarchyid value. + A new DbFunctionExpression that returns a new hierarchyid value based on the specified value. + + + is null. + + + No overload of the canonical 'HierarchyIdParse' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'HierarchyIdGetRoot' function. + The result type of the expression is Edm.HierarchyId. + + A new DbFunctionExpression that returns a new root hierarchyid value. + + + + Creates a that invokes the canonical 'GetAncestor' function with the + specified argument, which must have an Int32 result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides an integer value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + is null. + + + No overload of the canonical 'GetAncestor' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetDescendant' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetDescendant' function accept an argument with the result type of + + and + + . + + + + + Creates a that invokes the canonical 'GetLevel' function. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + A new DbFunctionExpression that returns the level of the given hierarchyid. + + + is null. + + + + + Creates a that invokes the canonical 'IsDescendantOf' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns an integer value. + + + or + + is null. + + + No overload of the canonical 'IsDescendantOf' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetReparentedValue' function with the + specified arguments, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetReparentedValue' function accept an argument with the result type of + + and + + . + + + + + Provides a constructor-like means of calling + + . + + + + + Initializes a new instance of the class with the specified first column value and optional successive column values. + + A key-value pair that provides the first column in the new row instance. (required) + A key-value pairs that provide any subsequent columns in the new row instance. (optional) + + + + Creates a new that constructs a new row based on the columns contained in this Row instance. + + A new DbNewInstanceExpression that constructs a row with the same column names and DbExpression values as this Row instance. + + + + Converts the given Row instance into an instance of + + The Row instance. + A DbExpression based on the Row instance + + + is null. + + + + + + Provides an API to construct s that invoke spatial realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geometry value based on the specified value. + An expression that provides the well known text representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known text representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromText' function with the specified arguments. pointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known text representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known text representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known text representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known text representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known text representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromText' function with the specified arguments. geometryCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known text representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified binary value. + An expression that provides the well known binary representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known binary representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known binary representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known binary representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromBinary' function with the specified arguments. geometryCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known binary representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified arguments. geometryMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geography value based on the specified value. + An expression that provides the well known text representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known text representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromText' function with the specified arguments. + + The canonical 'GeographyPointFromText' function. + An expression that provides the well-known text representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownTextValue. + + + + Creates a that invokes the canonical 'GeographyLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known text representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known text representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known text representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known text representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromText' function with the specified arguments. geographyCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known text representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified binary value. + An expression that provides the well known binary representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known binary representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography point value based on the specified values. + An expression that provides the well known binary representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownBinaryValue. + + + + Creates a that invokes the canonical 'GeographyLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known binary representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known binary representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known binary representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known binary representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromBinary' function with the specified arguments. geographyCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known binary representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified arguments. geographyMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'CoordinateSystemId' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer SRID value from spatialValue. + An expression that specifies the value from which the coordinate system id (SRID) should be retrieved. + + + + Creates a that invokes the canonical 'SpatialTypeName' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the string Geometry Type name from spatialValue. + An expression that specifies the value from which the Geometry Type name should be retrieved. + + + + Creates a that invokes the canonical 'SpatialDimension' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the Dimension value from spatialValue. + An expression that specifies the value from which the Dimension value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialEnvelope' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the minimum bounding box for geometryValue. + An expression that specifies the value from which the Envelope value should be retrieved. + + + + Creates a that invokes the canonical 'AsBinary' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Binary. + + A new DbFunctionExpression that returns the well known binary representation of spatialValue. + An expression that specifies the spatial value from which the well known binary representation should be produced. + + + + Creates a that invokes the canonical 'AsGml' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the Geography Markup Language (GML) representation of spatialValue. + An expression that specifies the spatial value from which the Geography Markup Language (GML) representation should be produced. + + + + Creates a that invokes the canonical 'AsText' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the well known text representation of spatialValue. + An expression that specifies the spatial value from which the well known text representation should be produced. + + + + Creates a that invokes the canonical 'IsEmptySpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue is empty. + An expression that specifies the spatial value from which the IsEmptySpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsSimpleGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is a simple geometry. + The geometry value. + + + + Creates a that invokes the canonical 'SpatialBoundary' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the boundary for geometryValue. + An expression that specifies the geometry value from which the SpatialBoundary value should be retrieved. + + + + Creates a that invokes the canonical 'IsValidGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is valid. + An expression that specifies the geometry value which should be tested for spatial validity. + + + + Creates a that invokes the canonical 'SpatialEquals' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are equal. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for equality. + + + + Creates a that invokes the canonical 'SpatialDisjoint' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are spatially disjoint. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for disjointness. + + + + Creates a that invokes the canonical 'SpatialIntersects' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 intersect. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for intersection. + + + + Creates a that invokes the canonical 'SpatialTouches' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 touches geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialCrosses' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 crosses geometryValue2 intersect. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialWithin' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially within geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialContains' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially contains geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialOverlaps' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially overlaps geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialRelate' function with the specified arguments, which must have Edm.Geometry and string result types. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially related to geometryValue2 according to the spatial relationship designated by intersectionPatternMatrix. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + An expression that specifies the text representation of the Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern used to compare geometryValue1 and geometryValue2. + + + + Creates a that invokes the canonical 'SpatialBuffer' function with the specified arguments, which must have a Edm.Geography or Edm.Geometry and Edm.Double result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a geometry value representing all points less than or equal to distance from spatialValue. + An expression that specifies the spatial value. + An expression that specifies the buffer distance. + + + + Creates a that invokes the canonical 'Distance' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns the distance between the closest points in spatialValue1 and spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value from which the distance from spatialValue1 should be measured. + + + + Creates a that invokes the canonical 'SpatialConvexHull' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the convex hull for geometryValue. + An expression that specifies the geometry value from which the convex hull value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialIntersection' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the intersection of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the intersection with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialUnion' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the union of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the union with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialSymmetricDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the symmetric difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the symmetric difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialElementCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of elements in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value from which the number of elements should be retrieved. + + + + Creates a that invokes the canonical 'SpatialElementAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the collection element at position indexValue in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value. + An expression that specifies the position of the element to be retrieved from within the geometry or geography collection. + + + + Creates a that invokes the canonical 'XCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the X co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the X co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'YCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Y co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the Y co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Elevation' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the elevation value of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the elevation (Z co-ordinate) value should be retrieved. + + + + Creates a that invokes the canonical 'Measure' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Measure of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the Measure (M) co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Latitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Latitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Latitude value should be retrieved. + + + + Creates a that invokes the canonical 'Longitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Longitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Longitude value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialLength' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the length of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the length should be retrieved. + + + + Creates a that invokes the canonical 'StartPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the start point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the start point should be retrieved. + + + + Creates a that invokes the canonical 'EndPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the end point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the end point should be retrieved. + + + + Creates a that invokes the canonical 'IsClosedSpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether spatialValue is closed, or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the IsClosedSpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsRing' function with the specified argument, which must have an Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether geometryValue is a ring (both closed and simple), or null if geometryValue is not a curve. + An expression that specifies the geometry curve value from which the IsRing value should be retrieved. + + + + Creates a that invokes the canonical 'PointCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of points in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value from which the number of points should be retrieved. + + + + Creates a that invokes the canonical 'PointAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the point at position indexValue in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value. + An expression that specifies the position of the point to be retrieved from within the line string. + + + + Creates a that invokes the canonical 'Area' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the area of spatialValue or null if spatialValue is not a surface. + An expression that specifies the spatial surface value for which the area should be calculated. + + + + Creates a that invokes the canonical 'Centroid' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the centroid point of geometryValue (which may not be on the surface itself) or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the centroid should be retrieved. + + + + Creates a that invokes the canonical 'PointOnSurface' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either a point guaranteed to be on the surface geometryValue or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the point should be retrieved. + + + + Creates a that invokes the canonical 'ExteriorRing' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the exterior ring of the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingCount' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of interior rings in the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingAt' function with the specified arguments. The first argument must have an Edm.Geometry result type. The second argument must have an integer numeric result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the interior ring at position indexValue in geometryValue or null if geometryValue is not a polygon. + The geometry value. + An expression that specifies the position of the interior ring to be retrieved from within the polygon. + + + + Ensures that all metadata in a given expression tree is from the specified metadata workspace, + potentially rebinding and rebuilding the expressions to appropriate replacement metadata where necessary. + + + + Initializes a new instance of the class. + The target workspace. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + + DataRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new object for a specific type with an enumerable collection of data fields. + + + The metadata for the type represented by this object, supplied by + + . + + + An enumerable collection of objects that represent column information. + + + + + Gets for this + + object. + + + A object. + + + + + Gets type info for this object as a object. + + + A value. + + + + + A prepared command definition, can be cached and reused to avoid + repreparing a command. + + + + + Initializes a new instance of the class using the supplied + + . + + + The supplied . + + method used to clone the + + + + Initializes a new instance of the class. + + + + + Creates and returns a object that can be executed. + + The command for database. + + + + Metadata Interface for all CLR types + + + + + Value to pass to GetInformation to get the StoreSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaMapping + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaDefinitionVersion3 + + + + + Value to pass to GetInformation to get the StoreSchemaMappingVersion3 + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinitionVersion3 + + + + + Name of the MaxLength Facet + + + + + Name of the Unicode Facet + + + + + Name of the FixedLength Facet + + + + + Name of the Precision Facet + + + + + Name of the Scale Facet + + + + + Name of the Nullable Facet + + + + + Name of the DefaultValue Facet + + + + + Name of the Collation Facet + + + + + Name of the SRID Facet + + + + + Name of the IsStrict Facet + + + + Gets the namespace used by this provider manifest. + The namespace used by this provider manifest. + + + When overridden in a derived class, returns the set of primitive types supported by the data source. + The set of types supported by the data source. + + + When overridden in a derived class, returns a collection of EDM functions supported by the provider manifest. + A collection of EDM functions. + + + Returns the FacetDescription objects for a particular type. + The FacetDescription objects for the specified EDM type. + The EDM type to return the facet description for. + + + When overridden in a derived class, this method maps the specified storage type and a set of facets for that type to an EDM type. + + The instance that describes an EDM type and a set of facets for that type. + + The TypeUsage instance that describes a storage type and a set of facets for that type to be mapped to the EDM type. + + + When overridden in a derived class, this method maps the specified EDM type and a set of facets for that type to a storage type. + The TypeUsage instance that describes a storage type and a set of facets for that type. + The TypeUsage instance that describes the EDM type and a set of facets for that type to be mapped to a storage type. + + + When overridden in a derived class, this method returns provider-specific information. + The XmlReader object that represents the mapping to the underlying data store catalog. + The type of the information to return. + + + Gets the provider-specific information. + The provider-specific information. + The type of the information to return. + + + Indicates if the provider supports escaping strings to be used as patterns in a Like expression. + True if this provider supports escaping strings to be used as patterns in a Like expression; otherwise, false. + If the provider supports escaping, the character that would be used as the escape character. + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + The default is false. Providers should change this to true only after testing that schema queries (as + used in the Database First flow) work correctly with this flag. + + True only if the provider supports the parameter optimization. + + + Provider writers should override this method to return the argument with the wildcards and the escape character escaped. This method is only used if SupportsEscapingLikeArgument returns true. + The argument with the wildcards and the escape character escaped. + The argument to be escaped. + + + + Returns a boolean that specifies whether the provider can handle expression trees + containing instances of DbInExpression. + The default implementation returns false for backwards compatibility. Derived classes can override this method. + + + false + + + + + Returns a boolean that specifies whether the provider can process expression trees not having DbProjectExpression + nodes directly under both Left and Right sides of DbUnionAllExpression and DbIntersectExpression + + + false + + + + + The factory for building command definitions; use the type of this object + as the argument to the IServiceProvider.GetService method on the provider + factory; + + + + + Constructs an EF provider that will use the obtained from + the app domain Singleton for resolving EF dependencies such + as the instance to use. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object given a command tree. + + command tree for the statement + an executable command definition object + + This method simply delegates to the provider's implementation of CreateDbCommandDefinition. + + + + Creates command definition from specified manifest and command tree. + The created command definition. + The manifest. + The command tree. + + + Creates a command definition object for the specified provider manifest and command tree. + An executable command definition object. + Provider manifest previously retrieved from the store provider. + Command tree for the statement. + + + + Create the default DbCommandDefinition object based on the prototype command + This method is intended for provider writers to build a default command definition + from a command. + Note: This will clone the prototype + + the prototype command + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + DbCommand can cause deadlocks. So here allow sub-classes to override. + + the object to clone + a clone of the + + + + Clones the connection. + + The original connection. + Cloned connection + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + Returns provider manifest token given a connection. + The provider manifest token. + Connection to provider. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + Returns the provider manifest by using the specified version information. + The provider manifest by using the specified version information. + The token information associated with the provider manifest. + + + When overridden in a derived class, returns an instance of a class that derives from the DbProviderManifest. + A DbProviderManifest object that represents the provider manifest. + The token information associated with the provider manifest. + + + + Gets the that will be used to execute methods that use the specified connection. + + The database connection + + A new instance of + + + + + Gets the that will be used to execute methods that use the specified connection. + This overload should be used by the derived classes for compatability with wrapping providers. + + The database connection + The provider invariant name + + A new instance of + + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + Gets the spatial services for the . + The spatial services. + Information about the database that the spatial services will be used for. + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The token information associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + Returns providers given a connection. + + The instanced based on the specified connection. + + Connection to provider. + + + Retrieves the DbProviderFactory based on the specified DbConnection. + The retrieved DbProviderFactory. + The connection to use. + + + + Return an XML reader which represents the CSDL description + + The name of the CSDL description. + An XmlReader that represents the CSDL description + + + Generates a data definition language (DDL script that creates schema objects (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + The provider manifest token identifying the target version. + The structure of the database. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Creates a database indicated by connection and creates schema objects + (tables, primary keys, foreign keys) based on the contents of storeItemCollection. + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Creates a database indicated by connection and creates schema objects (tables, primary keys, foreign keys) based on the contents of a StoreItemCollection. + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + Override this method to avoid creating the store item collection if it is not needed. The default implementation evaluates the Lazy and calls the other overload of this method. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + + Expands |DataDirectory| in the given path if it begins with |DataDirectory| and returns the expanded path, + or returns the given string if it does not start with |DataDirectory|. + + The path to expand. + The expanded path. + + + + Adds an that will be used to resolve additional default provider + services when a derived type is registered as an EF provider either using an entry in the application's + config file or through code-based registration in . + + The resolver to add. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + + Use this method to set, add, or change other provider-related services. Note that this method + will only be called for such services if they are not already explicitly configured in some + other way by the application. This allows providers to set default services while the + application is still able to override and explicitly configure each service if required. + See and for more details. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + An instance of the given type, or null if the service could not be resolved. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + All registered services that satisfy the given type and key, or an empty enumeration if there are none. + + + + A specialization of the ProviderManifest that accepts an XmlReader + + + + + Initializes a new instance of the class. + + + An object that provides access to the XML data in the provider manifest file. + + + + Gets the namespace name supported by this provider manifest. + The namespace name supported by this provider manifest. + + + Gets the best mapped equivalent Entity Data Model (EDM) type for a specified storage type name. + The best mapped equivalent EDM type for a specified storage type name. + + + Gets the best mapped equivalent storage primitive type for a specified storage type name. + The best mapped equivalent storage primitive type for a specified storage type name. + + + Returns the list of facet descriptions for the specified Entity Data Model (EDM) type. + + A collection of type that contains the list of facet descriptions for the specified EDM type. + + + An for which the facet descriptions are to be retrieved. + + + + Returns the list of primitive types supported by the storage provider. + + A collection of type that contains the list of primitive types supported by the storage provider. + + + + Returns the list of provider-supported functions. + + A collection of type that contains the list of provider-supported functions. + + + + + EntityRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new instance of the class of a specific entity type with an enumerable collection of data fields and with specific key and entity set information. + + + The of the entity represented by the + + described by this + + object. + + + An enumerable collection of objects that represent column information. + + The key for the entity. + The entity set to which the entity belongs. + + + + Gets the for the entity. + + The key for the entity. + + + + Public Entity SQL Parser class. + + + + Parse the specified query with the specified parameters. + + The containing + + and information describing inline function definitions if any. + + The EntitySQL query to be parsed. + The optional query parameters. + + + + Parse a specific query with a specific set variables and produce a + + . + + + The containing + + and information describing inline function definitions if any. + + The query to be parsed. + The optional query variables. + + + + Entity SQL query inline function definition, returned as a part of . + + + + Function name. + + + Function body and parameters. + + + Start position of the function definition in the eSQL query text. + + + End position of the function definition in the eSQL query text. + + + + Entity SQL Parser result information. + + + + A command tree produced during parsing. + + + + List of objects describing query inline function definitions. + + + + + FieldMetadata class providing the correlation between the column ordinals and MemberMetadata. + + + + + Initializes a new object with the specified ordinal value and field type. + + An integer specified the location of the metadata. + The field type. + + + + Gets the type of field for this object. + + + The type of field for this object. + + + + + Gets the ordinal for this object. + + An integer representing the ordinal value. + + + + Get the hierarchyid value of a column with the given ordinal + + The ordinal of the column to retrieve the value + The hierarchyid value + + + + Class representing a parameter collection used in EntityCommand + + + + + Gets an Integer that contains the number of elements in the + + . + + + The number of elements in the as an Integer. + + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true if the has a fixed size; otherwise false. + + + + + Gets a value that indicates whether the + + is read-only. + + + Returns true if the is read only; otherwise false. + + + + + Gets a value that indicates whether the + + is synchronized. + + + Returns true if the is synchronized; otherwise false. + + + + + Gets an object that can be used to synchronize access to the + + . + + + An object that can be used to synchronize access to the + + . + + + + + Adds the specified object to the . + + + The index of the new object. + + + An . + + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Removes all the objects from the + + . + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified one-dimensional + + starting at the specified destination index. + + + The one-dimensional that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the at which copying starts. + + + + + Returns an enumerator that iterates through the + + . + + + An for the + + . + + + + + + + + + + + Gets the location of the specified with the specified name. + + + The zero-based location of the specified with the specified case-sensitive name. Returns -1 when the object does not exist in the + + . + + + The case-sensitive name of the to find. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts an into the + + at the specified index. + + The zero-based index at which value should be inserted. + + An to be inserted in the + + . + + + + Removes the specified parameter from the collection. + + A object to remove from the collection. + + + + + Removes the from the + + at the specified index. + + + The zero-based index of the object to remove. + + + + + Removes the from the + + at the specified parameter name. + + + The name of the to remove. + + + + + + + + + + + Gets the at the specified index. + + + The at the specified index. + + The zero-based index of the parameter to retrieve. + The specified index does not exist. + + + + Gets the with the specified name. + + + The with the specified name. + + The name of the parameter to retrieve. + The specified name does not exist. + + + + Adds the specified object to the + + . + + + A new object. + + + The to add to the collection. + + + The specified in the value parameter is already added to this or another + + . + + + The parameter passed was not a . + + The value parameter is null. + + + + Adds a value to the end of the . + + + A object. + + The name of the parameter. + The value to be added. + + + + Adds a to the + + given the parameter name and the data type. + + + A new object. + + The name of the parameter. + + One of the values. + + + + + Adds a to the + + with the parameter name, the data type, and the column length. + + + A new object. + + The name of the parameter. + + One of the values. + + The column length. + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified + + starting at the specified destination index. + + + The that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the + + at which copying starts. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts a object into the + + at the specified index. + + The zero-based index at which value should be inserted. + + A object to be inserted in the + + . + + + + + Removes the specified from the collection. + + + A object to remove from the collection. + + + The parameter is not a . + + The parameter does not exist in the collection. + + + + Class representing a command for the conceptual layer + + + + + Initializes a new instance of the class using the specified values. + + + + + Initializes a new instance of the class with the specified statement. + + The text of the command. + + + + Constructs the EntityCommand object with the given eSQL statement and the connection object to use + + The eSQL command text to execute + The connection object + Resolver used to resolve DbProviderServices + + + + Initializes a new instance of the class with the specified statement and connection. + + The text of the command. + A connection to the data source. + + + + Initializes a new instance of the class with the specified statement, connection and transaction. + + The text of the command. + A connection to the data source. + The transaction in which the command executes. + + + + Gets or sets the used by the + + . + + The connection used by the entity command. + + + + The connection object used for executing the command + + + + Gets or sets an Entity SQL statement that specifies a command or stored procedure to execute. + The Entity SQL statement that specifies a command or stored procedure to execute. + + + Gets or sets the command tree to execute; only one of the command tree or the command text can be set, not both. + The command tree to execute. + + + Gets or sets the amount of time to wait before timing out. + The time in seconds to wait for the command to execute. + + + + Gets or sets a value that indicates how the + + property is to be interpreted. + + + One of the enumeration values. + + + + Gets the parameters of the Entity SQL statement or stored procedure. + The parameters of the Entity SQL statement or stored procedure. + + + + The collection of parameters for this command + + + + + Gets or sets the transaction within which the executes. + + + The transaction within which the executes. + + + + + The transaction that this command executes in + + + + Gets or sets how command results are applied to rows being updated. + + One of the values. + + + + Gets or sets a value that indicates whether the command object should be visible in a Windows Form Designer control. + true if the command object should be visible in a Windows Form Designer control; otherwise, false. + + + Gets or sets a value that indicates whether the query plan caching is enabled. + true if the query plan caching is enabled; otherwise, false. + + + + Cancels the execution of an . + + + + + Creates a new instance of an object. + + + A new instance of an object. + + + + + Create and return a new parameter object representing a parameter in the eSQL statement + + The parameter object. + + + Executes the command and returns a data reader. + + The that contains the results. + + + + + Compiles the into a command tree and passes it to the underlying store provider for execution, then builds an + + out of the produced result set using the specified + + . + + + The that contains the results. + + + One of the values. + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + A DbDataReader object + + + + Asynchronously executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + The token to monitor for cancellation requests + + A task that represents the asynchronous operation. + The task result contains a DbDataReader object. + + + + Executes the current command. + The number of rows affected. + + + + Asynchronously executes the command and discard any results returned from the command + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + Executes the command, and returns the first column of the first row in the result set. Additional columns or rows are ignored. + The first column of the first row in the result set, or a null reference (Nothing in Visual Basic) if the result set is empty. + + + Compiles the entity-level command and creates a prepared version of the command. + + + Compiles the entity-level command and returns the store command text. + The store command text. + + + + Class representing a connection for the conceptual layer. An entity connection may only + be initialized once (by opening the connection). It is subsequently not possible to change + the connection string, attach a new store connection, or change the store connection string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, based on the connection string. + + The provider-specific connection string. + An invalid connection string keyword has been provided, or a required connection string keyword has not been provided. + + + + Initializes a new instance of the class with a specified + and + . + + + A to be associated with this + . + + + The underlying data source connection for this object. + + The workspace or connection parameter is null. + The conceptual model is missing from the workspace.-or-The mapping file is missing from the workspace.-or-The storage model is missing from the workspace.-or-The connection is not in a closed state. + The connection is not from an ADO.NET Entity Framework-compatible provider. + + + + Constructs the EntityConnection from Metadata loaded in memory + + Workspace containing metadata information. + Store connection. + If set to true the store connection is disposed when the entity connection is disposed, otherwise the caller must dispose the store connection. + + + + Gets or sets the connection string. + + The connection string required to establish the initial connection to a data source. The default value is an empty string. On a closed connection, the currently set value is returned. If no value has been set, an empty string is returned. + + An attempt was made to set the property after the + + ’s was initialized. The + + is initialized either when the instance is constructed through the overload that takes a + + as a parameter, or when the + + instance has been opened. + + An invalid connection string keyword has been provided or a required connection string keyword has not been provided. + + + Gets the number of seconds to wait when attempting to establish a connection before ending the attempt and generating an error. + The time (in seconds) to wait for a connection to open. The default value is the underlying data provider's default time-out. + The value set is less than 0. + + + Gets the name of the current database, or the database that will be used after a connection is opened. + The value of the Database property of the underlying data provider. + The underlying data provider is not known. + + + + Gets the state of the EntityConnection, which is set up to track the state of the underlying + database connection that is wrapped by this EntityConnection. + + + + Gets the name or network address of the data source to connect to. + The name of the data source. The default value is an empty string. + The underlying data provider is not known. + + + Gets a string that contains the version of the data source to which the client is connected. + The version of the data source that is contained in the provider connection string. + The connection is closed. + + + + Gets the provider factory associated with EntityConnection + + + + + Provides access to the underlying data source connection that is used by the + + object. + + + The for the data source connection. + + + + + Returns the associated with this + + . + + + The associated with this + + . + + The inline connection string contains an invalid Metadata keyword value. + + + + Gets the current transaction that this connection is enlisted in. May be null. + + + + Establishes a connection to the data source by calling the underlying data provider's Open method. + An error occurs when you open the connection, or the name of the underlying data provider is not known. + The inline connection string contains an invalid Metadata keyword value. + + + + Asynchronously establishes a connection to the data store by calling the Open method on the underlying data provider + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a new instance of an , with the + + set to this + + . + + + An object. + + The name of the underlying data provider is not known. + + + + Create a new command object that uses this connection object + + The command object. + + + Closes the connection to the database. + An error occurred when closing the connection. + + + Not supported. + Not supported. + When the method is called. + + + Begins a transaction by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + Begins a transaction with the specified isolation level by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + The isolation level of the transaction. + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + + Begins a database transaction + + The isolation level of the transaction + An object representing the new transaction + + + + Enlists this in the specified transaction. + + The transaction object to enlist into. + + The state of the is not + + . + + + + + Cleans up this connection object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Class representing a connection string builder for the entity client provider + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the supplied connection string. + + A provider-specific connection string to the underlying data source. + + + Gets or sets the name of a section as defined in a configuration file. + The name of a section in a configuration file. + + + Gets or sets the name of the underlying .NET Framework data provider in the connection string. + The invariant name of the underlying .NET Framework data provider. + + + Gets or sets the metadata locations in the connection string. + Gets or sets the metadata locations in the connection string. + + + Gets or sets the inner, provider-specific connection string. + The inner, provider-specific connection string. + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true in every case, because the + + supplies a fixed-size collection of keyword/value pairs. + + + + + Gets an that contains the keys in the + + . + + + An that contains the keys in the + + . + + + + Gets or sets the value associated with the specified key. In C#, this property is the indexer. + The value associated with the specified key. + The key of the item to get or set. + keyword is a null reference (Nothing in Visual Basic). + Tried to add a key that does not exist in the available keys. + Invalid value in the connection string (specifically, a Boolean or numeric value was expected but not supplied). + + + + Clears the contents of the instance. + + + + + Determines whether the contains a specific key. + + + Returns true if the contains an element that has the specified key; otherwise, false. + + + The key to locate in the . + + + + + Retrieves a value corresponding to the supplied key from this + + . + + Returns true if keyword was found in the connection string; otherwise, false. + The key of the item to retrieve. + The value corresponding to keyword. + keyword contains a null value (Nothing in Visual Basic). + + + + Removes the entry with the specified key from the + + instance. + + Returns true if the key existed in the connection string and was removed; false if the key did not exist. + + The key of the keyword/value pair to be removed from the connection string in this + + . + + keyword is null (Nothing in Visual Basic) + + + + A data reader class for the entity client provider + + + + Gets a value indicating the depth of nesting for the current row. + The depth of nesting for the current row. + + + Gets the number of columns in the current row. + The number of columns in the current row. + + + + Gets a value that indicates whether this contains one or more rows. + + + true if the contains one or more rows; otherwise, false. + + + + + Gets a value indicating whether the is closed. + + + true if the is closed; otherwise, false. + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + The number of rows changed, inserted, or deleted. Returns -1 for SELECT statements; 0 if no rows were affected or the statement failed. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The name of the column. + + + + Gets the number of fields in the that are not hidden. + + The number of fields that are not hidden. + + + + Gets for this + + . + + The information of a data record. + + + + Closes the object. + + + + + Releases the resources consumed by this and calls + + . + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the value of the specified column as a Boolean. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a byte. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of bytes from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of bytes read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the value of the specified column as a single character. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of characters from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of characters read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the name of the data type of the specified column. + The name of the data type. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + + Returns a object for the requested column ordinal that can be overridden with a provider-specific implementation. + + A data reader. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a double-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the data type of the specified column. + The data type of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a single-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a globally-unique identifier (GUID). + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 16-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 32-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 64-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the name of the column, given the zero-based column ordinal. + The name of the specified column. + The zero-based column ordinal. + + + Gets the column ordinal given the name of the column. + The zero-based column ordinal. + The name of the column. + The name specified is not a valid column name. + + + Returns the provider-specific field type of the specified column. + + The object that describes the data type of the specified column. + + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Gets all provider-specific attribute columns in the collection for the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + + Returns a that describes the column metadata of the + + . + + + A that describes the column metadata. + + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Populates an array of objects with the column values of the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + Gets a value that indicates whether the column contains nonexistent or missing values. + + true if the specified column is equivalent to ; otherwise, false. + + The zero-based column ordinal. + + + Advances the reader to the next result when reading the results of a batch of statements. + true if there are more result sets; otherwise, false. + + + + Asynchronously moves the reader to the next result set when reading a batch of statements + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more result sets; false otherwise. + + + + Advances the reader to the next record in a result set. + true if there are more rows; otherwise, false. + + + + Asynchronously moves the reader to the next row of the current result set + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more rows; false otherwise. + + + + + Returns an that can be used to iterate through the rows in the data reader. + + + An that can be used to iterate through the rows in the data reader. + + + + + Returns a nested . + + The nested data record. + The number of the DbDataRecord to return. + + + + Returns nested readers as objects. + + + The nested readers as objects. + + The ordinal of the column. + + + + Class representing a parameter used in EntityCommand + + + + + Initializes a new instance of the class using the default values. + + + + + Initializes a new instance of the class using the specified parameter name and data type. + + The name of the parameter. + + One of the values. + + + + + Initializes a new instance of the class using the specified parameter name, data type and size. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + The name of the source column. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + One of the values. + + true to indicate that the parameter accepts null values; otherwise, false. + The number of digits used to represent the value. + The number of decimal places to which value is resolved. + The name of the source column. + + One of the values. + + The value of the parameter. + + + Gets or sets the name of the entity parameter. + The name of the entity parameter. + + + + Gets or sets the of the parameter. + + + One of the values. + + + + Gets or sets the type of the parameter, expressed as an EdmType. + The type of the parameter, expressed as an EdmType. + + + + Gets or sets the number of digits used to represent the + + property. + + The number of digits used to represent the value. + + + + Gets or sets the number of decimal places to which + + is resolved. + + The number of decimal places to which value is resolved. + + + Gets or sets the value of the parameter. + The value of the parameter. + + + Gets or sets the direction of the parameter. + + One of the values. + + + + Gets or sets a value that indicates whether the parameter accepts null values. + true if null values are accepted; otherwise, false. + + + Gets or sets the maximum size of the data within the column. + The maximum size of the data within the column. + + + + Gets or sets the name of the source column mapped to the and used for loading or returning the + + . + + The name of the source column mapped to the dataset and used for loading or returning the value. + + + Gets or sets a value that indicates whether source column is nullable. + true if source column is nullable; otherwise, false. + + + + Gets or sets the to use when loading the value. + + + One of the values. + + + + + Resets the type associated with the . + + + + Returns a string representation of the parameter. + A string representation of the parameter. + + + + Class representing a provider factory for the entity client provider + + + + + A singleton object for the entity client provider factory object. + This remains a public field (not property) because DbProviderFactory expects a field. + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + This method is currently not supported. + + + + Returns the requested class. + + + A new instance of . The supported types are + + , + + , and + + . Returns null (or Nothing in Visual Basic) for every other type. + + + The to return. + + + + + Class representing a transaction for the conceptual layer + + + + + Gets for this + + . + + + An to the underlying data source. + + + + + The connection object owning this transaction object + + + + + Gets the isolation level of this . + + + An enumeration value that represents the isolation level of the underlying transaction. + + + + + Gets the DbTransaction for the underlying provider transaction. + + + + Commits the underlying transaction. + + + Rolls back the underlying transaction. + + + + Cleans up this transaction object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Represents a failure while trying to prepare or execute a CommandCompilation + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a failure while trying to prepare or execute a CommandExecution + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provider exception - Used by the entity client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An identifier for an entity. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an entity set name and a generic + + collection. + + + A that is the entity set name qualified by the entity container name. + + + A generic collection.Each key/value pair has a property name as the key and the value of that property as the value. There should be one pair for each property that is part of the + + . The order of the key/value pairs is not important, but each key property should be included. The property names are simple names that are not qualified with an entity type name or the schema name. + + + + + Initializes a new instance of the class with an entity set name and an + + collection of + + objects. + + + A that is the entity set name qualified by the entity container name. + + + An collection of + + objects with which to initialize the key. + + + + + Initializes a new instance of the class with an entity set name and specific entity key pair. + + + A that is the entity set name qualified by the entity container name. + + + A that is the name of the key. + + + An that is the key value. + + + + + Gets a singleton EntityKey by which a read-only entity is identified. + + + + + Gets a singleton EntityKey identifying an entity resulted from a failed TREAT. + + + + Gets or sets the name of the entity set. + + A value that is the name of the entity set for the entity to which the + + belongs. + + + + Gets or sets the name of the entity container. + + A value that is the name of the entity container for the entity to which the + + belongs. + + + + + Gets or sets the key values associated with this . + + + A of key values for this + + . + + + + + Gets a value that indicates whether the is temporary. + + + true if the is temporary; otherwise, false. + + + + Gets the entity set for this entity key from the given metadata workspace. + + The for the entity key. + + The metadata workspace that contains the entity. + The entity set could not be located in the specified metadata workspace. + + + Returns a value that indicates whether this instance is equal to a specified object. + true if this instance and obj have equal values; otherwise, false. + + An to compare with this instance. + + + + + Returns a value that indicates whether this instance is equal to a specified + + . + + true if this instance and other have equal values; otherwise, false. + + An object to compare with this instance. + + + + + Serves as a hash function for the current object. + + is suitable for hashing algorithms and data structures such as a hash table. + + + A hash code for the current . + + + + + Compares two objects. + + true if the key1 and key2 values are equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Compares two objects. + + true if the key1 and key2 values are not equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream and provides an additional caller-defined context. + + + + Information about a key that is part of an EntityKey. + A key member contains the key name and value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified entity key pair. + + The name of the key. + The key value. + + + Gets or sets the name of the entity key. + The key name. + + + Gets or sets the value of the entity key. + The key value. + + + Returns a string representation of the entity key. + A string representation of the entity key. + + + + Represents an eSQL Query compilation exception; + The class of exceptional conditions that may cause this exception to be raised are mainly: + 1) Syntax Errors: raised during query text parsing and when a given query does not conform to eSQL formal grammar; + 2) Semantic Errors: raised when semantic rules of eSQL language are not met such as metadata or schema information + not accurate or not present, type validation errors, scoping rule violations, user of undefined variables, etc. + For more information, see eSQL Language Spec. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Gets a description of the error. + A string that describes the error. + + + Gets the approximate context where the error occurred, if available. + A string that describes the approximate context where the error occurred, if available. + + + Gets the approximate line number where the error occurred. + An integer that describes the line number where the error occurred. + + + Gets the approximate column number where the error occurred. + An integer that describes the column number where the error occurred. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + DataRecord interface supporting structured types and rich metadata information. + + + + + Gets for this + + . + + + A object. + + + + + Gets a object with the specified index. + + + A object. + + The index of the row. + + + + Returns nested readers as objects. + + + Nested readers as objects. + + The ordinal of the column. + + + + Thrown to indicate that a command tree is invalid. + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Mapping exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents the Mapping metadata for an AssociationSet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the AssociationSetMapping elements in the + above example. And it is possible to access the AssociationTypeMap underneath it. + There will be only one TypeMap under AssociationSetMap. + + + + + Initializes a new AssociationSetMapping instance. + + The association set to be mapped. + The store entity set to be mapped. + The parent container mapping. + + + + Gets the association set that is mapped. + + + + + Gets the contained association type mapping. + + + + + Gets or sets the corresponding function mapping. Can be null. + + + + + Gets the store entity set that is mapped. + + + + + Gets or sets the source end property mapping. + + + + + Gets or sets the target end property mapping. + + + + + Gets the property mapping conditions. + + + + + Adds a property mapping condition. + + The condition to add. + + + + Removes a property mapping condition. + + The property mapping condition to remove. + + + + Describes modification function mappings for an association set. + + + + + Initializes a new AssociationSetModificationFunctionMapping instance. + + An association set. + A delete function mapping. + An insert function mapping. + + + + Gets the association set. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + + + + Represents the Mapping metadata for an association type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all association Type map elements in the + above example. Users can access the table mapping fragments under the + association type mapping through this class. + + + + + Creates an AssociationTypeMapping instance. + + The AssociationSetMapping that + the contains this AssociationTypeMapping. + + + + Gets the AssociationSetMapping that contains this AssociationTypeMapping. + + + + + Gets the association type being mapped. + + + + + Gets the single mapping fragment. + + + + + Mapping metadata for Complex properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the complex property map elements in the + above example. ComplexPropertyMaps contain ComplexTypeMaps which define mapping based + on the type of the ComplexProperty in case of inheritance. + + + + + Construct a new Complex Property mapping object + + The MemberMetadata object that represents this Complex member + + + + Gets a read only collections of type mappings corresponding to the + nested complex types. + + + + + Adds a type mapping corresponding to a nested complex type. + + The complex type mapping to be added. + + + + Removes a type mapping corresponding to a nested complex type. + + The complex type mapping to be removed. + + + + Mapping metadata for Complex Types. + + + + + Creates a ComplexTypeMapping instance. + + The ComplexType being mapped. + + + + Gets the ComplexType being mapped. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Mapping metadata for Conditional property mapping on a type. + Condition Property Mapping specifies a Condition either on the C side property or S side property. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the condition property map elements in the + above example. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Mapping metadata for End property of an association. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the end property map elements in the + above example. EndPropertyMaps provide mapping for each end of the association. + + + + + Creates an association end property mapping. + + An AssociationEndMember that specifies + the association end to be mapped. + + + + Gets an AssociationEndMember that specifies the mapped association end. + + + + + Gets a ReadOnlyCollection of ScalarPropertyMapping that specifies the children + of this association end property mapping. + + + + + Adds a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be added. + + + + Removes a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be removed. + + + + Represents the Mapping metadata for the EntityContainer map in CS space. + Only one EntityContainerMapping element is allowed in the MSL file for CS mapping. + + + For Example if conceptually you could represent the CS MSL file as following + ---Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --AssociationSetMapping + The type represents the metadata for EntityContainerMapping element in the above example. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + We currently assume that an Entity Container on the C side + is mapped to a single Entity Container in the S - space. + + + + + Initializes a new EntityContainerMapping instance. + + The conceptual entity container to be mapped. + The store entity container to be mapped. + The parent mapping item collection. + Flag indicating whether to generate update views. + + + + Gets the parent mapping item collection. + + + + + Gets the type kind for this item + + + + + Gets the conceptual entity container. + + + + + Gets the store entity container. + + + + + Gets the entity set mappings. + + + + + Gets the association set mappings. + + + + + Gets the function import mappings. + + + + + Gets a flag that indicates whether to generate the update views or not. + + + + + Adds an entity set mapping. + + The entity set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds an association set mapping. + + The association set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds a function import mapping. + + The function import mapping to add. + + + + Removes a function import mapping. + + The function import mapping to remove. + + + + Represents the Mapping metadata for an Extent in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for all the extent map elements in the + above example namely EntitySetMapping, AssociationSetMapping and CompositionSetMapping. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + + + Gets the parent container mapping. + + + + + Gets or sets the query view associated with this mapping. + + + + + Represents the Mapping metadata for an EntitySet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the EntitySetMapping elements in the + above example. And it is possible to access the EntityTypeMaps underneath it. + + + + + Initializes a new EntitySetMapping instance. + + The entity set to be mapped. + The parent container mapping. + + + + Gets the entity set that is mapped. + + + + + Gets the contained entity type mappings. + + + + + Gets the corresponding function mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Adds a function mapping. + + The function mapping to add. + + + + Removes a function mapping. + + The function mapping to remove. + + + + Mapping metadata for Entity type. + If an EntitySet represents entities of more than one type, than we will have + more than one EntityTypeMapping for an EntitySet( For ex : if + PersonSet Entity extent represents entities of types Person and Customer, + than we will have two EntityType Mappings under mapping for PersonSet). + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all entity Type map elements in the + above example. Users can access the table mapping fragments under the + entity type mapping through this class. + + + + + Creates an EntityTypeMapping instance. + + The EntitySetMapping that contains this EntityTypeMapping. + + + + Gets the EntitySetMapping that contains this EntityTypeMapping. + + + + + Gets the single EntityType being mapped. Throws exception in case of hierarchy type mapping. + + + + + Gets a flag that indicates whether this is a type hierarchy mapping. + + + + + Gets a read-only collection of mapping fragments. + + + + + Gets the mapped entity types. + + + + + Gets the mapped base types for a hierarchy mapping. + + + + + Adds an entity type to the mapping. + + The EntityType to be added. + + + + Removes an entity type from the mapping. + + The EntityType to be removed. + + + + Adds an entity type hierarchy to the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be added. + + + + Removes an entity type hierarchy from the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be removed. + + + + Adds a mapping fragment. + + The mapping fragment to be added. + + + + Removes a mapping fragment. + + The mapping fragment to be removed. + + + + Describes modification function mappings for an entity type within an entity set. + + + + + Initializes a new EntityTypeModificationFunctionMapping instance. + + An entity type. + A delete function mapping. + An insert function mapping. + An updated function mapping. + + + + Gets the entity type. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + Gets the update function mapping. + + + + + + + + Base class for the type created at design time to store the generated views. + + + + Returns the key/value pair at the specified index, which contains the view and its key. + The key/value pair at index , which contains the view and its key. + The index of the view. + + + + Gets or sets the name of . + + The container name. + + + + Gets or sets in storage schema. + + Container name. + + + Hash value. + Hash value. + + + Hash value of views. + Hash value. + + + Gets or sets view count. + View count. + + + + Attribute to mark the assemblies that contain the generated views type. + + + + + Initializes a new instance of the class. + + The view type. + + + Gets the T:System.Type of the view. + The T:System.Type of the view. + + + + Represents a complex type mapping for a function import result. + + + + + Initializes a new FunctionImportComplexTypeMapping instance. + + The return type. + The property mappings for the result type of a function import. + + + + Ges the return type. + + + + + Represents a function import entity type mapping. + + + + + Initializes a new FunctionImportEntityTypeMapping instance. + + The entity types at the base of + the type hierarchies to be mapped. + The entity types to be mapped. + The property mappings for the result types of a function import. + The mapping conditions. + + + + Gets the entity types being mapped. + + + + + Gets the entity types at the base of the hierarchies being mapped. + + + + + Gets the mapping conditions. + + + + + Represents a mapping condition for a function import result. + + + + + Gets the name of the column used to evaluate the condition. + + + + + + + + Represents a mapping condition for the result of a function import + evaluated by checking null or not null. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionIsNull instance. + + The name of the column used to evaluate the condition. + Flag that indicates whether a null or not null check is performed. + + + + Gets a flag that indicates whether a null or not null check is performed. + + + + + Represents a mapping condition for the result of a function import, + evaluated by comparison with a specified value. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionValue instance. + + The name of the column used to evaluate the condition. + The value to compare with. + + + + Gets the value used for comparison. + + + + + Represents a mapping from a model function import to a store composable or non-composable function. + + + + + Gets model function (or source of the mapping) + + + + + Gets store function (or target of the mapping) + + + + + Represents a mapping from a model function import to a store composable function. + + + + + Initializes a new FunctionImportMappingComposable instance. + + The model function import. + The store composable function. + The result mapping for the function import. + The parent container mapping. + + + + Gets the result mapping for the function import. + + + + + Represents a mapping from a model function import to a store non-composable function. + + + + + Initializes a new FunctionImportMappingNonComposable instance. + + The model function import. + The store non-composable function. + The function import result mappings. + The parent container mapping. + + + + Gets the function import result mappings. + + + + + Represents a result mapping for a function import. + + + + + Gets the type mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Base class for mapping a property of a function import return type. + + + + + Maps a function import return type property to a table column. + + + + + Initializes a new FunctionImportReturnTypeScalarPropertyMapping instance. + + The mapped property name. + The mapped column name. + + + + Gets the mapped property name. + + + + + Gets the mapped column name. + + + + + Specifies a function import structural type mapping. + + + + + Gets the property mappings for the result type of a function import. + + + + + Specifies a mapping condition evaluated by checking whether the value + of the a property/column is null or not null. + + + + + Creates an IsNullConditionMapping instance. + + An EdmProperty that specifies a property or column. + A boolean that indicates whether to perform a null or a not-null check. + + + + Gets a bool that specifies whether the condition is evaluated by performing a null check + or a not-null check. + + + + + Represents the base item class for all the mapping metadata + + + + + Represents the metadata for mapping fragment. + A set of mapping fragments makes up the Set mappings( EntitySet, AssociationSet or CompositionSet ) + Each MappingFragment provides mapping for those properties of a type that map to a single table. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the mapping fragment elements in the + above example. Users can access all the top level constructs of + MappingFragment element like EntityKey map, Property Maps, Discriminator + property through this mapping fragment class. + + + + + Creates a MappingFragment instance. + + The EntitySet corresponding to the table of view being mapped. + The TypeMapping that contains this MappingFragment. + Flag that indicates whether to include 'DISTINCT' when generating queries. + + + + Gets the EntitySet corresponding to the table or view being mapped. + + + + + Gets the TypeMapping that contains this MappingFragment. + + + + + Gets a flag that indicates whether to include 'DISTINCT' when generating queries. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Base class for items in the mapping space (DataSpace.CSSpace) + + + + + Class for representing a collection of mapping items in Edm space. + + + + + Describes modification function binding for change processing of entities or associations. + + + + + Initializes a new ModificationFunctionMapping instance. + + The entity or association set. + The entity or association type. + The metadata of function to which we should bind. + Bindings for function parameters. + The output parameter producing number of rows affected. + Bindings for the results of function evaluation + + + + Gets output parameter producing number of rows affected. May be null. + + + + + Gets Metadata of function to which we should bind. + + + + + Gets bindings for function parameters. + + + + + Gets bindings for the results of function evaluation. + + + + + + + + Describes the location of a member within an entity or association type structure. + + + + + Initializes a new ModificationFunctionMemberPath instance. + + Gets the members in the path from the leaf (the member being bound) + to the root of the structure. + Gets the association set to which we are navigating + via this member. If the value is null, this is not a navigation member path. + + + + Gets the members in the path from the leaf (the member being bound) + to the Root of the structure. + + + + + Gets the association set to which we are navigating via this member. If the value + is null, this is not a navigation member path. + + + + + + + + Binds a modification function parameter to a member of the entity or association being modified. + + + + + Initializes a new ModificationFunctionParameterBinding instance. + + The parameter taking the value. + The path to the entity or association member defining the value. + A flag indicating whether the current or original member value is being bound. + + + + Gets the parameter taking the value. + + + + + Gets the path to the entity or association member defining the value. + + + + + Gets a flag indicating whether the current or original + member value is being bound. + + + + + + + + Defines a binding from a named result set column to a member taking the value. + + + + + Initializes a new ModificationFunctionResultBinding instance. + + The name of the column to bind from the function result set. + The property to be set on the entity. + + + + Gets the name of the column to bind from the function result set. + + + + + Gets the property to be set on the entity. + + + + + + + + Mapping metadata for all types of property mappings. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all property map elements in the + above example. This includes the scalar property maps, complex property maps + and end property maps. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Mapping metadata for scalar properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the scalar property map elements in the + above example. + + + + + Creates a mapping between a simple property and a column. + + The property to be mapped. + The column to be mapped. + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Represents a collection of items in Storage Mapping (CS Mapping) space. + + + + Initializes a new instance of the class using the specified , and a collection of string indicating the metadata file paths. + The that this mapping is to use. + The that this mapping is to use. + The file paths that this mapping is to use. + + + Initializes a new instance of the class using the specified , and XML readers. + The that this mapping is to use. + The that this mapping is to use. + The XML readers that this mapping is to use. + + + + Gets or sets a for creating instances + that are used to retrieve pre-generated mapping views. + + + + Gets the version of this represents. + The version of this represents. + + + + Computes a hash value for the container mapping specified by the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A string that specifies the computed hash value. + + + + Computes a hash value for the single container mapping in the collection. + + A string that specifies the computed hash value. + + + + Creates a dictionary of (extent, generated view) for a container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Creates a dictionary of (extent, generated view) for the single container mapping + in the collection. + + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Factory method that creates a . + + + The edm metadata collection to map. Must not be null. + + + The store metadata collection to map. Must not be null. + + + MSL artifacts to load. Must not be null. + + + Paths to MSL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Specifies a structural type mapping. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Represents the Mapping metadata for a type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all the Type map elements in the + above example namely EntityTypeMapping, AssociationTypeMapping and CompositionTypeMapping. + The TypeMapping elements contain TableMappingFragments which in turn contain the property maps. + + + + + Specifies a mapping condition evaluated by comparing the value of + a property or column with a given value. + + + + + Creates a ValueConditionMapping instance. + + An EdmProperty that specifies a property or column. + An object that specifies the value to compare with. + + + + Gets an object that specifies the value to check against. + + + + + metadata exception class + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Represents a end of a Association Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Creates a read-only AssociationEndMember instance. + + The name of the association end member. + The reference type for the end. + The multiplicity of the end. + Flag that indicates the delete behavior of the end. + Metadata properties to be associated with the instance. + The newly created AssociationEndMember instance. + The specified name is null or empty. + The specified reference type is null. + + + + Class for representing an Association set + + + + + Gets the association related to this . + + + An object that represents the association related to this + + . + + + + + Gets the ends of this . + + + A collection of type that contains the ends of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents built-in type kind for this + + . + + + + + Creates a read-only AssociationSet instance from the specified parameters. + + The name of the association set. + The association type of the elements in the association set. + The entity set for the source association set end. + The entity set for the target association set end. + Metadata properties to be associated with the instance. + The newly created AssociationSet instance. + The specified name is null or empty. + The specified association type is null. + + The entity type of one of the ends of the specified + association type does not match the entity type of the corresponding entity set end. + + + + + Class representing a AssociationSet End + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the parent association set of this . + + + An object that represents the parent association set of this + + . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the End member that this object corresponds to. + + + An object that represents the End member that this + + object corresponds to. + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the name of the End for this . + + + The name of the End for this . + + + + + Gets the name of the End role for this . + + + The name of the End role for this . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + Gets the entity set referenced by this End role. + + An object that represents the entity set referred by this End role. + + + + + Returns the name of the End role for this . + + + The name of the End role for this . + + + + + Describes an association/relationship between two entities in the conceptual model or a foreign key relationship + between two tables in the store model. In the conceptual model the dependant class may or may not define a foreign key property. + If a foreign key is defined the property will be true and the property will contain details of the foreign keys + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of ends for this . + + + A collection of type that contains the list of ends for this + + . + + + + Gets or sets the referential constraint. + The referential constraint. + + + + Gets the list of constraints for this . + + + A collection of type that contains the list of constraints for this + + . + + + + Gets the Boolean property value that specifies whether the column is a foreign key. + A Boolean value that specifies whether the column is a foreign key. If true, the column is a foreign key. If false (default), the column is not a foreign key. + + + + Creates a read-only AssociationType instance from the specified parameters. + + The name of the association type. + The namespace of the association type. + Flag that indicates a foreign key (FK) relationship. + The data space for the association type. + The source association end member. + The target association end member. + A referential constraint. + Metadata properties to be associated with the instance. + The newly created AssociationType instance. + The specified name is null or empty. + The specified namespace is null or empty. + + + + List of all the built in types + + + + + Association Type Kind + + + + + AssociationSetEnd Kind + + + + + AssociationSet Kind + + + + + Association Type Kind + + + + + EntitySetBase Kind + + + + + Entity Type Base Kind + + + + + Collection Type Kind + + + + + Collection Kind + + + + + Complex Type Kind + + + + + Documentation Kind + + + + + DeleteAction Type Kind + + + + + Edm Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Enumeration Type Kind + + + + + Enum Member Kind + + + + + Facet Kind + + + + + EdmFunction Kind + + + + + Function Parameter Kind + + + + + Global Item Type Kind + + + + + Metadata Property Kind + + + + + Navigation Property Kind + + + + + Metadata Item Type Kind + + + + + EdmMember Type Kind + + + + + Parameter Mode Kind + + + + + Primitive Type Kind + + + + + Primitive Type Kind Kind + + + + + EdmProperty Type Kind + + + + + ProviderManifest Type Kind + + + + + Referential Constraint Type Kind + + + + + Ref Type Kind + + + + + RelationshipEnd Type Kind + + + + + Relationship Multiplicity Type Kind + + + + + Relationship Set Type Kind + + + + + Relationship Type + + + + + Row Type Kind + + + + + Simple Type Kind + + + + + Structural Type Kind + + + + + Type Information Kind + + + + + Kind of collection (applied to Properties) + + + + + Property is not a Collection + + + + + Collection has Bag semantics( unordered and duplicates ok) + + + + + Collection has List semantics + (Order is deterministic and duplicates ok) + + + + + Represents the Edm Collection Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + The instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + + + Represents the Edm Complex Type. This can be used to configure complex types + from a conceptual-space model-based convention. Complex types are not supported in the store model. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Creates a new instance of the type. + + The name of the complex type. + The namespace of the complex type. + The dataspace to which the complex type belongs to. + Members of the complex type. + Metadata properties to be associated with the instance. + Thrown if either name, namespace or members argument is null. + + A new instance a the type. + + + The newly created will be read only. + + + + + The concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Serializes an that conforms to the restrictions of a single + CSDL schema file to an XML writer. The model to be serialized must contain a single + . + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the XmlWriter. + + + The EdmModel to serialize. + + The XmlWriter to serialize to. + The serialized model's namespace. + true if the model is valid; otherwise, false. + + + + Information about an error that occurred processing an Entity Framework model. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + DataSpace + + + + + OSpace indicates the item in the clr space + + + + + CSpace indicates the item in the CSpace - edm primitive types + + types defined in csdl + + + + + SSpace indicates the item in the SSpace + + + + + Mapping between OSpace and CSpace + + + + + Mapping between CSpace and SSpace + + + + + Extension methods for . + + + + + Gets the conceptual model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the conceptual model. + + + + Gets the store model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the store model. + + + + Class representing the Documentation associated with an item + + + + + Initializes a new Documentation instance. + + A summary string. + A long description string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the summary for this . + + + The summary for this . + + + + + Gets the long description for this . + + + The long description for this . + + + + + Gets a value indicating whether this object contains only a null or an empty + + and a + + . + + + true if this object contains only a null or an empty + + and a + + ; otherwise, false. + + + + + Returns the summary for this . + + + The summary for this . + + + + + This class encapsulates the error information for a generic EDM error. + + + + Gets the error message. + The error message. + + + + Class for representing a function + + + + + Gets the built-in type kind for this . + + + One of the enumeration values of the enumeration. + + + + Returns the full name (namespace plus name) of this type. + The full name of the type. + + + + Gets the parameters of this . + + + A collection of type that contains the parameters of this + + . + + + + + Adds a parameter to this function. + + The parameter to be added. + + + + Gets the return parameter of this . + + + A object that represents the return parameter of this + + . + + + + + Gets the return parameters of this . + + + A collection of type that represents the return parameters of this + + . + + + + Gets the store function name attribute of this function. + + + Gets the parameter type semantics attribute of this function. + + + Gets the aggregate attribute of this function. + + + + Gets a value indicating whether built in attribute is present on this function. + + + true if the attribute is present; otherwise, false. + + + + + Gets a value indicating whether this instance is from the provider manifest. + + + true if this instance is from the provider manifest; otherwise, false. + + + + + Gets a value indicating whether the is a niladic function (a function that accepts no arguments). + + + true if the function is niladic; otherwise, false. + + + + Gets whether this instance is mapped to a function or to a stored procedure. + true if this instance is mapped to a function; false if this instance is mapped to a stored procedure. + + + Gets a query in the language that is used by the database management system or storage model. + + A string value in the syntax used by the database management system or storage model that contains the query or update statement of the + + . + + + + Gets or sets the schema associated with the function. + The schema associated with the function. + + + + The factory method for constructing the object. + + The name of the function. + The namespace of the function. + The namespace the function belongs to. + Additional function attributes and properties. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the type. + + + + + Contains additional attributes and properties of the + + + Note that objects are short lived and exist only to + make initialization easier. Instance of this type are not + compared to each other and arrays returned by array properties are copied to internal + collections in the ctor. Therefore it is fine to suppress the + Code Analysis messages. + + + + Gets or sets the function schema. + The function schema. + + + Gets or sets the store function name. + The store function name. + + + Gets or sets the command text associated with the function. + The command text associated with the function. + + + Gets or sets the entity sets for the function. + The entity sets for the function. + + + Gets a value that indicates whether this is an aggregate function. + true if this is an aggregate function; otherwise, false. + + + Gets or sets whether this function is a built-in function. + true if this function is a built-in function; otherwise, false. + + + Gets or sets whether the function contains no arguments. + true if the function contains no arguments; otherwise, false. + + + Gets or sets whether this function can be composed. + true if this function can be composed; otherwise, false. + + + Gets or sets whether this function is from a provider manifest. + true if this function is from a provider manifest; otherwise, false. + + + Gets or sets whether this function is a cached store function. + true if this function is a cached store function; otherwise, false. + + + Gets or sets whether this function is a function import. + true if this function is a function import; otherwise, false. + + + Gets or sets the return parameters. + The return parameters. + + + Gets or sets the parameter type semantics. + The parameter type semantics. + + + Gets or sets the function parameters. + The function parameters. + + + + Class for representing a collection of items in Edm space. + + + + + Initializes a new instance of the class by using the collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + The collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + + Initializes a new instance of the class. + The entity data model. + + + + Initializes a new instance of the class by using the paths where the conceptual schema definition language (CSDL) files exist. + + The paths where the conceptual schema definition language (CSDL) files exist. + + + Gets the conceptual model version for this collection. + The conceptual model version for this collection. + + + + Returns a collection of the objects. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + + + + Returns a collection of the objects with the specified conceptual model version. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + The conceptual model version. + + + + Factory method that creates an . + + + CSDL artifacts to load. Must not be null. + + + Paths to CSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the edm member class + + + + + Gets or sets the name of the property. Setting this from a store-space model-convention will change the name of the database + column for this property. In the conceptual model, this should align with the corresponding property from the entity class + and should not be changed. + + The name of this member. + + + Gets the type on which this member is declared. + + A object that represents the type on which this member is declared. + + + + + Gets the instance of the class that contains both the type of the member and facets for the type. + + + A object that contains both the type of the member and facets for the type. + + + + Returns the name of this member. + The name of this member. + + + + Tells whether this member is marked as a Computed member in the EDM definition + + + + + Tells whether this member's Store generated pattern is marked as Identity in the EDM definition + + + + + Represents a conceptual or store model. This class can be used to access information about the shape of the model + and the way the that it has been configured. + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + + Gets the data space associated with the model, which indicates whether + it is a conceptual model (DataSpace.CSpace) or a store model (DataSpace.SSpace). + + + + + Gets the association types in the model. + + + + + Gets the complex types in the model. + + + + + Gets the entity types in the model. + + + + + Gets the enum types in the model. + + + + + Gets the functions in the model. + + + + + Gets the container that stores entity and association sets, and function imports. + + + + Gets the global items associated with the model. + The global items associated with the model. + + + + Adds an association type to the model. + + The AssociationType instance to be added. + + + + Adds a complex type to the model. + + The ComplexType instance to be added. + + + + Adds an entity type to the model. + + The EntityType instance to be added. + + + + Adds an enumeration type to the model. + + The EnumType instance to be added. + + + + Adds a function to the model. + + The EdmFunction instance to be added. + + + + Removes an association type from the model. + + The AssociationType instance to be removed. + + + + Removes a complex type from the model. + + The ComplexType instance to be removed. + + + + Removes an entity type from the model. + + The EntityType instance to be removed. + + + + Removes an enumeration type from the model. + + The EnumType instance to be removed. + + + + Removes a function from the model. + + The EdmFunction instance to be removed. + + + + In conceptual-space, EdmProperty represents a property on an Entity. + In store-space, EdmProperty represents a column in a table. + + + + Creates a new primitive property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new enum property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new complex property. + The newly created property. + The name of the property. + The type of the property. + + + + Creates a new instance of EdmProperty type. + + Name of the property. + + Property + + A new instance of EdmProperty type + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a value indicating whether this can have a null value. + + + Nullability in the conceptual model and store model is a simple indication of whether or not + the property is considered nullable. Nullability in the object model is more complex. + When using convention based mapping (as usually happens with POCO entities), a property in the + object model is considered nullable if and only if the underlying CLR type is nullable and + the property is not part of the primary key. + When using attribute based mapping (usually used with entities that derive from the EntityObject + base class), a property is considered nullable if the IsNullable flag is set to true in the + attribute. This flag can + be set to true even if the underlying type is not nullable, and can be set to false even if the + underlying type is nullable. The latter case happens as part of default code generation when + a non-nullable property in the conceptual model is mapped to a nullable CLR type such as a string. + In such a case, the Entity Framework treats the property as non-nullable even though the CLR would + allow null to be set. + There is no good reason to set a non-nullable CLR type as nullable in the object model and this + should not be done even though the attribute allows it. + + + true if this can have a null value; otherwise, false. + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets the type name of the property. + The type name of the property. + + + + Gets the default value for this . + + + The default value for this . + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets whether the property is a collection type property. + true if the property is a collection type property; otherwise, false. + + + Gets whether this property is a complex type property. + true if this property is a complex type property; otherwise, false. + + + Gets whether this property is a primitive type. + true if this property is a primitive type; otherwise, false. + + + Gets whether this property is an enumeration type property. + true if this property is an enumeration type property; otherwise, false. + + + Gets whether this property is an underlying primitive type. + true if this property is an underlying primitive type; otherwise, false. + + + Gets the complex type information for this property. + The complex type information for this property. + + + Gets the primitive type information for this property. + The primitive type information for this property. + + + Gets the enumeration type information for this property. + The enumeration type information for this property. + + + Gets the underlying primitive type information for this property. + The underlying primitive type information for this property. + + + Gets or sets the concurrency mode for the property. + The concurrency mode for the property. + + + Gets or sets the database generation method for the database column associated with this property + The store generated pattern for the property. + + + Gets or sets the kind of collection for this model. + The kind of collection for this model. + + + Gets whether the maximum length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the maximum length of the property. + The maximum length of the property. + + + Gets or sets whether this property uses the maximum length supported by the provider. + true if this property uses the maximum length supported by the provider; otherwise, false. + + + Gets whether the fixed length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether the length of this property is fixed. + true if the length of this property is fixed; otherwise, false. + + + Gets whether the Unicode facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether this property is a Unicode property. + true if this property is a Unicode property; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the precision of this property. + The precision of this property. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the scale of this property. + The scale of this property. + + + Sets the metadata properties. + The metadata properties to be set. + + + + This class encapsulates the error information for a schema error that was encountered. + + + + + Constructs a EdmSchemaError object. + + The explanation of the error. + The code associated with this error. + The severity of the error. + + + Returns the error message. + The error message. + + + Gets the error code. + The error code. + + + Gets the severity level of the error. + + One of the values. The default is + + . + + + + Gets the line number where the error occurred. + The line number where the error occurred. + + + Gets the column where the error occurred. + The column where the error occurred. + + + Gets the location of the schema that contains the error. This string also includes the name of the schema at the end. + The location of the schema that contains the error. + + + Gets the name of the schema that contains the error. + The name of the schema that contains the error. + + + Gets a string representation of the stack trace at the time the error occurred. + A string representation of the stack trace at the time the error occurred. + + + + Defines the different severities of errors that can occur when validating an Entity Framework model. + + + + + A warning that does not prevent the model from being used. + + + + + An error that prevents the model from being used. + + + + + Base EdmType class for all the model types + + + + Gets the name of this type. + The name of this type. + + + Gets the namespace of this type. + The namespace of this type. + + + Gets a value indicating whether this type is abstract or not. + true if this type is abstract; otherwise, false. + Thrown if the setter is called on instance that is in ReadOnly state + + + Gets the base type of this type. + The base type of this type. + Thrown if the setter is called on instance that is in ReadOnly state + Thrown if the value passed in for setter will create a loop in the inheritance chain + + + Gets the full name of this type. + The full name of this type. + + + Returns the full name of this type. + The full name of this type. + + + + Returns an instance of the whose element type is this type. + + + The object whose element type is this type. + + + + + Class for representing an entity container + + + + + Creates an entity container with the specified name and data space. + + The entity container name. + The entity container data space. + Thrown if the name argument is null. + Thrown if the name argument is empty string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets a list of entity sets and association sets that this + + includes. + + + A object that contains a list of entity sets and association sets that this + + includes. + + + + Gets the association sets for this entity container. + The association sets for this entity container . + + + Gets the entity sets for this entity container. + The entity sets for this entity container . + + + + Specifies a collection of elements. Each function contains the details of a stored procedure that exists in the database or equivalent CommandText that is mapped to an entity and its properties. + + + A that contains + + elements. + + + + + Returns an object by using the specified name for the entity set. + + + An object that represents the entity set that has the specified name. + + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified name for the entity set. + + true if there is an entity set that matches the search criteria; otherwise, false. + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains an object. If there is no entity set, this output parameter contains null. + + + + + Returns a object by using the specified name for the relationship set. + + + An object that represents the relationship set that has the specified name. + + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns a object by using the specified name for the relationship set. + + true if there is a relationship set that matches the search criteria; otherwise, false. + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains a object. + + + + + Returns the name of this . + + + The name of this . + + + + + Adds the specified entity set to the container. + + The entity set to add. + + + Removes a specific entity set from the container. + The entity set to remove. + + + + Adds a function import to the container. + + The function import to add. + + + + The factory method for constructing the EntityContainer object. + + The name of the entity container to be created. + DataSpace in which this entity container belongs to. + Entity sets that will be included in the new container. Can be null. + Functions that will be included in the new container. Can be null. + Metadata properties to be associated with the instance. + The EntityContainer object. + Thrown if the name argument is null or empty string. + The newly created EntityContainer will be read only. + + + + Represents a particular usage of a structure defined in EntityType. In the conceptual-model, this represents a set that can + query and persist entities. In the store-model it represents a table. + From a store-space model-convention it can be used to configure + table name with property and table schema with property. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + + + + The factory method for constructing the EntitySet object. + + The name of the EntitySet. + The db schema. Can be null. + The db table. Can be null. + + The provider specific query that should be used to retrieve data for this EntitySet. Can be null. + + The entity type of the entities that this entity set type contains. + + Metadata properties that will be added to the newly created EntitySet. Can be null. + + The EntitySet object. + Thrown if the name argument is null or empty string. + The newly created EntitySet will be read only. + + + + Class for representing a entity set + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets escaped provider specific SQL describing this entity set. + + + + + Gets or sets the name of the current entity or relationship set. + If this property is changed from store-space, the mapping layer must also be updated to reflect the new name. + To change the table name of a store space use the Table property. + + The name of the current entity or relationship set. + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Gets the entity container of the current entity or relationship set. + + An object that represents the entity container of the current entity or relationship set. + + Thrown if the setter is called when the EntitySetBase instance or the EntityContainer passed into the setter is in ReadOnly state + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database table name for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database schema for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Returns the name of the current entity or relationship set. + The name of the current entity or relationship set. + + + + Represents the structure of an . In the conceptual-model this represents the shape and structure + of an entity. In the store model this represents the structure of a table. To change the Schema and Table name use EntitySet. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the declared navigation properties associated with the entity type. + The declared navigation properties associated with the entity type. + + + + Gets the navigation properties of this . + + + A collection of type that contains the list of navigation properties on this + + . + + + + Gets the list of declared properties for the entity type. + The declared properties for the entity type. + + + Gets the collection of declared members for the entity type. + The collection of declared members for the entity type. + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Returns a object that references this + + . + + + A object that references this + + . + + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + The base type. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + Adds the specified navigation property to the members of this type. + The navigation property is added regardless of the read-only flag. + + The navigation property to be added. + + + + Represents the Entity Type + + + + Gets the list of all the key members for the current entity or relationship type. + + A object that represents the list of key members for the current entity or relationship type. + + + + Gets the list of all the key properties for this entity type. + The list of all the key properties for this entity type. + + + + Adds the specified property to the list of keys for the current entity. + + The property to add. + if member argument is null + Thrown if the EntityType has a base type of another EntityTypeBase. In this case KeyMembers should be added to the base type + If the EntityType instance is in ReadOnly state + + + Removes the specified key member from the collection. + The key member to remove. + + + + Represents an enumeration member. + + + + Gets the kind of this type. + + + Gets the name of this enumeration member. + + + Gets the value of this enumeration member. + + + Overriding System.Object.ToString to provide better String representation for this type. + The name of this enumeration member. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Represents an enumeration type. + + + + Returns the kind of the type + + + Gets a collection of enumeration members for this enumeration type. + + + Gets a value indicating whether the enum type is defined as flags (i.e. can be treated as a bit field) + + + Gets the underlying type for this enumeration type. + + + + Creates a read-only EnumType instance. + + The name of the enumeration type. + The namespace of the enumeration type. + The underlying type of the enumeration type. + Indicates whether the enumeration type can be treated as a bit field; that is, a set of flags. + The members of the enumeration type. + Metadata properties to be associated with the enumeration type. + The newly created EnumType instance. + underlyingType is null. + + name is null or empty. + -or- + namespaceName is null or empty. + -or- + underlyingType is not a supported underlying type. + -or- + The specified members do not have unique names. + -or- + The value of a specified member is not in the range of the underlying type. + + + + + Class for representing a Facet object + This object is Immutable (not just set to readonly) and + some parts of the system are depending on that behavior + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the description of this . + + + The object that represents the description of this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the type of this . + + + The object that represents the type of this + + . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the Facet instance is in ReadOnly state + + + Gets a value indicating whether the value of the facet is unbounded. + true if the value of the facet is unbounded; otherwise, false. + + + + Returns the name of this . + + + The name of this . + + + + + Class for representing a FacetDescription object + + + + Gets the name of this facet. + The name of this facet. + + + Gets the type of this facet. + + An object that represents the type of this facet. + + + + Gets the minimum value for this facet. + The minimum value for this facet. + + + Gets the maximum value for this facet. + The maximum value for this facet. + + + Gets the default value of a facet with this facet description. + The default value of a facet with this facet description. + + + Gets a value indicating whether the value of this facet is a constant. + true if this facet is a constant; otherwise, false. + + + Gets a value indicating whether this facet is a required facet. + true if this facet is a required facet; otherwise, false. + + + Returns the name of this facet. + The name of this facet. + + + + Class representing a function parameter + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the mode of this . + + + One of the values. + + Thrown if the FunctionParameter instance is in ReadOnly state + + + + Gets the name of this . + + + The name of this . + + + + + Gets the instance of the class that contains both the type of the parameter and facets for the type. + + + A object that contains both the type of the parameter and facets for the type. + + + + Gets the type name of this parameter. + The type name of this parameter. + + + Gets whether the max length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the maximum length of the parameter. + The maximum length of the parameter. + + + Gets whether the parameter uses the maximum length supported by the database provider. + true if parameter uses the maximum length supported by the database provider; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the precision value of the parameter. + The precision value of the parameter. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the scale value of the parameter. + The scale value of the parameter. + + + + Gets the on which this parameter is declared. + + + A object that represents the function on which this parameter is declared. + + + + + Returns the name of this . + + + The name of this . + + + + + The factory method for constructing the object. + + The name of the parameter. + The EdmType of the parameter. + + The of the parameter. + + + A new, read-only instance of the type. + + + + + Represents the base item class for all the metadata + + + + + An interface to get the underlying store and conceptual model for a . + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Class for representing a collection of items. + Most of the implementation for actual maintenance of the collection is + done by MetadataCollection + + + + Gets the data model associated with this item collection. + The data model associated with this item collection. + + + + Returns a strongly typed object by using the specified identity. + + The item that is specified by the identity. + The identity of the item. + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity with either case-sensitive or case-insensitive search. + + The item that is specified by the identity. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The type returned by the method. + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all the items of the specified type. + + The type returned by the method. + + + + Returns an object by using the specified type name and the namespace name in this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + Returns all the overloads of the functions by using the specified name from this item collection. + A collection of type ReadOnlyCollection that contains all the functions that have the specified name. + A dictionary of functions. + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first one. + The name of the entity container. + + + + Returns an object by using the specified entity container name. If there is no entity container, the output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Do not perform any extension check + + + + + Check the extension against a specific value + + + + + Check the extension against the set of acceptable extensions + + + + + Represents the base item class for all the metadata + + + Represents the base item class for all the metadata + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + Gets the list of properties of the current type. + + A collection of type that contains the list of properties of the current type. + + + + + Adds or updates an annotation with the specified name and value. + + + If an annotation with the given name already exists then the value of that annotation + is updated to the given value. If the given value is null then the annotation will be + removed. + + The name of the annotation property. + The value of the annotation property. + + + + Removes an annotation with the specified name. + + The name of the annotation property. + true if an annotation was removed; otherwise, false. + + + Gets or sets the documentation associated with this type. + + A object that represents the documentation on this type. + + + + + Returns a conceptual model built-in type that matches one of the + + values. + + + An object that represents the built-in type in the EDM. + + + One of the values. + + + + Returns the list of the general facet descriptions for a specified type. + + A object that represents the list of the general facet descriptions for a specified type. + + + + + Class representing a metadata attribute for an item + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the instance of the class that contains both the type of this + + and facets for the type. + + + A object that contains both the type of this + + and facets for the type. + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the value of this . + + + The value of this . + + + + + Gets a boolean that indicates whether the metadata property is an annotation. + + + + + The factory method for constructing the MetadataProperty object. + + The name of the metadata property. + The type usage of the metadata property. + The value of the metadata property. + The MetadataProperty object. + + Thrown is null. + + The newly created MetadataProperty will be read only. + + + + Creates a metadata annotation having the specified name and value. + + The annotation name. + The annotation value. + A MetadataProperty instance representing the created annotation. + + + + Runtime Metadata Workspace + + + + + Initializes a new instance of the class. + + + + + Constructs a with loaders for all item collections () + needed by EF except the o/c mapping which will be created automatically based on the given o-space and c-space + loaders. The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + Delegate to return the o-space item collection. + + + + Constructs a with loaders for all item collections () + that come from traditional EDMX mapping. Default o-space and o/c mapping collections will be used. + The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + + + + Initializes a new instance of the class using the specified paths and assemblies. + + The paths to workspace metadata. + The names of assemblies used to construct workspace. + + + + The Max EDM version thats going to be supported by the runtime. + + + + + Creates an configured to use the + + data space. + + The created parser object. + + + + Creates a new bound to this metadata workspace based on the specified query expression. + + + A new with the specified expression as it's + + property. + + + A that defines the query. + + + If + + is null + + + If + + contains metadata that cannot be resolved in this metadata workspace + + + If + + is not structurally valid because it contains unresolvable variable references + + + + + Gets items. + + + The items. + + + The from which to retrieve items. + + + + Registers the item collection with each associated data model. + The output parameter collection that needs to be filled up. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The delegate for logging the load messages. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + The conceptual model in which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object that represents the type that matches the given type name and the namespace name in the specified data model. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + true to perform the case-insensitive search; otherwise, false. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns the list of primitive types in the specified data model. + + A collection of type that contains all the primitive types in the specified data model. + + The data model for which you need the list of primitive types. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Tests the retrieval of . + + true if the retrieval was successful; otherwise, false. + + The from which to attempt retrieval of + + . + + When this method returns, contains the item collection. This parameter is passed uninitialized. + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true on success, false on failure. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + Clears all the metadata cache entries. + + + Gets original value members from an entity set and entity type. + The original value members from an entity set and entity type. + The entity set from which to retrieve original values. + The entity type of which to retrieve original values. + + + + Returns members of a given / + + for which original values are needed when modifying an entity. + + + The s for which original value is required. + + + An belonging to the C-Space. + + + An that participates in the given + + . + + true if entities may be updated partially; otherwise, false. + + + + Represent the edm navigation property class + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the relationship type that this navigation property operates on. + The relationship type that this navigation property operates on. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "to" relationship end member of this navigation. + The "to" relationship end member of this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "from" relationship end member in this navigation. + The "from" relationship end member in this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + + Where the given navigation property is on the dependent end of a referential constraint, + returns the foreign key properties. Otherwise, returns an empty set. We will return the members in the order + of the principal end key properties. + + A collection of the foreign key properties. + + + + Creates a NavigationProperty instance from the specified parameters. + + The name of the navigation property. + Specifies the navigation property type and its facets. + The relationship type for the navigation. + The source end member in the navigation. + The target end member in the navigation. + The metadata properties of the navigation property. + The newly created NavigationProperty instance. + + + + Class for representing a collection of items for the object layer. + Most of the implementation for actual maintenance of the collection is + done by ItemCollection + + + + + Initializes a new instance of the class. + + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + The delegate to which log messages are sent. + + + Loads metadata from the specified assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + + + Returns a collection of primitive type objects. + A collection of primitive type objects. + + + + Returns the CLR type that corresponds to the supplied by the objectSpaceType parameter. + + The CLR type of the OSpace argument. + + A that represents the object space type. + + + + + Returns a CLR type corresponding to the supplied by the objectSpaceType parameter. + + true if there is a type that matches the search criteria; otherwise, false. + + A that represents the object space type. + + The CLR type. + + + The method returns the underlying CLR type for the specified OSpace type argument. If the DataSpace of the parameter is not OSpace, an ArgumentException is thrown. + The CLR type of the OSpace argument. + The OSpace type to look up. + + + Returns the underlying CLR type for the specified OSpace enum type argument. If the DataSpace of the parameter is not OSpace, the method returns false and sets the out parameter to null. + true on success, false on failure + The OSpace enum type to look up + The CLR enum type of the OSpace argument + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all items of the specified type. + + The type returned by the method. + + + + Represents the list of possible actions for delete operation + + + + + no action + + + + + Cascade to other ends + + + + + The enumeration defining the mode of a parameter + + + + + In parameter + + + + + Out parameter + + + + + Both in and out parameter + + + + + Return Parameter + + + + + The enumeration defining the type semantics used to resolve function overloads. + These flags are defined in the provider manifest per function definition. + + + + + Allow Implicit Conversion between given and formal argument types (default). + + + + + Allow Type Promotion between given and formal argument types. + + + + + Use strict Equivalence only. + + + + + Class representing a primitive type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a enumeration value that indicates a primitive type of this + + . + + + A enumeration value that indicates a primitive type of this + + . + + + + + Gets the list of facet descriptions for this . + + + A collection of type that contains the list of facet descriptions for this + + . + + + + + Returns an equivalent common language runtime (CLR) type of this + + . Note that the + + property always returns a non-nullable type value. + + + A object that represents an equivalent common language runtime (CLR) type of this + + . + + + + + Returns the equivalent of this + + . + + + For example if this instance is nvarchar and it's + base type is Edm String then the return type is Edm String. + If the type is actually already a model type then the + return type is "this". + + + An object that is an equivalent of this + + . + + + + Returns the list of primitive types. + + A collection of type that contains the list of primitive types. + + + + + Returns the equivalent of a + + . + + + An object that is an equivalent of a specified + + . + + + A value of type . + + + + + Primitive Types as defined by EDM + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Geometry Type Kind + + + + + Geography Type Kind + + + + + Geometric point type kind + + + + + Geometric linestring type kind + + + + + Geometric polygon type kind + + + + + Geometric multi-point type kind + + + + + Geometric multi-linestring type kind + + + + + Geometric multi-polygon type kind + + + + + Geometric collection type kind + + + + + Geographic point type kind + + + + + Geographic linestring type kind + + + + + Geographic polygon type kind + + + + + Geographic multi-point type kind + + + + + Geographic multi-linestring type kind + + + + + Geographic multi-polygon type kind + + + + + Geographic collection type kind + + + + + HierarchyId type kind + + + + + Specifies the kinds of item attributes in the conceptual model. + + + + + An enumeration member indicating that an item attribute is System + + + + + An enumeration member indicating that an item attribute is Extended. + + + + + Class representing a read-only wrapper around MetadataCollection + + The type of items in this collection + + + + The enumerator for MetadataCollection + + + + Gets the member at the current position. + The member at the current position. + + + + Gets the member at the current position + + + + Disposes of this enumerator. + + + + Moves to the next member in the collection of type + + . + + + true if the enumerator is moved in the collection of type + + ; otherwise, false. + + + + + Positions the enumerator before the first position in the collection of type + + . + + + + Gets a value indicating whether this collection is read-only. + true if this collection is read-only; otherwise, false. + + + Gets an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + + + Retrieves an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + + + Determines whether the collection contains an item with the specified identity. + true if the collection contains the item to be searched for; otherwise, false. The default is false. + The identity of the item. + + + Retrieves an item from this collection by using the specified identity. + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + When this method returns, this output parameter contains an item from the collection. If there is no matched item, this output parameter contains null. + + + Returns an enumerator that can iterate through this collection. + + A that can be used to iterate through this + + . + + + + Returns the index of the specified value in this collection. + The index of the specified value in this collection. + A value to seek. + + + + This class represents a referential constraint between two entities specifying the "to" and "from" ends of the relationship. + + + + + Constructs a new constraint on the relationship + + role from which the relationship originates + role to which the relationship is linked/targeted to + properties on entity type of to role which take part in the constraint + properties on entity type of from role which take part in the constraint + Argument Null exception if any of the arguments is null + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the "from role" that takes part in this + + . + + + A object that represents the "from role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the "to role" that takes part in this . + + + A object that represents the "to role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the list of properties for the "from role" on which this + + is defined. + + + A collection of type that contains the list of properties for "from role" on which this + + is defined. + + + + + Gets the list of properties for the "to role" on which this + + is defined. + + + A collection of type that contains the list of properties for the "to role" on which this + + is defined. + + + + + Returns the combination of the names of the + + and the + + . + + + The combination of the names of the + + and the + + . + + + + + Class representing a ref type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type referenced by this . + + + An object that represents the entity type referenced by this + + . + + + + + + + + + + + Initializes a new instance of the RelationshipEndMember class + + + + Gets the operational behavior of this relationship end member. + + One of the values. The default is + + . + + + + Gets the multiplicity of this relationship end member. + + One of the values. + + + + Access the EntityType of the EndMember in an association. + The EntityType of the EndMember in an association. + + + + Represents the multiplicity information about the end of a relationship type + + + + + Lower Bound is Zero and Upper Bound is One + + + + + Both lower bound and upper bound is one + + + + + Lower bound is zero and upper bound is null + + + + + Class for representing a relationship set + + + + + Gets the relationship type of this . + + + An object that represents the relationship type of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Represents the Relationship type + + + + Gets the list of ends for this relationship type. + + A collection of type that contains the list of Ends for this relationship type. + + + + + Represents the Edm Row Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties on this . + + + A collection of type that contains the list of properties on this + + . + + + + Gets a collection of the properties defined by the current type. + A collection of the properties defined by the current type. + + + + The factory method for constructing the object. + + Properties of the row type object. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the object. + + + + + Class representing a simple type + + + + + Serializes the storage (database) section of an to XML. + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the + + The EdmModel to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + Serialize the to the + + The EdmModel to serialize + Namespace name on the Schema element + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + The pattern for Server Generated Properties. + + + + + Not a Server Generated Property. This is the default. + + + + + A value is generated on INSERT, and remains unchanged on update. + + + + + A value is generated on both INSERT and UPDATE. + + + + + Class for representing a collection of items in Store space. + + + + + Initializes a new instance of the class using the specified XMLReader. + + The XMLReader used to create metadata. + + + Initializes a new instances of the class. + The model of the . + + + + Initializes a new instance of the class using the specified file paths. + + The file paths used to create metadata. + + + Gets the provider factory of the StoreItemCollection. + The provider factory of the StoreItemCollection. + + + Gets the provider manifest of the StoreItemCollection. + The provider manifest of the StoreItemCollection. + + + Gets the manifest token of the StoreItemCollection. + The manifest token of the StoreItemCollection. + + + Gets the invariant name of the StoreItemCollection. + The invariant name of the StoreItemCollection. + + + Gets the version of the store schema for this collection. + The version of the store schema for this collection. + + + + Returns a collection of the objects. + + + A object that represents the collection of the + + objects. + + + + + Factory method that creates a . + + + SSDL artifacts to load. Must not be null. + + + Paths to SSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + Custom resolver. Currently used to resolve DbProviderServices implementation. If null + the default resolver will be used. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the Structural Type + + + + Gets the list of members on this type. + + A collection of type that contains a set of members on this type. + + + + + Adds a member to this type + + The member to add + + + Removes a member from this type. + The member to remove. + + + + Class representing a type information for an item + + + + + Factory method for creating a TypeUsage with specified EdmType and facets + + EdmType for which to create a type usage + facets to be copied into the new TypeUsage + new TypeUsage instance + + + + Creates a object with the specified conceptual model type. + + + A object with the default facet values for the specified + + . + + + A for which the + + object is created. + + + + + Creates a object to describe a string type by using the specified facet values. + + + A object describing a string type by using the specified facet values. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false. + + + + Creates a object to describe a string type by using the specified facet values and unbounded MaxLength. + + + A object describing a string type by using the specified facet values and unbounded MaxLength. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + The maximum length of the binary type. + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + The simple type that defines the units of measurement of the offset. + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object to describe a decimal type by using the specified facet values. + + + A object describing a decimal type by using the specified facet values. + + + A for which the + + object is created. + + + The precision of the decimal type as type . + + + The scale of the decimal type as type . + + + + + Creates a object to describe a decimal type with unbounded precision and scale facet values. + + + A object describing a decimal type with unbounded precision and scale facet values. + + + A for which the + + object is created. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the type information described by this . + + + An object that represents the type information described by this + + . + + + + + Gets the list of facets for the type that is described by this + + . + + + A collection of type that contains the list of facets for the type that is described by this + + . + + + + + Returns a Model type usage for a provider type + + Model (CSpace) type usage + + + + Checks whether this is a subtype of the specified + + . + + + true if this is a subtype of the specified + + ; otherwise, false. + + + The object to be checked. + + + + + Returns the full name of the type described by this . + + + The full name of the type described by this as string. + + + + + This exception is thrown when a requested object is not found in the store. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of class that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Caches an ELinq query + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg15 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + + The values currently assigned to the properties of an entity. + + + + + This is the interface that represent the minimum interface required + to be an entity in ADO.NET. + + + + Notifies the change tracker that a property change is pending on a complex object. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property of a complex object has changed. + The name of the changed property. + property is null. + + + + Attribute for complex properties + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + attribute for complex types + + + + + Attribute identifying the Edm base class + + + + + Attribute indicating an enum type. + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this attribute has been replaced by the starting with EF6. + + + + + Creates a new DbFunctionAttribute instance. + + The namespace name of the EDM function represented by the attributed method. + The function name of the EDM function represented by the attributed method. + + + + Base attribute for properties mapped to store elements. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Attribute identifying the Ends defined for a RelationshipSet + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Initializes a new instance of the + + class. + + The namespace name of the relationship property. + The name of the relationship. The relationship name is not namespace qualified. + The role name at the other end of the relationship. + + + The namespace name of the navigation property. + + A that is the namespace name. + + + + Gets the unqualified relationship name. + The relationship name. + + + Gets the role name at the other end of the relationship. + The target role name is specified by the Role attribute of the other End element in the association that defines this relationship in the conceptual model. For more information, see Association (EDM). + + + + Defines a relationship between two entity types based on an association in the conceptual model. + + + + + Creates an instance of the class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + + + + Initializes a new instance of the + + class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + A value that indicates whether the relationship is based on the foreign key value. + + + The namespace for the relationship. + + A that is the namespace for the relationship. + + + + Name of the relationship. + + A that is the name of a relationship that is defined by this + + . + + + + Name of the role at one end of the relationship. + + A that is the name of the role. + + + + Multiplicity at one end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at one end of the relationship. + + A that is the type of the object at this end of the association. + + + + Name of the role at the other end of the relationship. + + A that is the name of the role. + + + + Multiplicity at the other end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at the other end of the relationship. + + A that is the type of the object t the other end of the association. + + + + Gets a Boolean value that indicates whether the relationship is based on the foreign key value. + true if the relationship is based on the foreign key value; otherwise false. + + + + Attribute for scalar properties in an IEntity. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + Gets or sets the value that indicates whether the property can have a null value. + The value that indicates whether the property can have a null value. + + + Gets or sets the value that indicates whether the property is part of the entity key. + The value that indicates whether the property is part of the entity key. + + + + Attribute for static types + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a unique value for each model referenced by the assembly. + + + Setting this parameter to a unique value for each model file in a Visual Basic + assembly will prevent the following error: + "'System.Data.Entity.Core.Objects.DataClasses.EdmSchemaAttribute' cannot be specified more than once in this project, even with identical parameter values." + + A string that is a unique GUID value for the model in the assembly. + + + + Base attribute for schematized types + + + + The name of the type in the conceptual schema that maps to the class to which this attribute is applied. + + A that is the name. + + + + The namespace name of the entity object type or complex type in the conceptual schema that maps to this type. + + A that is the namespace name. + + + + + Collection of entities modeling a particular EDM construct + which can either be all entities of a particular type or + entities participating in a particular relationship. + + The type of entities in this collection. + + + + Initializes a new instance of the class. + + + + Gets the number of objects that are contained in the collection. + + The number of elements that are contained in the + + . + + + + + Gets a value that indicates whether the + + is read-only. + + Always returns false. + + + + IListSource.ContainsListCollection implementation. Always returns false. + This means that the IList we return is the one which contains our actual data, + it is not a list of collections. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + Loads related objects into the collection, using the specified merge option. + + Specifies how the objects in this collection should be merged with the objects that might have been returned from previous queries against the same + + . + + + + + + + Defines relationships between an object and a collection of related objects in an object context. + + Loads related entities into the local collection. If the collection is already filled + or partially filled, merges existing entities with the given entities. The given + entities are not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. We allow + deleted elements only when the state manager is already tracking the relationship + instance. + + Collection of objects in the object context that are related to the source object. + entities collection is null. + + The source object or an object in the entities collection is null or is not in an + + or state.-or-The relationship cannot be defined based on the EDM metadata. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + + Defines a relationship between two attached objects in an object context. + The object being attached. + When the entity is null. + + When the entity cannot be related to the source object. This can occur when the association in the conceptual schema does not support a relationship between the two types.-or-When either object is null or is not in an + + or state. + + + + Adds an object to the collection. + + An object to add to the collection. entity must implement + + . + + entity is null. + + + Removes an object from the collection and marks the relationship for deletion. + true if item was successfully removed; otherwise, false. + The object to remove from the collection. + entity object is null. + The entity object is not attached to the same object context.-or-The entity object does not have a valid relationship manager. + + + Returns an enumerator that is used to iterate through the objects in the collection. + + An that iterates through the set of values cached by + + . + + + + + Returns an enumerator that is used to iterate through the set of values cached by + + . + + + An that iterates through the set of values cached by + + . + + + + Removes all entities from the collection. + + + Determines whether a specific object exists in the collection. + + true if the object is found in the ; otherwise, false. + + + The object to locate in the . + + + + Copies all the contents of the collection to an array, starting at the specified index of the target array. + The array to copy to. + The zero-based index in the array at which copying begins. + + + Used internally to serialize entity objects. + The streaming context. + + + Used internally to deserialize entity objects. + The streaming context. + + + Returns an object query that, when it is executed, returns the same set of objects that exists in the current collection. + + An that represents the entity collection. + + + When the object is in an state + or when the object is in a + state with a + other than + . + + + + + This is the class is the basis for all perscribed EntityObject classes. + + + + Gets the entity state of the object. + + The of this object. + + + + Gets or sets the key for this object. + + The for this object. + + + + + Used by the ObjectStateManager to attach or detach this EntityObject to the cache. + + Reference to the ObjectStateEntry that contains this entity + + + + Returns the container for the lazily created relationship + navigation property objects, collections and refs. + + + + Notifies the change tracker that a property change is pending. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property has changed. + The name of the changed property. + property is null. + + + + Models a relationship end with multiplicity 1. + + + + Returns the key for the related object. + + Returns the EntityKey of the target entity associated with this EntityReference. + Is non-null in the following scenarios: + (a) Entities are tracked by a context and an Unchanged or Added client-side relationships exists for this EntityReference's owner with the + same RelationshipName and source role. This relationship could have been created explicitly by the user (e.g. by setting + the EntityReference.Value, setting this property directly, or by calling EntityCollection.Add) or automatically through span queries. + (b) If the EntityKey was non-null before detaching an entity from the context, it will still be non-null after detaching, until any operation + occurs that would set it to null, as described below. + (c) Entities are detached and the EntityKey is explicitly set to non-null by the user. + (d) Entity graph was created using a NoTracking query with full span + Is null in the following scenarios: + (a) Entities are tracked by a context but there is no Unchanged or Added client-side relationship for this EntityReference's owner with the + same RelationshipName and source role. + (b) Entities are tracked by a context and a relationship exists, but the target entity has a temporary key (i.e. it is Added) or the key + is one of the special keys + (c) Entities are detached and the relationship was explicitly created by the user. + + + An that is the key of the related object. + + + + + Models a relationship end with multiplicity 1. + + The type of the entity being referenced. + + + + Creates a new instance of . + + + The default constructor is required for some serialization scenarios. It should not be used to + create new EntityReferences. Use the GetRelatedReference or GetRelatedEnd methods on the RelationshipManager + class instead. + + + + + Gets or sets the related object returned by this + + . + + + The object returned by this . + + + + + Loads the related object for this with the specified merge option. + + + Specifies how the object should be returned if it already exists in the + + . + + + The source of the is null + or a query returned more than one related end + or a query returned zero related ends, and one related end was expected. + + + + + + + Creates a many-to-one or one-to-one relationship between two objects in the object context. + The object being attached. + When the entity is null. + When the entity cannot be related to the current related end. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + Creates an equivalent object query that returns the related object. + + An that returns the related object. + + + When the object is in an state + or when the object is in a + state with a + other than . + + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + + This interface is implemented by a change tracker and is used by data classes to report changes + + + + Notifies the change tracker of a pending change to a property of an entity type. + The name of the property that is changing. + + + Notifies the change tracker that a property of an entity type has changed. + The name of the property that has changed. + + + Notifies the change tracker of a pending change to a complex property. + The name of the top-level entity property that is changing. + The complex type that contains the property that is changing. + The name of the property that is changing on complex type. + + + Notifies the change tracker that a property of a complex type has changed. + The name of the complex property of the entity type that has changed. + The complex type that contains the property that changed. + The name of the property that changed on complex type. + + + Gets current state of a tracked object. + + An that is the state of the tracked object.For more information, see Identity Resolution, State Management, and Change Tracking and Tracking Changes in POCO Entities. + + + + + Minimum interface that a data class must implement in order to be managed by a change tracker. + + + + + Gets or sets the used to report changes. + + + The used to report changes. + + + + + Interface that defines an entity containing a key. + + + + + Gets or sets the for instances of entity types that implement this interface. + + + If an object is being managed by a change tracker, it is expected that + IEntityChangeTracker methods EntityMemberChanging and EntityMemberChanged will be + used to report changes on EntityKey. This allows the change tracker to validate the + EntityKey's new value and to verify if the change tracker is in a state where it can + allow updates to the EntityKey. + + + The for instances of entity types that implement this interface. + + + + + Interface that a data class must implement if exposes relationships + + + + Returns the relationship manager that manages relationships for an instance of an entity type. + + Classes that expose relationships must implement this property + by constructing and setting RelationshipManager in their constructor. + The implementation of this property should use the static method RelationshipManager.Create + to create a new RelationshipManager when needed. Once created, it is expected that this + object will be stored on the entity and will be provided through this property. + + + The for this entity. + + + + + Represents one end of a relationship. + + + + + Gets or sets a value indicating whether the entity (for an or all entities + in the collection (for an have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded + and wants to prevent any other entities from being loaded automatically. + Note that explicit loading using will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity is detached the IsLoaded flag is reset to false indicating that not all related entities + are now loaded. + + + True if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise false. + + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this is participating. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + The role name at the source end of the relationship. + + + Gets the role name at the target end of the relationship. + The role name at the target end of the relationship. + + + Returns a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + Loads the related object or objects into this related end with the default merge option. + + + Asynchronously loads the related object or objects into this related end with the default merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Loads the related object or objects into the related end with the specified merge option. + + The to use when merging objects into an existing + . + + + + Asynchronously loads the related object or objects into the related end with the specified merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Adds an object to the related end. + + An object to add to the collection. entity must implement + + . + + + + Adds an object to the related end. + An object to add to the collection. + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed, false if entity was not part of the + + . + + + The object to remove from the collection. entity must implement + + . + + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed; false if entity was not part of the + + . + + An object to remove from the collection. + + + Defines a relationship between two attached objects. + + The object being attached. entity must implement + + . + + + + Defines a relationship between two attached objects. + The object being attached. + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Base class for EntityCollection and EntityReference + + + + Occurs when a change is made to a related end. + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this participates. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + + A that is the role name. + + + + Gets the role name at the target end of the relationship. + + A that is the role name. + + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + Gets a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + + + + + Loads the related object or objects into the related end with the default merge option. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads the related object or objects into the related end with the default merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Loads an object or objects from the related end with the specified merge option. + + + The to use when merging objects into an existing + . + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads an object or objects from the related end with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Attaches an entity to the related end. This method works in exactly the same way as Attach(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Attaches an entity to the related end. If the related end is already filled + or partially filled, this merges the existing entities with the given entity. The given + entity is not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. + Deleted elements are allowed only when the state manager is already tracking the relationship + instance. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Adds an entity to the related end. This method works in exactly the same way as Add(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to add to the related end + + + + Adds an entity to the related end. If the owner is + attached to a cache then the all the connected ends are + added to the object cache and their corresponding relationships + are also added to the ObjectStateManager. The RelatedEnd of the + relationship is also fixed. + + Entity instance to add to the related end + + + + Removes an entity from the related end. This method works in exactly the same way as Remove(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Removes an entity from the related end. If owner is + attached to a cache, marks relationship for deletion and if + the relationship is composition also marks the entity for deletion. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + Identifies the kind of a relationship + + + + + The relationship is an Association + + + + + Container for the lazily created relationship navigation + property objects (collections and refs). + + + + + Creates a new object. + + + Used by data classes that support relationships. If the change tracker + requests the RelationshipManager property and the data class does not + already have a reference to one of these objects, it calls this method + to create one, then saves a reference to that object. On subsequent accesses + to that property, the data class should return the saved reference. + The reason for using a factory method instead of a public constructor is to + emphasize that this is not something you would normally call outside of a data class. + By requiring that these objects are created via this method, developers should + give more thought to the operation, and will generally only use it when + they explicitly need to get an object of this type. It helps define the intended usage. + + + The requested . + + Reference to the entity that is calling this method. + + + + Returns either an or + + of the correct type for the specified target role in a relationship. + + + representing the + + or + + that was retrieved. + + Name of the relationship in which targetRoleName is defined. The relationship name is not namespace qualified. + Target role to use to retrieve the other end of relationshipName . + relationshipName or targetRoleName is null. + The source type does not match the type of the owner. + targetRoleName is invalid or unable to find the relationship type in the metadata. + + + + Takes an existing EntityReference that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityReference has already been initialized, + if the relationship manager already contains a relationship with this name and target role, or if the relationship manager is already attached to a ObjectContext.W + + The relationship name. + The role name of the related end. + + The to initialize. + + + The type of the being initialized. + + + When the provided + is already initialized.-or-When the relationship manager is already attached to an + + or when the relationship manager already contains a relationship with this name and target role. + + + + + Takes an existing EntityCollection that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityCollection has already been initialized, + or if the relationship manager is already attached to a ObjectContext. + + The relationship name. + The target role name. + An existing EntityCollection. + Type of the entity represented by targetRoleName + + + + Gets an of related objects with the specified relationship name and target role name. + + + The of related objects. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + + Gets the for a related object by using the specified combination of relationship name and target role name. + + + The of a related object. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + Returns an enumeration of all the related ends managed by the relationship manager. + + An of objects that implement + + . An empty enumeration is returned when the relationships have not yet been populated. + + + + + Called by Object Services to prepare an for binary serialization with a serialized relationship. + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + This class contains the common methods need for an date object. + + + + + Public constant name used for change tracking + Providing this definition allows users to use this constant instead of + hard-coding the string. This helps to ensure the property name is correct + and allows faster comparisons in places where we are looking for this specific string. + Users can still use the case-sensitive string directly instead of the constant, + it will just be slightly slower on comparison. + Including the dash (-) character around the name ensures that this will not conflict with + a real data property, because -EntityKey- is not a valid identifier name + + + + + Notification that a property has been changed. + + + The PropertyChanged event can indicate all properties on the + object have changed by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangedEventArgs. + + + + + Notification that a property is about to be changed. + + + The PropertyChanging event can indicate all properties on the + object are changing by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangingEventArgs. + + + + + Raises the event. + + The name of the changed property. + + + + Raises the event. + + The name of the property changing. + + + Returns the minimum date time value supported by the data source. + + A value that is the minimum date time that is supported by the data source. + + + + Raises an event that is used to report that a property change is pending. + The name of the changing property. + + + Raises an event that is used to report that a property change has occurred. + The name for the changed property. + + + Returns a complex type for the specified property. + + Unlike most of the other helper methods in this class, this one is not static + because it references the SetValidValue for complex objects, which is also not static + because it needs a reference to this. + + A complex type object for the property. + A complex object that inherits from complex object. + The name of the complex property that is the complex object. + Indicates whether the type supports null values. + Indicates whether the type is initialized. + The type of the complex object being requested. + + + Determines whether the specified byte arrays contain identical values. + true if both arrays are of the same length and contain the same byte values or if both arrays are null; otherwise, false. + The first byte array value to compare. + The second byte array to compare. + + + Returns a copy of the current byte value. + + A copy of the current value. + + The current byte array value. + + + + Makes sure the value being set for a property is valid. + + + The value being validated. + + The value passed into the property setter. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + If value is null for a non nullable value. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + The value being set. + Indicates whether the property is nullable. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + A that is set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value that is set. + + The value that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + The name of the property that is being validated. + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + Name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + The name of the property that is being validated. + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + The name of the property that is being validated. + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + + + Validates that the property is not null, and throws if it is. + The validated property. + The string value to be checked. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The string value is null for a non-nullable string. + + + Validates that the property is not null, and throws if it is. + + The validated value. + + The string value to be checked. + Flag indicating if this property is allowed to be null. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + Name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Sets a complex object for the specified property. + A complex type that derives from complex object. + The original complex object for the property, if any. + The complex object is being set. + The complex property that is being set to the complex object. + The type of the object being replaced. + + + Verifies that a complex object is not null. + The complex object being validated. + The complex object that is being validated. + The complex property on the parent object that is associated with complexObject . + The type of the complex object being verified. + + + + Provides access to the original values of object data. The DbUpdatableDataRecord implements methods that allow updates to the original values of an object. + + + + Gets the number of fields in the record. + An integer value that is the field count. + + + Returns a value that has the given field ordinal. + The value that has the given field ordinal. + The ordinal of the field. + + + Gets a value that has the given field name. + The field value. + The name of the field. + + + Retrieves the field value as a Boolean. + The field value as a Boolean. + The ordinal of the field. + + + Retrieves the field value as a byte. + The field value as a byte. + The ordinal of the field. + + + Retrieves the field value as a byte array. + The number of bytes copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of bytes to copy. + + + Retrieves the field value as a char. + The field value as a char. + The ordinal of the field. + + + Retrieves the field value as a char array. + The number of characters copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of characters to copy. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as a + + + The field value as a . + + The ordinal of the field. + + + Retrieves the name of the field data type. + The name of the field data type. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Retrieves the field value as a decimal. + The field value as a decimal. + The ordinal of the field. + + + Retrieves the field value as a double. + The field value as a double. + The ordinal of the field. + + + Retrieves the type of a field. + The field type. + The ordinal of the field. + + + Retrieves the field value as a float. + The field value as a float. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + Retrieves the name of a field. + The name of the field. + The ordinal of the field. + + + Retrieves the ordinal of a field by using the name of the field. + The ordinal of the field. + The name of the field. + + + Retrieves the field value as a string. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Populates an array of objects with the field values of the current record. + The number of field values returned. + An array of objects to store the field values. + + + + Returns whether the specified field is set to . + + + true if the field is set to ; otherwise false. + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets field values in a record. + The number of the fields that were set. + The values of the field. + + + + Sets a field to the value. + + The ordinal of the field. + + + Gets data record information. + + A object. + + + + + Retrieves a field value as a . + + + A field value as a . + + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + + List of type pairs that constructor call new XXXX(YYY yyy) could be translated to SQL CAST(yyy AS XXXXX) call + + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that these functions have been moved to the class starting with EF6. + The functions are retained here only to help in the migration of older EF apps to EF6. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + Options for query execution. + + + + + Creates a new instance of . + + Merge option to use for entity results. + + + + Creates a new instance of . + + Merge option to use for entity results. + Whether the query is streaming or buffering. + + + + Merge option to use for entity results. + + + + + Whether the query is streaming or buffering. + + + + Determines whether the specified objects are equal. + true if the two objects are equal; otherwise, false. + The left object to compare. + The right object to compare. + + + + Determines whether the specified objects are not equal. + + The left object to compare. + The right object to compare. + true if the two objects are not equal; otherwise, false. + + + + + + + + + + Defines behavior for implementations of IQueryable that allow modifications to the membership of the resulting set. + + Type of entities returned from the queryable. + + + Notifies the set that an object that represents a new entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The new object to add to the set. + + + Notifies the set that an object that represents an existing entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to add to the set. + + + Notifies the set that an object that represents an existing entity must be deleted from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to delete from the set. + + + Notifies the set that an object that represents an existing entity must be detached from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The object to detach from the set. + + + + The different ways that new objects loaded from the database can be merged with existing objects already in memory. + + + + + Will only append new (top level-unique) rows. This is the default behavior. + + + + + Same behavior as LoadOption.OverwriteChanges. + + + + + Same behavior as LoadOption.PreserveChanges. + + + + + Will not modify cache. + + + + + ObjectContext is the top-level object that encapsulates a connection between the CLR and the database, + serving as a gateway for Create, Read, Update, and Delete operations. + + + + + Initializes a new instance of the class with the given connection. During construction, the metadata workspace is extracted from the + + object. + + + An that contains references to the model and to the data source connection. + + The connection is null. + The connection is invalid or the metadata workspace is invalid. + + + + Creates an ObjectContext with the given connection and metadata workspace. + + connection to the store + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + Initializes a new instance of the class with the given connection string and default entity container name. + + The connection string, which also provides access to the metadata information. + The connectionString is null. + The connectionString is invalid or the metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection string and entity container name. + + The connection string, which also provides access to the metadata information. + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connectionString is null. + The connectionString , defaultContainerName , or metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection and entity container name. + + + An that contains references to the model and to the data source connection. + + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connection is null. + The connection , defaultContainerName , or metadata workspace is not valid. + + + Gets the connection used by the object context. + + A object that is the connection. + + + When the instance has been disposed. + + + + Gets or sets the default container name. + + A that is the default container name. + + + + Gets the metadata workspace used by the object context. + + The object associated with this + + . + + + + Gets the object state manager used by the object context to track object changes. + + The used by this + + . + + + + Gets or sets the timeout value, in seconds, for all object context operations. A null value indicates that the default value of the underlying provider will be used. + + An value that is the timeout value, in seconds. + + The timeout value is less than 0. + + + Gets the LINQ query provider associated with this object context. + + The instance used by this object context. + + + + + Gets the instance that contains options that affect the behavior of the + + . + + + The instance that contains options that affect the behavior of the + + . + + + + + Returns itself. ObjectContext implements to provide a common + interface for and ObjectContext both of which will return the underlying + ObjectContext. + + + + + Gets the transaction handler in use by this context. May be null if no transaction have been started. + + + The transaction handler. + + + + + Returns the being used for this context. + + + + Occurs when changes are saved to the data source. + + + Occurs when a new entity object is created from data in the data source as part of a query or load operation. + + + Accepts all changes made to objects in the object context. + + + Adds an object to the object context. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to add. + + The entity parameter is null or the entitySetName does not qualify. + + + Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The value to use when you load the related objects. + + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + + The value to use when you load the related objects. + + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Applies property changes from a detached object to an object already attached to the object context. + The name of the entity set to which the object belongs. + The detached object that has property updates to apply to the original object. + When entitySetName is null or an empty string or when changed is null. + + When the from entitySetName does not match the + + of the object + + or when the entity is in a state other than + + or + + or the original object is not attached to the context. + + When the type of the changed object is not the same type as the original object. + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + The entity type of the object. + entitySetName or current is null. + + The from entitySetName does not match the + + of the object + + or the object is not in the + + or it is in a + + state or the entity key of the supplied object is invalid. + + entitySetName is an empty string. + + + + Copies the scalar values from the supplied object into set of original values for the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has original values to apply to the object. The entity key of originalEntity must match the + + property of an entry in the + + . + + The type of the entity object. + entitySetName or original is null. + + The from entitySetName does not match the + + of the object + + or an + + for the object cannot be found in the + + or the object is in an + + or a + + state or the entity key of the supplied object is invalid or has property changes. + + entitySetName is an empty string. + + + Attaches an object or object graph to the object context in a specific entity set. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to attach. + + The entity is null. + + Invalid entity set or the object has a temporary key or the object has an + + and the + + does not match with the entity set passed in as an argument of the method or the object does not have an + + and no entity set is provided or any object from the object graph has a temporary + + or any object from the object graph has an invalid + + (for example, values in the key do not match values in the object) or the entity set could not be found from a given entitySetName name and entity container name or any object from the object graph already exists in another state manager. + + + + Attaches an object or object graph to the object context when the object has an entity key. + The object to attach. + The entity is null. + Invalid entity key. + + + Creates the entity key for a specific object, or returns the entity key if it already exists. + + The of the object. + + The fully qualified name of the entity set to which the entity object belongs. + The object for which the entity key is being retrieved. + When either parameter is null. + When entitySetName is empty or when the type of the entity object does not exist in the entity set or when the entitySetName is not fully qualified. + When the entity key cannot be constructed successfully based on the supplied parameters. + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified entity type. + + + The new instance. + + + Entity type of the requested . + + + The property is not set on the + + or the specified type belongs to more than one entity set. + + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name. + + + The new instance. + + + Name of the entity set for the returned . The string must be qualified by the default container name if the + + property is not set on the + + . + + + Entity type of the requested . + + + The from entitySetName does not match the + + of the object + + or the + + property is not set on the + + and the name is not qualified as part of the entitySetName parameter or the specified type belongs to more than one entity set. + + + + + Creates an in the current object context by using the specified query string. + + + An of the specified type. + + The query string to be executed. + Parameters to pass to the query. + + The entity type of the returned . + + The queryString or parameters parameter is null. + + + Marks an object for deletion. + + An object that specifies the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + The entity is null. + + The entity is not associated with this (for example, was newly created and not associated with any context yet, or was obtained through some other context, or was already detached). + + + + + Finalizes an instance of the class. + + + + Releases the resources used by the object context. + + + + Releases the resources used by the object context. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns an object that has the specified entity key. + + An that is an instance of an entity type. + + The key of the object to be found. + The key parameter is null. + + The object is not found in either the or the data source. + + + + Updates a collection of objects in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Updates an object in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Persists all updates to the database and resets change tracking in the object context. + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + This parameter is needed for client-side transaction support. If true, the change tracking on all objects is reset after + + finishes. If false, you must call the + method after . + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + A value that determines the behavior of the operation. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + + Ensures that changes are synchronized with changes in all objects that are tracked by the + + . + + + + Returns an object that has the specified entity key. + true if the object was retrieved successfully. false if the key is temporary, the connection is null, or the value is null. + The key of the object to be found. + When this method returns, contains the object. + Incompatible metadata for key . + key is null. + + + + Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + The to use when executing the query. + + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given function on the default container. + + Element type for function results. + + Name of function. May include container (e.g. ContainerName.FunctionName) or just function name when DefaultContainerName is known. + + The options for executing this function. + + The parameter values to use for the function. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + An object representing the result of executing this function. + If function is null or empty + + If function is invalid (syntax, + does not exist, refers to a function with return type incompatible with T) + + + + Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution. + The number of rows affected. + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration. + + An enumeration of objects that represent custom data classes that map to the conceptual model. + + + + Returns all the existing proxy types. + + An of all the existing proxy types. + + + + Returns the entity type of the POCO entity associated with a proxy object of a specified type. + + The of the associated POCO entity. + + + The of the proxy object. + + + + Creates and returns an instance of the requested type . + An instance of the requested type T , or an instance of a derived type that enables T to be used with the Entity Framework. The returned object is either an instance of the requested type or an instance of a derived type that enables the requested type to be used with the Entity Framework. + Type of object to be returned. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior of + DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + + The to use when executing the query. The default is + . + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Translates a that contains rows of entity data to objects of the requested entity type. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + When reader is null. + + + + Translates a that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + The entity set of the TResult type. + + The to use when translated objects are added to the object context. The default is + + . + + When reader is null. + + When the supplied mergeOption is not a valid value. + + When the supplied entitySetName is not a valid entity set for the TResult type. + + + + Creates the database by using the current data source connection and the metadata in the + + . + + + + Deletes the database that is specified as the database in the current data source connection. + + + + Checks if the database that is specified as the database in the current store connection exists on the store. Most of the actual work + is done by the DbProviderServices implementation for the current store connection. + + true if the database exists; otherwise, false. + + + + Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the + + . The + + loads metadata from store schema definition language (SSDL) files. + + + A DDL script that creates schema objects for the metadata in the + + . + + + + + Defines options that affect the behavior of the ObjectContext. + + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + and are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + Gets or sets a Boolean value that determines whether related objects are loaded automatically when a navigation property is accessed. + true if lazy loading is enabled; otherwise, false. + + + Gets or sets a Boolean value that determines whether proxy instances are created for custom data classes that are persistence ignorant. + true if proxies are created; otherwise, false. The default value is true. + + + Gets or sets a Boolean value that determines whether to use the legacy PreserveChanges behavior. + true if the legacy PreserveChanges behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the consistent NullReference behavior. + + If this flag is set to false then setting the Value property of the for an + FK relationship to null when it is already null will have no effect. When this flag is set to true, then + setting the value to null will always cause the FK to be nulled and the relationship to be deleted + even if the value is currently null. The default value is false when using ObjectContext and true + when using DbContext. + + true if the consistent NullReference behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the C# NullComparison behavior. + + This flag determines whether C# behavior should be exhibited when comparing null values in LinqToEntities. + If this flag is set, then any equality comparison between two operands, both of which are potentially + nullable, will be rewritten to show C# null comparison semantics. As an example: + (operand1 = operand2) will be rewritten as + (((operand1 = operand2) AND NOT (operand1 IS NULL OR operand2 IS NULL)) || (operand1 IS NULL && operand2 IS NULL)) + The default value is false when using . + + true if the C# NullComparison behavior should be used; otherwise, false. + + + + EventArgs for the ObjectMaterialized event. + + + + + Constructs new arguments for the ObjectMaterialized event. + + The object that has been materialized. + + + Gets the entity object that was created. + The entity object that was created. + + + + Delegate for the ObjectMaterialized event. + + The ObjectContext responsable for materializing the object. + EventArgs containing a reference to the materialized object. + + + + This class represents a query parameter at the object layer, which consists + of a Name, a Type and a Value. + + + + + Initializes a new instance of the class with the specified name and type. + + The parameter name. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The common language runtime (CLR) type of the parameter. + If the value of either argument is null. + If the value of the name argument is invalid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + + Initializes a new instance of the class with the specified name and value. + + The parameter name. This name should not include the "@" parameter marker that is used in Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The initial value (and inherently, the type) of the parameter. + If the value of either argument is null. + If the value of the name argument is not valid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + Gets the parameter name, which can only be set through a constructor. + The parameter name, which can only be set through a constructor. + + + Gets the parameter type. + + The of the parameter. + + + + Gets or sets the parameter value. + The parameter value. + + + + This class represents a collection of query parameters at the object layer. + + + + Gets the number of parameters currently in the collection. + + The number of objects that are currently in the collection. + + + + + This collection is read-write - parameters may be added, removed + and [somewhat] modified at will (value only) - provided that the + implementation the collection belongs to has not locked its parameters + because it's command definition has been prepared. + + + + Provides an indexer that allows callers to retrieve parameters by name. + + The instance. + + The name of the parameter to find. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + No parameter with the specified name is found in the collection. + + + + Adds the specified to the collection. + + The parameter to add to the collection. + The parameter argument is null. + + The parameter argument already exists in the collection. This behavior differs from that of most collections that allow duplicate entries. -or-Another parameter with the same name as the parameter argument already exists in the collection. Note that the lookup is case-insensitive. This behavior differs from that of most collections, and is more like that of a + + . + + The type of the parameter is not valid. + + + + Deletes all instances from the collection. + + + + + Checks for the existence of a specified in the collection by reference. + + Returns true if the parameter object was found in the collection; otherwise, false. + + The to find in the collection. + + The parameter argument is null. + + + + Determines whether an with the specified name is in the collection. + + Returns true if a parameter with the specified name was found in the collection; otherwise, false. + The name of the parameter to look for in the collection. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + The name parameter is null. + + + Allows the parameters in the collection to be copied into a supplied array, starting with the object at the specified index. + The array into which to copy the parameters. + The index in the array at which to start copying the parameters. + + + + Removes an instance of an from the collection by reference if it exists in the collection. + + Returns true if the parameter object was found and removed from the collection; otherwise, false. + An object to remove from the collection. + The parameter argument is null. + + + + These methods return enumerator instances, which allow the collection to + be iterated through and traversed. + + An object that can be used to iterate through the collection. + + + Returns an untyped enumerator over the collection. + + An instance. + + + + + This class implements untyped queries at the object-layer. + + + + Returns the command text for the query. + A string value. + + + Gets the object context associated with this object query. + + The associated with this + + instance. + + + + Gets or sets how objects returned from a query are added to the object context. + + The query . + + + + + Whether the query is streaming or buffering + + + + Gets the parameter collection for this object query. + + The parameter collection for this . + + + + Gets or sets a value that indicates whether the query plan should be cached. + A value that indicates whether the query plan should be cached. + + + Returns the commands to execute against the data source. + A string that represents the commands that the query executes against the data source. + + + Returns information about the result type of the query. + + A value that contains information about the result type of the query. + + + + Executes the untyped object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + + Gets the result element type for this query instance. + + + + + Gets the expression describing this query. For queries built using + LINQ builder patterns, returns a full LINQ expression tree; otherwise, + returns a constant expression wrapping this query. Note that the + default expression is not cached. This allows us to differentiate + between LINQ and Entity-SQL queries. + + + + + Gets the associated with this query instance. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + ObjectQuery implements strongly-typed queries at the object-layer. + Queries are specified using Entity-SQL strings and may be created by calling + the Entity-SQL-based query builder methods declared by ObjectQuery. + + The result type of this ObjectQuery + + + + Creates a new instance using the specified Entity SQL command as the initial query. + + The Entity SQL query. + + The on which to execute the query. + + + + + Creates a new instance using the specified Entity SQL command as the initial query and the specified merge option. + + The Entity SQL query. + + The on which to execute the query. + + + Specifies how the entities that are retrieved through this query should be merged with the entities that have been returned from previous queries against the same + + . + + + + Gets or sets the name of this object query. + + A string value that is the name of this . + + The value specified on set is not valid. + + + Executes the object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + Specifies the related objects to include in the query results. + + A new with the defined query path. + + Dot-separated list of related objects to return in the query results. + path is null. + path is empty. + + + Limits the query to unique results. + + A new instance that is equivalent to the original instance with SELECT DISTINCT applied. + + + + + This query-builder method creates a new query whose results are all of + the results of this query, except those that are also part of the other + query specified. + + A query representing the results to exclude. + a new ObjectQuery instance. + If the query parameter is null. + + + Groups the query results by the specified criteria. + + A new instance of type + + that is equivalent to the original instance with GROUP BY applied. + + The key columns by which to group the results. + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + The query parameter is null or an empty string + or the projection parameter is null or an empty string. + + + + This query-builder method creates a new query whose results are those that + are both in this query and the other query specified. + + A query representing the results to intersect with. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to only results of a specific type. + + A new instance that is equivalent to the original instance with OFTYPE applied. + + + The type of the returned when the query is executed with the applied filter. + + The type specified is not valid. + + + Orders the query results by the specified criteria. + + A new instance that is equivalent to the original instance with ORDER BY applied. + + The key columns by which to order the results. + Zero or more parameters that are used in this method. + The keys or parameters parameter is null. + The key is an empty string. + + + Limits the query results to only the properties that are defined in the specified projection. + + A new instance of type + + that is equivalent to the original instance with SELECT applied. + + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + projection is null or parameters is null. + The projection is an empty string. + + + Limits the query results to only the property specified in the projection. + + A new instance of a type compatible with the specific projection. The returned + + is equivalent to the original instance with SELECT VALUE applied. + + The projection list. + An optional set of query parameters that should be in scope when parsing. + + The type of the returned by the + + method. + + projection is null or parameters is null. + The projection is an empty string. + + + Orders the query results by the specified criteria and skips a specified number of results. + + A new instance that is equivalent to the original instance with both ORDER BY and SKIP applied. + + The key columns by which to order the results. + The number of results to skip. This must be either a constant or a parameter reference. + An optional set of query parameters that should be in scope when parsing. + Any argument is null. + keys is an empty string or count is an empty string. + + + Limits the query results to a specified number of items. + + A new instance that is equivalent to the original instance with TOP applied. + + The number of items in the results as a string. + An optional set of query parameters that should be in scope when parsing. + count is null. + count is an empty string. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + without duplicates (i.e., results are unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + including any duplicates (i.e., results are not necessarily unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to results that match specified filtering criteria. + + A new instance that is equivalent to the original instance with WHERE applied. + + The filter predicate. + Zero or more parameters that are used in this method. + predicate is null or parameters is null. + The predicate is an empty string. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + This class implements IEnumerable and IDisposable. Instance of this class + is returned from ObjectQuery.Execute method. + + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + IListSource.ContainsListCollection implementation. Always returns false. + + + + Returns the results in a format useful for data binding. + + An of entity objects. + + + + + When overridden in a derived class, gets the type of the generic + + . + + + The type of the generic . + + + + Performs tasks associated with freeing, releasing, or resetting resources. + + + Releases the resources used by the object result. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the next result set of a stored procedure. + An ObjectResult that enumerates the values of the next result set. Null, if there are no more, or if the ObjectResult is not the result of a stored procedure call. + The type of the element. + + + + This class represents the result of the method. + + The type of the result. + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the type of the . + + + A that is the type of the . + + + + + Represents a typed entity set that is used to perform create, read, update, and delete operations. + + The type of the entity. + + + + Gets the metadata of the entity set represented by this instance. + + + An object. + + + + Adds an object to the object context in the current entity set. + The object to add. + + + Attaches an object or object graph to the object context in the current entity set. + The object to attach. + + + Marks an object for deletion. + + An object that represents the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + + + + Sets the property of an + + to match the property values of a supplied object. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of originalEntity must match the + + property of an entry in the + + . + + + + Creates a new entity type object. + The new entity type object, or an instance of a proxy type that corresponds to the entity type. + + + Creates an instance of the specified type. + An instance of the requested type T , or an instance of a proxy type that corresponds to the type T . + Type of object to be returned. + + + + Represents either a entity, entity stub or relationship + + + + + Gets the for the + + . + + + The for the + + . + + + + + Gets the for the object or relationship. + + + The for the object or relationship. + + + + + Gets the state of the . + + + The state of the . + + + + Gets the entity object. + The entity object. + + + Gets the entity key. + The entity key. + + + + Gets a value that indicates whether the represents a relationship. + + + true if the represents a relationship; otherwise, false. + + + + Gets the read-only version of original values of the object or relationship. + The read-only version of original values of the relationship set entry or entity. + + + + Gets the updatable version of original values of the object associated with this + + . + + The updatable original values of object data. + + + + Gets the current property values of the object or relationship associated with this + + . + + + A that contains the current values of the object or relationship associated with this + + . + + + + Accepts the current values as original values. + + + Marks an entity as deleted. + + + + Returns the names of an object’s properties that have changed since the last time + + was called. + + + An collection of names as string. + + + + Sets the state of the object or relationship to modify. + If State is not Modified or Unchanged + + + Marks the specified property as modified. + The name of the property. + If State is not Modified or Unchanged + + + Rejects any changes made to the property with the given name since the property was last loaded, attached, saved, or changes were accepted. The original value of the property is stored and the property will no longer be marked as modified. + The name of the property to change. + + + Uses DetectChanges to determine whether or not the current value of the property with the given name is different from its original value. Note that this may be different from the property being marked as modified since a property which has not changed can still be marked as modified. + + Note that this property always returns the same result as the modified state of the property for change tracking + proxies and entities that derive from the EntityObject base class. This is because original values are not tracked + for these entity types and hence there is no way to know if the current value is really different from the + original value. + + true if the property has changed; otherwise, false. + The name of the property. + + + + Gets the instance for the object represented by entry. + + + The object. + + The entry is a stub or represents a relationship + + + + Changes state of the entry to the specified value. + + + The value to set for the + + property of the entry. + + + + Sets the current values of the entry to match the property values of a supplied object. + The detached object that has updated values to apply to the object. currentEntity can also be the object’s entity key. + + + Sets the original values of the entry to match the property values of a supplied object. + The detached object that has original values to apply to the object. originalEntity can also be the object’s entity key. + + + + Used to report that a scalar entity property is about to change + The current value of the specified property is cached when this method is called. + + The name of the entity property that is changing + + + + Used to report that a scalar entity property has been changed + The property value that was cached during EntityMemberChanging is now + added to OriginalValues + + The name of the entity property that has changing + + + + Used to report that a complex property is about to change + The current value of the specified property is cached when this method is called. + + The name of the top-level entity property that is changing + The complex object that contains the property that is changing + The name of the property that is changing on complexObject + + + + Used to report that a complex property has been changed + The property value that was cached during EntityMemberChanging is now added to OriginalValues + + The name of the top-level entity property that has changed + The complex object that contains the property that changed + The name of the property that changed on complexObject + + + + Returns the EntityState from the ObjectStateEntry + + + + + Maintains object state and identity management for entity type instances and relationship instances. + + + + + Initializes a new instance of the class. + + + The , which supplies mapping and metadata information. + + + + + Gets the associated with this state manager. + + + The associated with this + + . + + + + Occurs when entities are added to or removed from the state manager. + + + + Returns a collection of objects for objects or relationships with the given state. + + + A collection of objects in the given + + . + + + An used to filter the returned + + objects. + + + When state is . + + + + + Changes state of the for a specific object to the specified entityState . + + + The for the supplied entity . + + The object for which the state must be changed. + The new state of the object. + When entity is null. + + When the object is not detached and does not have an entry in the state manager + or when you try to change the state to + from any other + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the name of the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + When source or target is null. + + When trying to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and a LINQ expression that defines the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + A LINQ expression that selects the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + The entity type of the source object. + When source , target , or selector is null. + selector is malformed or cannot return a navigation property. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a + state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the properties of the relationship. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the relationship. + The role name at the target end of the relationship. + + The requested of the specified relationship. + + When source or target is null. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an + state + or when state is not a valid value. + + + + + Returns an for the object or relationship entry with the specified key. + + + The corresponding for the given + + . + + + The . + + When key is null. + When the specified key cannot be found in the state manager. + + No entity with the specified exists in the + + . + + + + + Returns an for the specified object. + + + The corresponding for the given + + . + + + The to which the retrieved + + belongs. + + + No entity for the specified exists in the + + . + + + + + Tries to retrieve the corresponding for the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given object; otherwise, false. + + + The to which the retrieved + + belongs. + + + When this method returns, contains the for the given + + This parameter is passed uninitialized. + + + + + Tries to retrieve the corresponding for the object or relationship with the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given + + ; otherwise, false. + + + The given . + + + When this method returns, contains an for the given + + This parameter is passed uninitialized. + + A null (Nothing in Visual Basic) value is provided for key . + + + + Returns the that is used by the specified object. + + + The for the specified object. + + + The object for which to return the . + + + The entity does not implement IEntityWithRelationships and is not tracked by this ObjectStateManager + + + + + Returns the that is used by the specified object. + + + true if a instance was returned for the supplied entity ; otherwise false. + + + The object for which to return the . + + + When this method returns, contains the + + for the entity . + + + + + The original values of the properties of an entity when it was retrieved from the database. + + + + + A DataContractResolver that knows how to resolve proxy types created for persistent + ignorant classes to their base types. This is used with the DataContractSerializer. + + + + During deserialization, maps any xsi:type information to the actual type of the persistence-ignorant object. + Returns the type that the xsi:type is mapped to. Returns null if no known type was found that matches the xsi:type. + The xsi:type information to map. + The namespace of the xsi:type. + The declared type. + + An instance of . + + + + During serialization, maps actual types to xsi:type information. + true if the type was resolved; otherwise, false. + The actual type of the persistence-ignorant object. + The declared type. + + An instance of . + + When this method returns, contains a list of xsi:type declarations. + When this method returns, contains a list of namespaces used. + + + + Defines the different ways to handle modified properties when refreshing in-memory data from the database. + + + + + For unmodified client objects, same behavior as StoreWins. For modified client + objects, Refresh original values with store value, keeping all values on client + object. The next time an update happens, all the client change units will be + considered modified and require updating. + + + + + Discard all changes on the client and refresh values with store values. + Client original values is updated to match the store. + + + + + Flags used to modify behavior of ObjectContext.SaveChanges() + + + + + Changes are saved without the DetectChanges or the AcceptAllChangesAfterSave methods being called. + + + + + After changes are saved, the AcceptAllChangesAfterSave method is called, which resets change tracking in the ObjectStateManager. + + + + + Before changes are saved, the DetectChanges method is called to synchronize the property values of objects that are attached to the object context with data in the ObjectStateManager. + + + + + This exception is thrown when a update operation violates the concurrency constraint. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The enumerable collection of objects. + + + + + Property constraint exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of the class with default message. + + + + + Initializes a new instance of the class with supplied message. + + A localized error message. + + + + Initializes a new instance of the class with supplied message and inner exception. + + A localized error message. + The inner exception. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + The inner exception. + + + Gets the name of the property that violated the constraint. + The name of the property that violated the constraint. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the store provider exhibits a behavior incompatible with the entity client provider + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Used for conversion between different representations of bit array. + Returns (n+(div-1))/div, rearranged to avoid arithmetic overflow. + For example, in the bit to int case, the straightforward calc would + be (n+31)/32, but that would cause overflow. So instead it's + rearranged to ((n-1)/32) + 1, with special casing for 0. + + Usage: + GetArrayLength(77, BitsPerInt32): returns how many ints must be + allocated to store 77 bits. + + length of array + use a conversion constant, e.g. BytesPerInt32 to get + how many ints are required to store n bytes + length of the array + + + + Is this tree uses user-defined functions + Simplifying query with UDFs could caused to suboptimal plans + + Current subtree to process + Mapped variables + + + + + Exception during save changes to store + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The collection of objects. + + + + + Gets the objects for this + + . + + + A collection of objects comprised of either a single entity and 0 or more relationships, or 0 entities and 1 or more relationships. + + + + + Initializes a new instance of with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instance of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Gets the transaction the underlying store connection is enlisted in. May be null. + + + + + Enables the user to pass in a database transaction created outside of the object + if you want the Entity Framework to execute commands within that external transaction. + Alternatively, pass in null to clear the framework's knowledge of that transaction. + + the external transaction + Thrown if the transaction is already completed + + Thrown if the connection associated with the object is already enlisted in a + + transaction + + + Thrown if the connection associated with the object is already participating in a transaction + + Thrown if the connection associated with the transaction does not match the Entity Framework's connection + + + + Begins a transaction on the underlying store connection + + + a object wrapping access to the underlying store's transaction object + + + + + Begins a transaction on the underlying store connection using the specified isolation level + + The database isolation level with which the underlying store transaction will be created + + a object wrapping access to the underlying store's transaction object + + + + + Returns the connection being used by this context. This may cause the + connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Sets the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Runs the registered on this context. + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + + If set to true the initializer is run even if it has already been run. + + + + + Checks whether or not the database is compatible with the current Code First model. + + + Model compatibility currently uses the following rules. + If the context was created using either the Model First or Database First approach then the + model is assumed to be compatible with the database and this method returns true. + For Code First the model is considered compatible if the model is stored in the database + in the Migrations history table and that model has no differences from the current model as + determined by Migrations model differ. + If the model is not stored in the database but an EF 4.1/4.2 model hash is found instead, + then this is used to check for compatibility. + + + If set to true then an exception will be thrown if no model metadata is found in the database. If set to false then this method will return true if metadata is not found. + + True if the model hash in the context and the database match; false otherwise. + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + Calling this method from outside of an initializer will mark the database as having + not been initialized. This means that if an attempt is made to use the database again + after it has been deleted, then any initializer set will run again and, usually, will + try to create the database again automatically. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + By default, the instance to use is read from the application's .config + file from the "EntityFramework DefaultConnectionFactory" entry in appSettings. If no entry is found in + the config file then is used. Setting this property in code + always overrides whatever value is found in the config file. + + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local or ambient transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the timeout value, in seconds, for all context operations. + The default value is null, where null indicates that the default value of the underlying + provider will be used. + + + The timeout, in seconds, or null to use the provider default. + + + + + Set this property to log the SQL generated by the to the given + delegate. For example, to log to the console, set this property to . + + + The format of the log text can be changed by creating a new formatter that derives from + and setting it with . + For more low-level control over logging/interception see and + . + + + + + A class derived from this class can be placed in the same assembly as a class derived from + to define Entity Framework configuration for an application. + Configuration is set by calling protected methods and setting protected properties of this + class in the constructor of your derived type. + The type to use can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Any class derived from must have a public parameterless constructor + and that constructor should call this constructor. + + + + + The Singleton instance of for this app domain. This can be + set at application start before any Entity Framework features have been used and afterwards + should be treated as read-only. + + The instance of . + + + + Attempts to discover and load the associated with the given + type. This method is intended to be used by tooling to ensure that + the correct configuration is loaded into the app domain. Tooling should use this method + before accessing the property. + + A type to use for configuration discovery. + + + + Attempts to discover and load the from the given assembly. + This method is intended to be used by tooling to ensure that the correct configuration is loaded into + the app domain. Tooling should use this method before accessing the + property. If the tooling knows the type being used, then the + method should be used since it gives a greater chance that + the correct configuration will be found. + + An to use for configuration discovery. + + + + Occurs during EF initialization after the DbConfiguration has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that this event should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The exceptions to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here. + + The resolver to add. + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + + A implementation is automatically registered as a default resolver + when it is added with a call to . This allows EF providers to act as + resolvers for other services that may need to be overridden by the provider. + + The resolver to add. + + + + Gets the that is being used to resolve service + dependencies in the Entity Framework. + + + + + Call this method from the constructor of a class derived from to register + an Entity Framework provider. + + + Note that the provider is both registered as a service itself and also registered as a default resolver with + a call to AddDefaultResolver. This allows EF providers to act as resolvers for other services that + may need to be overridden by the provider. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register + an ADO.NET provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolvers for + and . This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + A function that returns a new instance of an execution strategy. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A function that returns a new instance of an execution strategy. + A string that will be matched against the server name in the connection string. + + + + Call this method from the constructor of a class derived from to register a + . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + A string that will be matched against the server name in the connection string. + + + + Sets the that is used to create connections by convention if no other + connection string or connection is given to or can be discovered by . + Note that a default connection factory is set in the app.config or web.config file whenever the + EntityFramework NuGet package is installed. As for all config file settings, the default connection factory + set in the config file will take precedence over any setting made with this method. Therefore the setting + must be removed from the config file before calling this method will have any effect. + Call this method from the constructor of a class derived from to change + the default connection factory being used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The connection factory. + + + + Call this method from the constructor of a class derived from to + set the pluralization service. + + The pluralization service to use. + + + + Call this method from the constructor of a class derived from to + set the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + + Calling this method is equivalent to calling . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is typically used by providers to register an associated SQL generator for Code First Migrations. + It is different from setting the generator in the because it allows + EF to use the Migrations pipeline to create a database even when there is no Migrations configuration in the project + and/or Migrations are not being explicitly used. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + A delegate that returns a new instance of the SQL generator each time it is called. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows provider manifest tokens to + be obtained from connections without necessarily opening the connection. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The manifest token resolver. + + + + Call this method from the constructor of a class derived from to set + a factory for implementations of which allows custom annotations + represented by instances to be serialized to and from the EDMX XML. + + + Note that an is not needed if the annotation uses a simple string value. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The name of custom annotation that will be handled by this serializer. + A delegate that will be used to create serializer instances. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows a + to be obtained from a in cases where the default implementation is not + sufficient. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The provider factory service. + + + + Call this method from the constructor of a class derived from to set + a as the model cache key factory which allows the key + used to cache the model behind a to be changed. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can + be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The key factory. + + + + Call this method from the constructor of a class derived from to set + a delegate which can be used for + creation of the default for a any + . This default factory will only be used if no factory is + set explicitly in the and if no factory has been registered + for the provider in use using the + + method. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + a delegate which allows for creation of a customized + for the given provider for any + that does not have an explicit factory set. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + the global instance of which will be used whenever a spatial provider is + required and a provider-specific spatial provider cannot be found. Normally, a provider-specific spatial provider + is obtained from the a implementation which is in turn returned by resolving + a service for passing the provider invariant name as a key. However, this + cannot work for stand-alone instances of and since + it is impossible to know the spatial provider to use. Therefore, when creating stand-alone instances + of and the global spatial provider is always used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider and provider + manifest token. + + + Use + to register spatial services for use only when a specific manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The indicating the type of ADO.NET connection for which this spatial provider will be used. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider with any + manifest token. + + + Use + to register spatial services for use when any manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this spatial provider will be used. + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + a factory for the type of to use with . + + + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + instance onto before any commands will be logged. + For more low-level control over logging/interception see and + . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A delegate that will create formatter instances. + + + + Call this method from the constructor of a class derived from to + register an at application startup. Note that interceptors can also + be added and removed at any time using . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The interceptor to register. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Sets a singleton model store implementation (persisted model cache). + + The model store implementation. + + + + Call this method from the constructor of a class derived from to register + a database table existence checker for a given provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The table existence checker to use. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + This attribute can be placed on a subclass of to indicate that the subclass of + representing the code-based configuration for the application is in a different + assembly than the context type. + + + Normally a subclass of should be placed in the same assembly as + the subclass of used by the application. It will then be discovered automatically. + However, if this is not possible or if the application contains multiple context types in different + assemblies, then this attribute can be used to direct DbConfiguration discovery to the appropriate type. + An alternative to using this attribute is to specify the DbConfiguration type to use in the application's + config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. + + + + + Indicates that the given subclass of should be used for code-based configuration + for this application. + + + The type to use. + + + + + Indicates that the subclass of represented by the given assembly-qualified + name should be used for code-based configuration for this application. + + + The type to use. + + + + + Gets the subclass of that should be used for code-based configuration + for this application. + + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to (localdb)\MSSQLLocalDB unless a different DefaultConnectionFactory is registered.) + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + The model that will back this context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + + An existing ObjectContext to wrap with the new context. + + If set to true the ObjectContext is disposed when the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuilder, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns a instance for access to entities of the given type in the context + and the underlying store. + + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the non-generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic instance for access to entities of the given type in the context + and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + + + + Saves all changes made in this context to the underlying database. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + Thrown if the context has been disposed. + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + Collection of validation results for invalid entities. The collection is never null and must not contain null values or results for valid entities. + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation; false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + + User-defined dictionary containing additional info for custom validation. It will be passed to + + and will be exposed as + + . This parameter is optional and can be null. + + Entity validation result. Possibly null when overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Wraps access to the transaction object on the underlying store connection and ensures that the + Entity Framework executes commands on the database within the context of that transaction. + An instance of this class is retrieved by calling BeginTransaction() on the + + object. + + + + + Gets the database (store) transaction that is underlying this context transaction. + + + + + Commits the underlying store transaction + + + + + Rolls back the underlying store transaction + + + + + Cleans up this transaction object and ensures the Entity Framework + is no longer using that transaction. + + + + + Releases the resources used by this transaction object + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this class was called EdmFunctionAttribute in some previous versions of Entity Framework. + + + + + Initializes a new instance of the class. + + The namespace of the mapped-to function. + The name of the mapped-to function. + + + The namespace of the mapped-to function. + The namespace of the mapped-to function. + + + The name of the mapped-to function. + The name of the mapped-to function. + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that this class was called EntityFunctions in some previous versions of Entity Framework. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding + DbContext.OnModelCreating(DbModelBuilder) + . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Configures the default database schema name. This default database schema name is used + for database objects that do not have an explicitly configured schema name. + + The name of the default database schema. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes the specified type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers an entity type as part of the model. + + The type to be registered. + + This method is provided as a convenience to allow entity types to be registered dynamically + without the need to use MakeGenericMethod in order to call the normal generic Entity method. + This method does not allow further configuration of the entity type using the fluent APIs since + these APIs make extensive use of generic type parameters. + + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types + in the model that inherit from or implement the type specified by the generic argument. + This method does not register types as part of the model. + + The type of the entities or complex types that this convention will apply to. + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also known as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + when targeting .Net Framework 4 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v6.0 + should be used. + + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also known as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + + The conventions version to use. + + + + + Gets the conventions version. + + + The conventions version. + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + + + + + + + + + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + + + + + + + Returns the equivalent non-generic object. + + The generic set object. + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. + + The type of the context. + + Whether or not the model has changed is determined by the + method. + To seed the database create a derived class and override the Seed method. + + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + Describes the state of an entity. + + + + + The entity is not being tracked by the context. + An entity is in this state immediately after it has been created with the new operator + or with one of the Create methods. + + + + + The entity is being tracked by the context and exists in the database, and its property + values have not changed from the values in the database. + + + + + The entity is being tracked by the context but does not yet exist in the database. + + + + + The entity is being tracked by the context and exists in the database, but has been marked + for deletion from the database the next time SaveChanges is called. + + + + + The entity is being tracked by the context and exists in the database, and some or all of its + property values have been modified. + + + + + A provider-independent service API for HierarchyId type support. + + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Represents hierarchical data. + + + + + The Path separator character + + + + + Constructs an HierarchyId. + + + + + Constructs an HierarchyId with the given canonical string representation value. + + Hierarchyid value. + Canonical string representation + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + Value Condition Less than zero: hid1 is less than hid2. + Zero: hid1 equals hid2. + Greater than zero: hid1 is greater than hid2. + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are equal, false otherwise + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are not equal, false otherwise + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a value-based hash code, to allow HierarchyId to be used in hash tables. + + the hash value of this HierarchyId + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a string representation of the hierarchyid value. + + A string representation of the hierarchyid value. + + + + Implementation of IComparable.CompareTo() + + The object to compare to + 0 if the HierarchyIds are "equal" (i.e., have the same _hierarchyId value) + + + + An implementation of this interface is used to initialize the underlying database when + an instance of a derived class is used for the first time. + This initialization can conditionally create the database and/or seed it with data. + The strategy used is set using the static InitializationStrategy property of the + class. + The following implementations are provided: , + , . + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + An represents the collection of all entities in the context, or that + can be queried from the database, of a given type. is a concrete + implementation of IDbSet. + + + was originally intended to allow creation of test doubles (mocks or + fakes) for . However, this approach has issues in that adding new members + to an interface breaks existing code that already implements the interface without the new members. + Therefore, starting with EF6, no new members will be added to this interface and it is recommended + that be used as the base class for test doubles. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Inherit from this class to create a service that allows for code generation of custom annotations as part of + scaffolding Migrations. The derived class should be set onto the . + + + Note that an is not needed if the annotation uses a simple string value, + or if calling ToString on the annotation object is sufficient for use in the scaffolded Migration. + + + + + Override this method to return additional namespaces that should be included in the code generated for the + scaffolded migration. The default implementation returns an empty enumeration. + + The names of the annotations that are being included in the generated code. + A list of additional namespaces to include. + + + + Implement this method to generate code for the given annotation value. + + The name of the annotation for which a value is being generated. + The annotation value. + The writer to which generated code should be written. + + + + Represents a pair of annotation values in a scaffolded or hand-coded . + + + Code First allows for custom annotations to be associated with columns and tables in the + generated model. This class represents a pair of annotation values in a migration such + that when the Code First model changes the old annotation value and the new annotation + value can be provided to the migration and used in SQL generation. + + + + + Creates a new pair of annotation values. + + The old value of the annotation, which may be null if the annotation has just been created. + The new value of the annotation, which may be null if the annotation has been deleted. + + + + Gets the old value of the annotation, which may be null if the annotation has just been created. + + + + + Gets the new value of the annotation, which may be null if the annotation has been deleted. + + + + + + + + + + + Returns true if both annotation pairs contain the same values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if both pairs contain the same values. + + + + Returns true if the two annotation pairs contain different values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if the pairs contain different values. + + + + Returned by and related methods to indicate whether or + not one object does not conflict with another such that the two can be combined into one. + + + If the two objects are not compatible then information about why they are not compatible is contained + in the property. + + + + + Creates a new instance. + + Indicates whether or not the two tested objects are compatible. + + An error message indicating how the objects are not compatible. Expected to be null if isCompatible is true. + + + + + True if the two tested objects are compatible; otherwise false. + + + + + If is true, then returns an error message indicating how the two tested objects + are incompatible. + + + + + Implicit conversion to a bool to allow the result object to be used directly in checks. + + The object to convert. + True if the result is compatible; false otherwise. + + + + Types used as custom annotations can implement this interface to indicate that an attempt to use + multiple annotations with the same name on a given table or column may be possible by merging + the multiple annotations into one. + + + Normally there can only be one custom annotation with a given name on a given table or + column. If a table or column ends up with multiple annotations, for example, because + multiple CLR properties map to the same column, then an exception will be thrown. + However, if the annotation type implements this interface, then the two annotations will be + checked for compatibility using the method and, if compatible, + will be merged into one using the method. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new merged annotation. This method is + only expected to succeed if returns true. + + The annotation to merge with this one. + A new merged annotation. + + + + Instances of this class are used as custom annotations for representing database indexes in an + Entity Framework model. + + + An index annotation is added to a Code First model when an is placed on + a mapped property of that model. This is used by Entity Framework Migrations to create indexes on + mapped database columns. Note that multiple index attributes on a property will be merged into a + single annotation for the column. Similarly, index attributes on multiple properties that map to the + same column will be merged into a single annotation for the column. This means that one index + annotation can represent multiple indexes. Within an annotation there can be only one index with any + given name. + + + + + The name used when this annotation is stored in Entity Framework metadata or serialized into + an SSDL/EDMX file. + + + + + Creates a new annotation for the given index. + + An index attributes representing an index. + + + + Creates a new annotation for the given collection of indexes. + + Index attributes representing one or more indexes. + + + + Gets the indexes represented by this annotation. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + + Each index annotation contains at most one with a given name. + Two annotations are considered compatible if each IndexAttribute with a given name is only + contained in one annotation or the other, or if both annotations contain an IndexAttribute + with the given name. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new annotation containing the merged indexes. + + + Each index annotation contains at most one with a given name. + The merged annotation will contain IndexAttributes from both this and the other annotation. + If both annotations contain an IndexAttribute with the same name, then the merged annotation + will contain one IndexAttribute with that name. + + The annotation to merge with this one. + A new annotation with indexes from both annotations merged. + + The other annotation contains indexes that are not compatible with indexes in this annotation. + + + + + + + + This class is used to serialize and deserialize objects so that they + can be stored in the EDMX form of the Entity Framework model. + + + An example of the serialized format is: + { Name: 'MyIndex', Order: 7, IsClustered: True, IsUnique: False } { } { Name: 'MyOtherIndex' }. + Note that properties that have not been explicitly set in an index attribute will be excluded from + the serialized output. So, in the example above, the first index has all properties specified, + the second has none, and the third has just the name set. + + + + + Serializes the given into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize which must be an IndexAnnotation object. + The serialized value. + + + + Deserializes the given string back into an object. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + If there is an error reading the serialized value. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Checks if the is tracking any new, deleted, or changed entities or + relationships that will be sent to the database if is called. + + + Functionally, calling this method is equivalent to checking if there are any entities or + relationships in the Added, Updated, or Deleted state. + Note that this method calls unless + has been set to false. + + + True if underlying have changes, else false. + + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from + ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + The context. + + + + A non-generic version of the class. + + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Represents information about a database connection. + + + + + Creates a new instance of DbConnectionInfo representing a connection that is specified in the application configuration file. + + The name of the connection string in the application configuration. + + + + Creates a new instance of DbConnectionInfo based on a connection string. + + The connection string to use for the connection. + The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Describes the origin of the database connection string associated with a . + + + + + The connection string was created by convention. + + + + + The connection string was read from external configuration. + + + + + The connection string was explicitly specified at runtime. + + + + + The connection string was overridden by connection information supplied to DbContextInfo. + + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + + true if lazy loading is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + + true if proxy creation is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is false. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + Gets or sets a value indicating whether the + method is called automatically by methods of and related classes. + The default value is true. + + + true if should be called automatically; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + Provides runtime information about a given type. + + + + + Creates a new instance representing a given type. + + + The type deriving from . + + + + + Creates a new instance representing a given targeting a specific database. + + + The type deriving from . + + Connection information for the database to be used. + + + + Creates a new instance representing a given type. An external list of + connection strings can be supplied and will be used during connection string resolution in place + of any connection strings specified in external configuration files. + + + It is preferable to use the constructor that accepts the entire config document instead of using this + constructor. Providing the entire config document allows DefaultConnectionFactroy entries in the config + to be found in addition to explicitly specified connection strings. + + + The type deriving from . + + A collection of connection strings. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + + + + Creates a new instance representing a given , targeting a specific database. + An external config object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + Connection information for the database to be used. + + + + Creates a new instance representing a given type. A + can be supplied in order to override the default determined provider used when constructing + the underlying EDM model. + + + The type deriving from . + + + A specifying the underlying ADO.NET provider to target. + + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + A can be supplied in order to override the default determined + provider used when constructing the underlying EDM model. This can be useful to prevent EF from + connecting to discover a manifest token. + + + The type deriving from . + + An object representing the config file. + + A specifying the underlying ADO.NET provider to target. + + + + + The concrete type. + + + + + Whether or not instances of the underlying type can be created. + + + + + The connection string used by the underlying type. + + + + + The connection string name used by the underlying type. + + + + + The ADO.NET provider name of the connection used by the underlying type. + + + + + The origin of the connection string used by the underlying type. + + + + + An action to be run on the DbModelBuilder after OnModelCreating has been run on the context. + + + + + If instances of the underlying type can be created, returns + a new instance; otherwise returns null. + + + A instance. + + + + + A non-generic version of the class. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object,object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + The object representing the tracked entity. + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object, object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Provides the base implementation of the retry mechanism for unreliable operations and transient conditions that uses + exponentially increasing delays between retries. + + + A new instance will be created each time an operation is executed. + The following formula is used to calculate the delay after retryCount number of attempts: + min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) + The retryCount starts at 0. + The random factor distributes uniformly the retry attempts from multiple simultaneous operations failing simultaneously. + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + Returns true to indicate that might retry the execution after a failure. + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + A delegate representing an executable operation that doesn't return any results. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + The type of result expected from the executable operation. + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified asynchronous operation while it satisfies the current retry policy. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repeatedly executes the specified asynchronous operation while it satisfies the current retry policy. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Determines whether the operation should be retried and the delay before the next attempt. + + The exception thrown during the last execution attempt. + + Returns the delay indicating how long to wait for before the next execution attempt if the operation should be retried; + null otherwise + + + + + Recursively gets InnerException from as long as it's an + , or + and passes it to + + The type of the unwrapped exception. + The exception to be unwrapped. + A delegate that will be called with the unwrapped exception. + + The result from . + + + + + Determines whether the specified exception represents a transient failure that can be compensated by a retry. + + The exception object to be verified. + + true if the specified exception is considered as transient, otherwise false. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + Gets the name of the property. + The name of the property. + + + + Gets or sets the current value of this property. + + The current value. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Gets the provider information. + + + + + Gets the provider manifest. + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Gets the mapping model. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Base class for persisted model cache. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the default database schema used by a model. + + The type of context representing the model. + The default database schema. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + Setting this value to false for a modified property will revert the change by setting the + current value to the original value. If the result is that no properties of the entity are + marked as modified, then the entity will be marked as Unchanged. + Setting this value to false for properties of Added, Unchanged, or Deleted entities + is a no-op. + + + true if this instance is modified; otherwise, false . + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false . + + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Groups a pair of strings that identify a provider and server version together into a single object. + + + Instances of this class act as the key for resolving a for a specific + provider from a . This is typically used when registering spatial services + in or when the spatial services specific to a provider is + resolved by an implementation of . + + + + + Creates a new object for a given provider invariant name and manifest token. + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + The manifest token is sometimes referred to as a version hint. + + + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + + + + + + + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new DbQuery<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + + + + + + + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + Returns a new instance of the non-generic class for this query. + + The query. + A non-generic version. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a generic version of this class. + + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a non-generic version of this class. + + The type of elements returned by the query. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of the query that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a generic version of this class. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking + and AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a non-generic version of this class. + + The type of entities returned by the query. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking and + AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateConcurrencyException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Exception thrown by when the saving of changes to the database fails. + Note that state entries referenced by this exception are not serialized due to security and accesses to the + state entries after serialization will return null. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Loads or saves models from/into .edmx files at a specified location. + + + + + Initializes a new DefaultDbModelStore instance. + + The parent directory for the .edmx files. + + + + Gets the location of the .edmx files. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the path of the .edmx file corresponding to the specified context type. + + A context type. + The .edmx file path. + + + + Validates the model store is valid. + The default implementation verifies that the .edmx file was last + written after the context assembly was last written. + + The type of context representing the model. + The path of the stored model. + Whether the edmx file should be invalidated. + + + + An that doesn't retry operations if they fail. + + + + + Returns false to indicate that will not retry the execution after a failure. + + + + + Executes the specified operation once. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation once and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation once, without retrying on failure. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + Executes the specified asynchronous operation once, without retrying on failure. + + + The result type of the returned by . + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + A default implementation of that uses the + underlying provider to get the manifest token. + Note that to avoid multiple queries, this implementation using caching based on the actual type of + instance, the property, + and the property. + + + + + + + + Event arguments passed to event handlers. + + + + + Returns a snapshot of the that is about to be locked. + Use the GetService methods on this object to get services that have been registered. + + + + + Call this method to add a instance to the Chain of + Responsibility of resolvers that are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The only exception to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here, unless the + overrideConfigFile is set to true in which case the resolver added here will also override config + file settings. + + The resolver to add. + If true, then the resolver added will take precedence over settings in the config file. + + + + Call this method to add a instance to the Chain of Responsibility + of resolvers that are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + The resolver to add. + + + + Adds a wrapping resolver to the configuration that is about to be locked. A wrapping + resolver is a resolver that incepts a service would have been returned by the resolver + chain and wraps or replaces it with another service of the same type. + + The type of service to wrap or replace. + A delegate that takes the unwrapped service and key and returns the wrapped or replaced service. + + + + + + + + + + + + + + + + An implementation used for resolving + factories. + + + This class can be used by to aid in the resolving + of factories as a default service for the provider. + + The type of execution strategy that is resolved. + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + A string that will be matched against the server name in the connection string. null will match anything. + + A function that returns a new instance of an execution strategy. + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return null. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + This interface is implemented by any object that can resolve a dependency, either directly + or through use of an external container. + + + The public services currently resolved using IDbDependencyResolver are documented here: + http://msdn.microsoft.com/en-us/data/jj680697 + + + + + Attempts to resolve a dependency for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return null and not throw. This + allows resolvers to be used in a Chain of Responsibility pattern such that multiple resolvers + can be asked to resolve a dependency until one finally does. + + The interface or abstract base class that defines the dependency to be resolved. The returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + The resolved dependency, which must be an instance of the given contract type, or null if the dependency could not be resolved. + + + + Attempts to resolve a dependencies for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return an empty enumeration and + not throw. This method differs from in that it returns all registered + services for the given type and key combination. + + The interface or abstract base class that defines the dependency to be resolved. Every returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + All services that resolve the dependency, which must be instances of the given contract type, or an empty enumeration if the dependency could not be resolved. + + + + Extension methods to call the method using + a generic type parameter and/or no name. + + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Implements to resolve a dependency such that it always returns + the same instance. + + The type that defines the contract for the dependency that will be resolved. + + This class is immutable such that instances can be accessed by multiple threads at the same time. + + + + + Constructs a new resolver that will return the given instance for the contract type + regardless of the key passed to the Get method. + + The instance to return. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches exactly the key passed to the Get method. + + The instance to return. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches the key passed to the Get method based on the given predicate. + + The instance to return. + A predicate that takes the key object and returns true if and only if it matches. + + + + + + + + + + An implementation used for resolving + factories. + + + + + Initializes a new instance of + + A function that returns a new instance of a transaction handler. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which the transaction handler will be used. + null will match anything. + + + A string that will be matched against the server name in the connection string. null will match anything. + + + + + If the given type is , then this method will attempt + to return the service to use, otherwise it will return null. When the given type is + , then the key is expected to be a . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + , then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + + + + + + + Provides utility methods for reading from an App.config or Web.config file. + + + + + Initializes a new instance of . + + The configuration to read from. + + + + Gets the specified provider services from the configuration. + + The invariant name of the provider services. + The provider services type name, or null if not found. + + + + Used for design-time scenarios where the user's code needs to be executed inside + of an isolated, runtime-like . + + Instances of this class should be created inside of the guest domain. + Handlers should be created inside of the host domain. To invoke operations, + create instances of the nested classes inside + + + + + Initializes a new instance of the class. Do this inside of the guest + domain. + + The path for the assembly containing the user's code. + The parameter is not used. + + + + Used to get the assembly-qualified name of the DbProviderServices type for the + specified provider invariant name. + + + + + Represents an operation. + + + + + Initializes a new instance of the class. + + An object to handle callbacks during the operation. + + + + Executes an action passing exceptions to the handler. + + The action to execute. + + + + Executes an action passing the result or exceptions to the handler. + + The result type. + The action to execute. + + + + Executes an action passing results or exceptions to the handler. + + The type of results. + The action to execute. + + + + Base handler type. Handlers aren't required to use this exact type. Only the + namespace, name, and member signatures need to be the same. This also applies to + handler contracts types + + + + + Indicates whether the specified contract is implemented by this handler. + + The full name of the contract interface. + True if the contract is implemented, otherwise false. + + + + Used to handle reported design-time activity. + + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + A contract handlers can use to accept a single result. + + + + + + Sets the result. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + true if the error was handled; otherwise, false. + + + + Used to handle reported design-time activity. + + + + + Initializes a new instance of the class. + + A callback for . + A callback for . + A callback for . + A callback for . + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + Used with to handle operation results. + + + + + Gets a value indicating whether a result is available. + + A value indicating whether a result is available. + + + + Gets the result. + + The result. + + + + Gets the type of the exception if any. + + The exception type. + + + + Gets the error message if any. + + The error message. + + + + Get the error stack trace if any. + + The stack trace. + + + + Invoked when a result is available. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Utility class for reading a metadata model from .edmx. + + + + + Reads a metadata model from .edmx. + + XML reader for the .edmx + Default database schema used by the model. + The loaded metadata model. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + A key used for resolving . It consists of the ADO.NET provider invariant name + and the database server name as specified in the connection string. + + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A string that will be matched against the server name in the connection string. + + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + + + A string that will be matched against the server name in the connection string. + + + + + + + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements of the enumerable sequence to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets the current element in the iteration. + + + + + Defines methods to create and asynchronously execute queries that are described by an + object. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Asynchronously executes the query represented by a specified expression tree. + + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Asynchronously executes the strongly-typed query represented by a specified expression tree. + + The type of the value that results from executing the query. + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + A factory for creating derived instances. Implement this + interface to enable design-time services for context types that do not have a + public default constructor. + At design-time, derived instances can be created in order to enable specific + design-time experiences such as model rendering, DDL generation etc. To enable design-time instantiation + for derived types that do not have a public, default constructor, implement + this interface. Design-time services will auto-discover implementations of this interface that are in the + same assembly as the derived type. + + The type of the context. + + + + Creates a new instance of a derived type. + + An instance of TContext + + + + A strategy that is used to execute a command or query against the database, possibly with logic to retry when a failure occurs. + + + + + Indicates whether this might retry the execution after a failure. + + + + + Executes the specified operation. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation and returns the result. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory. + + + + Determines whether the current cached model key is equal to the specified cached model key. + true if the current cached model key is equal to the specified cached model key; otherwise, false. + The cached model key to compare to the current cached model key. + + + Returns the hash function for this cached model key. + The hash function for this cached model key. + + + + Implement this interface on your context to use custom logic to calculate the key used to lookup an already created model in the cache. + This interface allows you to have a single context type that can be used with different models in the same AppDomain, + or multiple context types that use the same model. + + + + Gets the cached key associated with the provider. + The cached key associated with the provider. + + + + A service for obtaining the correct from a given + . + + + On .NET 4.5 the provider is publicly accessible from the connection. On .NET 4 the + default implementation of this service uses some heuristics to find the matching + provider. If these fail then a new implementation of this service can be registered + on to provide an appropriate resolution. + + + + + Returns the for the given connection. + + The connection. + The provider factory for the connection. + + + + A service for getting a provider manifest token given a connection. + The class is used by default and makes use of the + underlying provider to get the token which often involves opening the connection. + A different implementation can be used instead by adding an + to that may use any information in the connection to return + the token. For example, if the connection is known to point to a SQL Server 2008 database then + "2008" can be returned without opening the connection. + + + + + Returns the manifest token to use for the given connection. + + The connection for which a manifest token is required. + The manifest token to use. + + + + Implement this interface to allow custom annotations represented by instances to be + serialized to and from the EDMX XML. Usually a serializer instance is set using the + method. + + + + + Serializes the given annotation value into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize. + The serialized value. + + + + Deserializes the given string back into the expected annotation value. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to start a transaction. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The isolation level to associate. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + This is the default log formatter used when some is set onto the + property. A different formatter can be used by creating a class that inherits from this class and overrides + some or all methods to change behavior. + + + To set the new formatter create a code-based configuration for EF using and then + set the formatter class to use with . + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + onto before any commands will be logged. + For more low-level control over logging/interception see and + . + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Creates a formatter that will not filter by any and will instead log every command + from any context and also commands that do not originate from a context. + + + This constructor is not used when a delegate is set on . Instead it can be + used by setting the formatter directly using . + + The delegate to which output will be sent. + + + + Creates a formatter that will only log commands the come from the given instance. + + + This constructor must be called by a class that inherits from this class to override the behavior + of . + + + The context for which commands should be logged. Pass null to log every command + from any context and also commands that do not originate from a context. + + The delegate to which output will be sent. + + + + The context for which commands are being logged, or null if commands from all contexts are + being logged. + + + + + Writes the given string to the underlying write delegate. + + The string to write. + + + + This property is obsolete. Using it can result in logging incorrect execution times. Call + instead. + + + + + The stopwatch used to time executions. This stopwatch is started at the end of + , , and + methods and is stopped at the beginning of the , , + and methods. If these methods are overridden and the stopwatch is being used + then the overrides should either call the base method or start/stop the stopwatch themselves. + + The interception context for which the stopwatch will be obtained. + The stopwatch. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + Called whenever a command is about to be executed. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the + context filtering behavior. + + The type of the operation's results. + The command that will be executed. + Contextual information associated with the command. + + + + Called whenever a command has completed executing. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the context + filtering behavior. + + The type of the operation's results. + The command that was executed. + Contextual information associated with the command. + + + + Called to log a command that is about to be executed. Override this method to change how the + command is logged to . + + The type of the operation's results. + The command to be logged. + Contextual information associated with the command. + + + + Called by to log each parameter. This method can be called from an overridden + implementation of to log parameters, and/or can be overridden to + change the way that parameters are logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + The parameter to log. + + + + Called to log the result of executing a command. Override this method to change how results are + logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + + + + Does not write to log unless overridden. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that began the transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was opened. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was closed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + + + + + + + + + + + + A simple logger for logging SQL and other database operations to the console or a file. + A logger can be registered in code or in the application's web.config /app.config file. + + + + + Creates a new logger that will send log output to the console. + + + + + Creates a new logger that will send log output to a file. If the file already exists then + it is overwritten. + + A path to the file to which log output will be written. + + + + Creates a new logger that will send log output to a file. + + A path to the file to which log output will be written. + True to append data to the file if it exists; false to overwrite the file. + + + + Stops logging and closes the underlying file if output is being written to a file. + + + + + Stops logging and closes the underlying file if output is being written to a file. + + + True to release both managed and unmanaged resources; False to release only unmanaged resources. + + + + + Starts logging. This method is a no-op if logging is already started. + + + + + Stops logging. This method is a no-op if logging is not started. + + + + + Called to start logging during Entity Framework initialization when this logger is registered. + as an . + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when executing commands. It is provided publicly so that + code that runs outside of the core EF assemblies can opt-in to command interception/tracing. This is + typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls into + implementations. + + + An instance of this class is passed to the dispatch methods of + and does not contain mutable information such as the result of the operation. This mutable information + is obtained from the that is passed to the interceptors. + Instances of this class are publicly immutable. To add contextual information use one of the + With... or As... methods to create a new interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The that will be used or has been used to execute the command with a + . This property is only used for + and its async counterparts. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations including the result of the operation. + + The type of the operation's results. + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Base class that implements . This class is a convenience for + use when only one or two methods of the interface actually need to have any implementation. + + + + + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The original tree created by Entity Framework. Interceptors can change the + property to change the tree that will be used, but the + will always be the tree created by Entity Framework. + + + + + The command tree that will be used by Entity Framework. This starts as the tree contained in the + the property but can be set by interceptors to change + the tree that will be used by Entity Framework. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + setting . + + The connection on which the operation will be executed. + Information about the context of the call being made, including the value to be set. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token. + A task that represents the asynchronous operation. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type on a . + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Provides access to all dispatchers through the fluent API. + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + This is the registration point for interceptors. Interceptors + receive notifications when EF performs certain operations such as executing commands against + the database. For example, see . + + + + + Registers a new to receive notifications. Note that the interceptor + must implement some interface that extends from to be useful. + + The interceptor to add. + + + + Removes a registered so that it will no longer receive notifications. + If the given interceptor is not registered, then this is a no-op. + + The interceptor to remove. + + + + This is the entry point for dispatching to interceptors. This is usually only used internally by + Entity Framework but it is provided publicly so that other code can make sure that registered + interceptors are called when operations are performed on behalf of EF. For example, EF providers + a may make use of this when executing commands. + + + + + Represents contextual information associated with calls into + implementations. + + + Note that specific types/operations that can be intercepted may use a more specific + interception context derived from this class. For example, if SQL is being executed by + a , then the DbContext will be contained in the + instance that is passed to the methods + of . + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. See + + The context from which to copy state. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item if + a single has been used to construct multiple + instances. + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item when + EF has created a new for use in database creation and initialization, or + if a single is used with multiple . + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + True if the operation is being executed asynchronously, otherwise false. + + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + Call this method when creating a copy of an interception context in order to add new state + to it. Using this method instead of calling the constructor directly ensures virtual dispatch + so that the new type will have the same type (and any specialized state) as the context that + is being cloned. + + A new context with all state copied. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The connection on which the transaction was started + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The connection on which the transaction was started. + A new interception context that also contains the connection on which the transaction was started. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to enlist a connection. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The transaction to be used in the invocation. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework executes commands. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework creates command trees. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called after a new has been created. + The tree that is used after interception can be changed by setting + while intercepting. + + + Command trees are created for both queries and insert/update/delete commands. However, query + command trees are cached by model which means that command tree creation only happens the + first time a query is executed and this notification will only happen at that time + + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework loads the application's . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Occurs during EF initialization after the has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that an interceptor of this type should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework performs operations on a . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is invoked. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The transaction used by Entity Framework can be changed by setting + . + + The connection that began the transaction. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was closed. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is set. + + The connection. + Contextual information associated with the call. + + + + Called after is set. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being disposed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was disposed. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection. + Contextual information associated with the call. + + + + Called before or its async counterpart is invoked. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + + The connection that was opened. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + This is the base interface for all interfaces that provide interception points for various + different types and operations. For example, see . + Interceptors are registered on the class. + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework commits or rollbacks a transaction. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being disposed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was disposed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + Represents contextual information associated with calls that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type . + + + An instance of this class is passed to the dispatch methods and does not contain mutable information such as + the result of the operation. This mutable information is obtained from the + that is passed to the interceptors. Instances of this class are publicly immutable. To add contextual information + use one of the With... or As... methods to create a new interception context containing the new information. + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The value that will be assigned to the target property. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Used by and when resolving + a provider invariant name from a . + + + + Gets the name of the provider. + The name of the provider. + + + + Instances of this class are used to create DbConnection objects for + SQL Server LocalDb based on a given database name or connection string. + + + An instance of this class can be set on the class or in the + app.config/web.config for the application to cause all DbContexts created with no + connection information or just a database name to use SQL Server LocalDb by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + The connection string to use for options to the database other than the 'Initial Catalog', 'Data Source', and 'AttachDbFilename'. The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the database name when CreateConnection is called. The 'Data Source' will be set based on the LocalDbVersion argument. + + + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + The default is 'Integrated Security=True;'. + + + + + Creates a connection for SQL Server LocalDb based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a mapping view. + + + + + Creates a instance having the specified entity SQL. + + A string that specifies the entity SQL. + + + + Gets the entity SQL. + + + + + Base abstract class for mapping view cache implementations. + Derived classes must have a parameterless constructor if used with . + + + + + Gets a hash value computed over the mapping closure. + + + + + Gets a view corresponding to the specified extent. + + An that specifies the extent. + A that specifies the mapping view, + or null if the extent is not associated with a mapping view. + + + + Specifies the means to create concrete instances. + + + + + Creates a generated view cache instance for the container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + + A that specifies the generated view cache. + + + + + Defines a custom attribute that specifies the mapping view cache type (subclass of ) + associated with a context type (subclass of or ). + The cache type is instantiated at runtime and used to retrieve pre-generated views in the + corresponding context. + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + + A subclass of . + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + The assembly qualified full name of the cache type. + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Applies the convention to the given model. + + The container to apply the convention to. + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Compares objects using reference equality. + + + + + Gets the default instance. + + + + + Represents a custom pluralization term to be used by the + + + + + Get the singular. + + + + + Get the plural. + + + + + Create a new instance + + A non null or empty string representing the singular. + A non null or empty string representing the plural. + + + + Default pluralization service implementation to be used by Entity Framework. This pluralization + service is based on English locale. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + A collection of user dictionary entries to be used by this service.These inputs + can customize the service according the user needs. + + + + Returns the plural form of the specified word. + The plural form of the input parameter. + The word to be made plural. + + + Returns the singular form of the specified word. + The singular form of the input parameter. + The word to be made singular. + + + + Pluralization services to be used by the EF runtime implement this interface. + By default the is used, but the pluralization service to use + can be set in a class derived from . + + + + + Pluralize a word using the service. + + The word to pluralize. + The pluralized word + + + + Singularize a word using the service. + + The word to singularize. + The singularized word. + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + The exception that is thrown when the action failed again after being retried the configured number of times. + + + + + Initializes a new instance of the class with no error message. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use its default for the database file location. + The connection string to use for options to the database other than the 'Data Source'. The Data Source will be prepended to this string based on the database name when CreateConnection is called. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True;'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will be prepended to this string based on the database name when CreateConnection is called. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True;'. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Implemented by Entity Framework providers and used to check whether or not tables exist + in a given database. This is used by database initializers when determining whether or not to + treat an existing database as empty such that tables should be created. + + + + + When overridden in a derived class checks where the given tables exist in the database + for the given connection. + + + The context for which table checking is being performed, usually used to obtain an appropriate + . + + + A connection to the database. May be open or closed; should be closed again if opened. Do not + dispose. + + The tables to check for existence. + The name of the EdmMetadata table to check for existence. + True if any of the model tables or EdmMetadata table exists. + + + + Helper method to get the table name for the given s-space . + + The s-space entity set for the table. + The table name. + + + + Thrown when an error occurs committing a . + + + + + Initializes a new instance of + + + + + Initializes a new instance of + + The exception message. + + + + Initializes a new instance of + + The exception message. + The inner exception. + + + + Initializes a new instance of the class. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + A transaction handler that allows to gracefully recover from connection failures + during transaction commit by storing transaction tracing information in the database. + It needs to be registered by using . + + + This transaction handler uses to store the transaction information + the schema used can be configured by creating a class derived from + that overrides and passing it to the constructor of this class. + + + + + Initializes a new instance of the class using the default . + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes a new instance of the class. + + The transaction context factory. + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Gets the transaction context. + + + The transaction context. + + + + + The map between the store transactions and the transaction tracking objects + + + + + Creates a new instance of an to use for quering the transaction log. + If null the default will be used. + + An instance or null. + + + + + + + + + + Gets the number of transactions to be executed on the context before the transaction log will be cleaned. + The default value is 20. + + + + + + + + + + + Stores the tracking information for the new transaction to the database in the same transaction. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + If there was an exception thrown checks the database for this transaction and rethrows it if not found. + Otherwise marks the commit as succeeded and queues the transaction information to be deleted. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was rolled back. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was disposed. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + A task that represents the asynchronous operation. + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + The cancellation token. + A task that represents the asynchronous operation. + + + + Adds the specified transaction to the list of transactions that can be removed from the database + + The transaction to be removed from the database. + + + + Removes the transactions marked for deletion. + + + + + Asynchronously removes the transactions marked for deletion. + + A task that represents the asynchronous operation. + + + + Asynchronously removes the transactions marked for deletion. + + The cancellation token. + A task that represents the asynchronous operation. + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + The cancellation token. + A task that represents the asynchronous operation. + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + This class is used by to write and read transaction tracing information + from the database. + To customize the definition of the transaction table you can derive from + this class and override . Derived classes can be registered + using . + + + By default EF will poll the resolved to check wether the database schema is compatible and + will try to modify it accordingly if it's not. To disable this check call + Database.SetInitializer<TTransactionContext>(null) where TTransactionContext is the type of the resolved context. + + + + + Initializes a new instance of the class. + + The connection used by the context for which the transactions will be recorded. + + + + Gets or sets a that can be used to read and write instances. + + + + + + + + The base class for interceptors that handle the transaction operations. Derived classes can be registered using + or + . + + + + + Initializes a new instance of the class. + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + The connection to use for the initialization. + + This method is called by migrations. It is important that no action is performed on the + specified context that causes it to be initialized. + + + + + Gets the context. + + + The for which the transaction operations will be handled. + + + + + Gets the context. + + + The for which the transaction operations will be handled, could be null. + + + + + Gets the connection. + + + The for which the transaction operations will be handled. + + + This connection object is only used to determine whether a particular operation needs to be handled + in cases where a context is not available. + + + + + + + + Gets or sets a value indicating whether this transaction handler is disposed. + + + true if disposed; otherwise, false. + + + + + Releases the resources used by this transaction handler. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Checks whether the supplied interception context contains the target context + or the supplied connection is the same as the one used by the target context. + + A connection. + An interception context. + + true if the supplied interception context contains the target context or + the supplied connection is the same as the one used by the target context if + the supplied interception context doesn't contain any contexts; false otherwise. + + + Note that calling this method will trigger initialization of any DbContext referenced from the + + + + + When implemented in a derived class returns the script to prepare the database + for this transaction handler. + + A script to change the database schema for this transaction handler. + + + + Can be implemented in a derived class. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection that was disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being rolled back. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Rrepresents a transaction + + + + + A unique id assigned to a transaction object. + + + + + The local time when the transaction was started. + + + + + + + + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Allows configuration to be performed for an complex type in a model. + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same ComplexTypeConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows derived configuration classes for entities and complex types to be registered with a + . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Discovers all types that inherit from or + in the given assembly and adds an instance + of each discovered type to this registrar. + + + Note that only types that are abstract or generic type definitions are skipped. Every + type that is discovered and added must provide a parameterless constructor. + + The assembly containing model configurations to add. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows the conventions used by a instance to be customized. + The default conventions can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + + + + Discover all conventions in the given assembly and add them to the . + + + This method add all conventions ordered by type name. The order in which conventions are added + can have an impact on how they behave because it governs the order in which they are run. + All conventions found must have a parameterless public constructor. + + The assembly containing conventions to be added. + + + + Enables one or more conventions for the . + + The conventions to be enabled. + + + + Enables a convention for the . + + The type of the convention to be enabled. + + + + Enables a convention for the . This convention + will run after the one specified. + + The type of the convention after which the enabled one will run. + The convention to enable. + + + + Enables a configuration convention for the . This convention + will run before the one specified. + + The type of the convention before which the enabled one will run. + The convention to enable. + + + + Disables one or more conventions for the . + + The conventions to be disabled. + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the + System.Data.Entity.ModelConfiguration.Conventions namespace. + + The type of the convention to be disabled. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties in a model. + + + + + Filters the properties that this convention applies to based on a predicate. + + A function to test each property for a condition. + + A instance so that multiple calls can be chained. + + + + + Filters the properties that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each property. If the value is null, the + property will be filtered out. + + + A instance so that multiple calls can be chained. + + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties of entity types in a model and a captured value. + + The type of the captured value. + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model. + + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type. + + The common type of the entity types that this convention applies to. + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model and a captured value. + + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type and a + captured value. + + The common type of the entity types that this convention applies to. + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to modify a relationship. + + The type of the entity that the relationship is being configured from. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Creates a convention that configures stored procedures to be used to delete entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to insert entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a convention that configures stored procedures to be used to update entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to delete entities. + + The type of the entity that the stored procedure can be used to delete. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to insert entities. + + The type of the entity that the stored procedure can be used to insert. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + + Sets the name of the stored procedure. + + Name of the procedure. + The same configuration instance so that multiple calls can be chained. + + + + Sets the name of the stored procedure. + + Name of the procedure. + Name of the schema. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + Configures stored procedure used to insert relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Performs configuration of a stored procedure uses to modify an entity in the database. + + + + + Allows configuration to be performed for a stored procedure that is used to modify entities. + + The type of the entity that the stored procedure can be used to modify. + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to update entities. + + The type of the entity that the stored procedure can be used to update. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + Initializes a new instance of the class. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + A lambda expression to an anonymous type that contains the properties to be mapped. C#: t => new { t.Id, t.Property1, t.Property2 } VB.Net: Function(t) New With { p.Id, t.Property1, t.Property2 } + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Re-maps all properties inherited from base types. + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name to be mapped to. + + Name of the table. + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + The same configuration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + A lambda expression representing the property being used to discriminate between types. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object to further configure the discriminator condition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a column with length facets for an entity type or complex type. This configuration functionality is exposed by the Code First Fluent API, see . + + + + Configures the column to allow the maximum length supported by the database provider. + The same instance so that multiple calls can be chained. + + + Configures the column to have the specified maximum length. + The same instance so that multiple calls can be chained. + The maximum length for the column. Setting the value to null will remove any maximum length restriction from the column and a default length will be used for the database column. + + + Configures the column to be fixed length. + The same instance so that multiple calls can be chained. + + + Configures the column to be variable length. + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a primitive column from an entity type. + + + + Configures the primitive column to be optional. + The same instance so that multiple calls can be chained. + + + Configures the primitive column to be required. + The same instance so that multiple calls can be chained. + + + Configures the data type of the primitive column used to store the property. + The same instance so that multiple calls can be chained. + The name of the database provider specific data type. + + + Configures the order of the primitive column used to store the property. This method is also used to specify key ordering when an entity type has a composite key. + The same instance so that multiple calls can be chained. + The order that this column should appear in the database table. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. Setting 'null' will result in a default length being used for the column. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + Value indicating if the column supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the column. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an index. + + + + + Configures the index to be unique. + + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures whether the index will be unique. + + Value indicating if the index should be unique or not. + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a primary key index. + + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A lambda expression representing the navigation property on the other end of the relationship. + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + A lambda expression representing the property to be used as the foreign key. If the foreign key is made up of multiple properties then specify an anonymous type including the properties. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the principal entity type. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for a database column that has been configured with . + The annotation value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The name of the column that was configured with the HasKey method. + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the join table. The annotation value can later be used when + processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key points to the parent entity of the navigation property specified in the HasMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key points to the parent entity of the navigation property specified in the WithMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + Determines whether the specified object is equal to the current object. + true if the specified object is equal to the current object; otherwise, false. + The object to compare with the current object. + + + + + + + + + + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + The type of the parent entity of the navigation property specified in the HasMany call. + The type of the parent entity of the navigation property specified in the WithMany call. + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + The default conventions for procedure and parameter names will be used. + + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + + + Configuration to override the default conventions for procedure and parameter names. + + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property in a mapping fragment. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the database column used to store the property, in a mapping fragment. + + The name of the column. + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via lightweight conventions. + + + + + Gets the for this property. + + + + + Configures the name of the database column used to store the property. + + The name of the column. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + + The same instance so that multiple calls can be chained. + + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be used as an optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures how values for the property are generated by the database. + + The pattern used to generate values for the property in the database. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to support Unicode string content. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to be variable length. + Properties are variable length by default. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to allow the maximum length supported by the database provider. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures this property to be part of the entity type's primary key. + + + The same instance so that + multiple calls can be chained. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The name of the property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Configures a property that is defined on this type. + + The name of the property being configured. + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The property being configured. + A configuration object that can be used to configure the property. + + + + Configures the primary key property for this entity type. + + The name of the property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property for this entity type. + + The property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The names of the properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured or if any + property does not exist. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + A type inherited by the entity type. + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + + The same instance so that multiple calls can be chained. + + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A general purpose class for Code First conventions that read attributes from .NET properties + and generate column annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create column annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each column. + + + + A general purpose class for Code First conventions that read attributes from .NET types + and generate table annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create table annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each table. + + + + Convention to process instances of found on properties in the model + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on foreign key properties in the model. + + + + + + + + A convention for discovering attributes on properties and generating + column annotations in the model. + + + + + Constructs a new instance of the convention. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Base class for conventions that process CLR attributes found on primitive properties in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The configuration for the property that has the attribute. + The attribute. + + + + Base class for conventions that process CLR attributes found on properties of types in the model. + + + Note that the derived convention will be applied for any non-static property on the mapped type that has + the specified attribute, even if it wasn't included in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The member info for the property that has the attribute. + The configuration for the class that contains the property. + The attribute. + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a class that has an attribute of type TAttribute applied. + + The configuration for the class that contains the property. + The attribute. + + + + A convention that doesn't override configuration. + + + + + The derived class can use the default constructor to apply a set rule of that change the model configuration. + + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model that derive from or implement the specified type. + + The type of the entities that this convention will apply to. + A configuration object for the convention. + This method does not add new types to the model. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + + + + Convention to apply column ordering specified via + + or the API. + + + + + + + + Validates the ordering configuration supplied for columns. + This base implementation is a no-op. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to apply column ordering specified via + + or the API. This convention throws if a duplicate configured column order + is detected. + + + + + Validates the ordering configuration supplied for columns to ensure + that the same ordinal was not supplied for two columns. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to introduce indexes for foreign keys. + + + + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Initializes a new instance of with the default precision and scale. + + + + + Initializes a new instance of with the specified precision and scale. + + Precision + Scale + + + + + + + Convention to move primary key properties to appear first. + + + + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + + + + Base class for conventions that discover foreign key properties. + + + + + Returns true if the convention supports pairs of entity types that have multiple associations defined between them. + + + + + When overridden returns true if should be part of the foreign key. + + The association type being configured. + The dependent end. + The candidate property on the dependent end. + The principal end entity type. + A key property on the principal end that is a candidate target for the foreign key. + true if dependentProperty should be a part of the foreign key; otherwise, false. + + + + + + + Convention to process instances of found on navigation properties in the model. + + + + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + + + + Base class for conventions that discover primary key properties. + + + + + + + + When overridden returns the subset of properties that will be part of the primary key. + + The entity type. + The primitive types of the entities + The properties that should be part of the primary key. + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + + + + + + + Convention to enable cascade delete for any required relationships. + + + + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + + + + Convention to set a maximum length for properties whose type supports length facets. The default value is 128. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The maximum length of properties. + + + + + + + + + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The default maximum length for properties. + + + + + + + + + + Convention to configure integer primary keys to be identity. + + + + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + + + + A convention that operates on the conceptual section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Identifies conventions that can be added to or removed from a instance. + + + Note that implementations of this interface must be immutable. + + + + + A convention that operates on the database section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Allows configuration to be performed for an entity type in a model. + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + The entity type being configured. + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + A builder to configure the key. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures index property(s) for this entity type. + + The type of the index. + A lambda expression representing the property to apply an index to. C#: t => t.Id VB.Net: Function(t) t.Id If the index is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The IndexConfiguration instance so that the index can be further configured. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + The properties of an entity can be split between multiple tables using multiple Map calls. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + Initializes a new instance of class serialization info and streaming context. + The serialization info. + The streaming context. + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + An implementation of that will use Code First Migrations + to update the database to the latest version. + + The type of the context. + The type of the migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will use + the connection information from a context constructed using the default constructor + or registered factory if applicable + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + Also allows specifying migrations configuration to use during initialization. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + Migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will + use a specific connection string from the configuration file to connect to + the database to perform the migration. + + The name of the connection string to use for migration. + + + + + + + Helper class that is used to configure a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new column definition to store Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + Value indicating whether or not this column should be configured as a timestamp. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The numeric precision of the column. + The numeric scale of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Value indicating whether or not the database will generate values for this column during insert. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the column supports Unicode content. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store hierarchyid data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to configure a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new parameter definition to pass Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The numeric precision of the parameter. + The numeric scale of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the parameter supports Unicode content. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to further configure a table being created from a CreateTable call on + + . + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The type that represents the table's columns. + + + + Initializes a new instance of the TableBuilder class. + + The table creation operation to be further configured. + The migration the table is created in. + + + + Specifies a primary key for the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The name of the primary key. If null is supplied, a default name will be generated. + A value indicating whether or not this is a clustered primary key. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies an index to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be indexed. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties are to be indexed then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + The name of the index. + A value indicating whether or not this is a unique index. + A value indicating whether or not this is a clustered index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies a foreign key constraint to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table that the foreign key constraint targets. + A lambda expression representing the properties of the foreign key. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties make up the foreign key then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + A value indicating whether or not cascade delete should be configured on the foreign key constraint. + The name of this foreign key constraint. If no name is supplied, a default name will be calculated. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Base class for code-based migrations. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operations to be performed during the upgrade process. + + + + + Operations to be performed during the downgrade process. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + The parameters in this create stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The parameters in this alter stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing stored procedure with the specified name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the procedure to drop. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + Custom annotations that exist on the table to be created. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to handle changes in the annotations defined on tables. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The column this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The columns this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The name of the foreign key constraint in the database. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a table to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be moved. Schema name is optional, if no schema is specified then dbo is + assumed. + + The schema the table is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a stored procedure to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be moved. Schema name is optional, if no schema is specified + then dbo is assumed. + + The schema the stored procedure is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a table. To change the schema of a table use MoveTable. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be renamed. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The new name for the table. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a stored procedure. To change the schema of a stored procedure use MoveStoredProcedure + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be renamed. Schema name is optional, if no schema is specified + then dbo is assumed. + + + The new name for the stored procedure. Schema name is optional, if no schema is specified then + dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the column to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the column to be renamed. + The new name for the column. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to add a column to an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to add the column to. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be added. + + An action that specifies the column to be added. i.e. c => c.Int(nullable: false, + defaultValue: 3) + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter the definition of an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table the column exists in. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be changed. + + An action that specifies the new definition for the column. i.e. c => c.String(nullable: + false, defaultValue: "none") + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The primary key column. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key based on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The primary key columns. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that does not have the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the primary key to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that was created with the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on a single column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the columns to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the index to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column(s) the index targets. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename an index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the index to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the index to be renamed. + The new name for the index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL command or set of SQL commands. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The SQL file to be executed. Relative paths are assumed to be relative to the current AppDomain's BaseDirectory. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL resource file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The manifest resource name of the SQL resource file to be executed. + + The assembly containing the resource file. The calling assembly is assumed if not provided. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + + + + + + + + + + + + + + + + + + + Configuration relating to the use of migrations for a given model. + You will typically create a configuration class that derives + from rather than + using this class. + + + + + The default directory that migrations are stored in. + + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Gets or sets a value indicating if automatic migrations can be used when migrating the database. + + + + + Gets or sets the string used to distinguish migrations belonging to this configuration + from migrations belonging to other configurations using the same database. + This property enables migrations from multiple different models to be applied to a single database. + + + + + Gets or sets a value indicating if data loss is acceptable during automatic migration. + If set to false an exception will be thrown if data loss may occur as part of an automatic migration. + + + + + Adds a new SQL generator to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + The SQL generator to be used. + + + + Gets the SQL generator that is set to be used with a given database provider. + + Name of the database provider to get the SQL generator for. + The SQL generator that is set for the database provider. + + + + Adds a new factory for creating instances to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + + A factory for creating instances for a given and + representing the default schema. + + + + + Gets the history context factory that is set to be used with a given database provider. + + Name of the database provider to get thefactory for. + The history context factory that is set for the database provider. + + + + Gets or sets the derived DbContext representing the model to be migrated. + + + + + Gets or sets the namespace used for code-based migrations. + + + + + Gets or sets the sub-directory that code-based migrations are stored in. + Note that this property must be set to a relative path for a sub-directory under the + Visual Studio project root; it cannot be set to an absolute path. + + + + + Gets or sets the code generator to be used when scaffolding migrations. + + + + + Gets or sets the assembly containing code-based migrations. + + + + + Gets or sets a value to override the connection of the database to be migrated. + + + + + Gets or sets the timeout value used for the individual commands within a + migration. + + + The time in seconds to wait for the command to execute. A null value indicates + that the default value of the underlying provider will be used. + + + + + Configuration relating to the use of migrations for a given model. + + The context representing the model that this configuration applies to. + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Runs after upgrading to the latest migration to allow seed data to be updated. + + + Note that the database may already contain seed data when this method runs. This means that + implementations of this method must check whether or not seed data is present and/or up-to-date + and then only make changes if necessary and in a non-destructive way. The + + can be used to help with this, but for seeding large amounts of data it may be necessary to do less + granular checks if performance is an issue. + If the database + initializer is being used, then this method will be called each time that the initializer runs. + If one of the , , + or initializers is being used, then this method will not be + called and the Seed method defined in the initializer should be used instead. + + Context to be used for updating seed data. + + + + + + + + + + + + + + + + + + + DbMigrator is used to apply existing migrations to a database. + DbMigrator can be used to upgrade and downgrade to any given migration. + To scaffold migrations based on changes to your model use + + + + + Migration Id representing the state of the database before any migrations are applied. + + + + + Initializes a new instance of the DbMigrator class. + + Configuration to be used for the migration process. + + + + Initializes a new instance of the DbMigrator class using the supplied context. + Use this constructor when applying migrations from code to avoid having migrations attempt + to create a context/connection for you. + + Configuration to be used for the migration process. + The to use. + + + + Gets the configuration that is being used for the migration process. + + + + + Gets all migrations that are defined in the configured migrations assembly. + + The list of migrations. + + + + Gets all migrations that have been applied to the target database. + + The list of migrations. + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + The list of migrations. + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + A set of extension methods for + + + + + Adds or updates entities by key when SaveChanges is called. Equivalent to an "upsert" operation + from database terminology. + This method can be useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Adds or updates entities by a custom identification expression when SaveChanges is called. + Equivalent to an "upsert" operation from database terminology. + This method can useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + An expression specifying the properties that should be used when determining whether an Add or Update operation should be performed. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Generates C# code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which using directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to specify the definition for a . + The parameter definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + Base class for providers that generate code for code-based migrations. + + + + + Generates the code that should be added to the users project. + + Unique identifier of the migration. + Operations to be performed by the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Gets the namespaces that must be output as "using" or "Imports" directives to handle + the code generated by the given operations. + + The operations for which code is going to be generated. + An ordered list of namespace names. + + + + Gets the default namespaces that must be output as "using" or "Imports" directives for + any code generated. + + A value indicating if this class is being generated for a code-behind file. + An ordered list of namespace names. + + + + Gets the instances that are being used. + + + + + Scaffolds code-based migrations to apply pending model changes to the database. + + + + + Initializes a new instance of the MigrationScaffolder class. + + Configuration to be used for scaffolding. + + + + Gets or sets the namespace used in the migration's generated code. + By default, this is the same as MigrationsNamespace on the migrations + configuration object passed into the constructor. For VB.NET projects, this + will need to be updated to take into account the project's root namespace. + + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + The scaffolded migration. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The scaffolded migration. + + + + Represents a code-based migration that has been scaffolded and is ready to be written to a file. + + + + + Gets or sets the unique identifier for this migration. + Typically used for the file name of the generated code. + + + + + Gets or sets the scaffolded migration code that the user can edit. + + + + + Gets or sets the scaffolded migration code that should be stored in a code behind file. + + + + + Gets or sets the programming language used for this migration. + Typically used for the file extension of the generated code. + + + + + Gets or sets the subdirectory in the user's project that this migration should be saved in. + + + + + Gets a dictionary of string resources to add to the migration resource file. + + + + + Gets or sets whether the migration was re-scaffolded. + + + + + Represents an exception that occurred while running an operation in another AppDomain in the + . + + + + + Initializes a new instance of the ToolingException class. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the ToolingException class. + + Error that explains the reason for the exception. + The type of the exception that was thrown. + The stack trace of the exception that was thrown. + + + + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the type of the exception that was thrown. + + + + + Gets the stack trace of the exception that was thrown. + + + + + Helper class that is used by design time tools to run migrations related + commands that need to interact with an application that is being edited + in Visual Studio. + Because the application is being edited the assemblies need to + be loaded in a separate AppDomain to ensure the latest version + is always loaded. + The App/Web.config file from the startup project is also copied + to ensure that any configuration is applied. + + + + + Gets or sets an action to be run to log information. + + + + + Gets or sets an action to be run to log warnings. + + + + + Gets or sets an action to be run to log verbose information. + + + + + Initializes a new instance of the ToolingFacade class. + + The name of the assembly that contains the migrations configuration to be used. + The name of the assembly that contains the DbContext to be used. + The namespace qualified name of migrations configuration to be used. + The working directory containing the compiled assemblies. + The path of the config file from the startup project. + The path of the application data directory from the startup project. Typically the App_Data directory for web applications or the working directory for executables. + The connection to the database to be migrated. If null is supplied, the default connection for the context will be used. + + + + Releases all unmanaged resources used by the facade. + + + + + Gets the fully qualified name of all types deriving from . + + All context types found. + + + + Gets the fully qualified name of a type deriving from . + + The name of the context type. If null, the single context type found in the assembly will be returned. + The context type found. + + + + Gets a list of all migrations that have been applied to the database. + + Ids of applied migrations. + + + + Gets a list of all migrations that have not been applied to the database. + + Ids of pending migrations. + + + + Updates the database to the specified migration. + + The Id of the migration to migrate to. If null is supplied, the database will be updated to the latest migration. + Value indicating if data loss during automatic migration is acceptable. + + + + Generates a SQL script to migrate between two migrations. + + The migration to update from. If null is supplied, a script to update the current database will be produced. + The migration to update to. If null is supplied, a script to update to the latest migration will be produced. + Value indicating if data loss during automatic migration is acceptable. + The generated SQL script. + + + + Scaffolds a code-based migration to apply any pending model changes. + + The name for the generated migration. + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + The scaffolded migration. + + + + + + + Releases all resources used by the facade. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Generates VB.Net code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which Imports directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The parameter model definition to generate code for. + Text writer to add the generated code to. + true to include the column name in the definition; otherwise, false. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + To customize the definition of the migrations history table you can derive from + this class and override OnModelCreating. Derived instances can either be registered + on a per migrations configuration basis using , + or globally using . + + + + + The default name used for the migrations history table. + + + + + Initializes a new instance of the HistoryContext class. + If you are creating a derived history context you will generally expose a constructor + that accepts these same parameters and passes them to this base constructor. + + + An existing connection to use for the new context. + + + The default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets the key used to locate a model that was previously built for this context. This is used + to avoid processing OnModelCreating and calculating the model every time a new context instance is created. + By default this property returns the default schema. + In most cases you will not need to override this property. However, if your implementation of OnModelCreating + contains conditional logic that results in a different model being built for the same database provider and + default schema you should override this property and calculate an appropriate key. + + + + + Gets the default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets or sets a that can be used to read and write instances. + + + + + Applies the default configuration for the migrations history table. If you override + this method it is recommended that you call this base implementation before applying your + custom configuration. + + The builder that defines the model for the context being created. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + + + + + Gets or sets the Id of the migration this row represents. + + + + + Gets or sets a key representing to which context the row applies. + + + + + Gets or sets the state of the model after this migration was applied. + + + + + Gets or sets the version of Entity Framework that created this entry. + + + + + Represents an error that occurs when an automatic migration would result in data loss. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents an error that occurs when there are pending model changes after applying the last migration and automatic migration is disabled. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Explicitly implemented by to prevent certain members from showing up + in the IntelliSense of scaffolded migrations. + + + + + Adds a custom to the migration. + Custom operation implementors are encouraged to create extension methods on + that provide a fluent-style API for adding new operations. + + The operation to add. + + + + Provides additional metadata about a code-based migration. + + + + + Gets the unique identifier for the migration. + + + + + Gets the state of the model before this migration is run. + + + + + Gets the state of the model after this migration is run. + + + + + Represents errors that occur inside the Code First Migrations pipeline. + + + + + Initializes a new instance of the MigrationsException class. + + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the MigrationsException class with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + Base class for loggers that can be used for the migrations process. + + + + + Logs an informational message. + + The message to be logged. + + + + Logs a warning that the user should be made aware of. + + The message to be logged. + + + + Logs some additional information that should only be presented to the user if they request verbose output. + + The message to be logged. + + + + Thrown when an operation can't be performed because there are existing migrations that have not been applied to the database. + + + + + Initializes a new instance of the MigrationsPendingException class. + + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Base class for decorators that wrap the core + + + + + Initializes a new instance of the MigratorBase class. + + The migrator that this decorator is wrapping. + + + + Gets a list of the pending migrations that have not been applied to the database. + + List of migration Ids + + + + Gets the configuration being used for the migrations process. + + + + + Updates the target database to the latest migration. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets a list of the migrations that are defined in the assembly. + + List of migration Ids + + + + Gets a list of the migrations that have been applied to the database. + + List of migration Ids + + + + Decorator to provide logging during migrations operations.. + + + + + Initializes a new instance of the MigratorLoggingDecorator class. + + The migrator that this decorator is wrapping. + The logger to write messages to. + + + + Decorator to produce a SQL script instead of applying changes to the database. + Using this decorator to wrap will prevent + from applying any changes to the target database. + + + + + Initializes a new instance of the MigratorScriptingDecorator class. + + The migrator that this decorator is wrapping. + + + + Produces a script to update the database. + + + The migration to update from. If null is supplied, a script to update the + current database will be produced. + + + The migration to update to. If null is supplied, + a script to update to the latest migration will be produced. + + The generated SQL script. + + + + Represents a column being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be added to. + Details of the column being added. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be added to. + + + + + Gets the details of the column being added. + + + + + Gets an operation that represents dropping the added column. + + + + + + + + Represents a foreign key constraint being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddForeignKeyOperation class. + The PrincipalTable, PrincipalColumns, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + The names of the column(s) that the foreign key constraint should target. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if cascade delete should be configured on the foreign key constraint. + + + + + Gets an operation to create an index on the foreign key column(s). + + An operation to add the index. + + + + Gets an operation to drop the foreign key constraint. + + + + + + + + Represents adding a primary key to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the primary key. + + + + + Represents altering an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + An operation to revert this alteration of the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table that the column belongs to. + + + + + Gets the new definition for the column. + + + + + Gets an operation that represents reverting the alteration. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents altering an existing stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Represents changes made to custom annotations on a table. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterTableOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table on which annotations have changed. + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table on which annotations have changed. + + + + + Gets the columns to be included in the table for which annotations have changed. + + + + + Gets the custom annotations that have changed on the table. + + + + + Gets an operation that is the inverse of this one such that annotations will be changed back to how + they were before this operation was applied. + + + + + + + + Represents information about a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the CLR type corresponding to the database type of this column. + + + + + Gets the default value for the CLR type corresponding to the database type of this column. + + + + + Gets or sets a value indicating if this column can store null values. + + + + + Gets or sets a value indicating if values for this column will be generated by the database using the identity pattern. + + + + + Gets or sets a value indicating if this property model should be configured as a timestamp. + + + + + Gets or sets the custom annotations that have changed on the column. + + + + + Determines if this column is a narrower data type than another column. + Used to determine if altering the supplied column definition to this definition will result in data loss. + + The column to compare to. + Details of the database provider being used. + True if this column is of a narrower data type. + + + + Represents creating a database index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateIndexOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets a value indicating if this is a unique index. + + + + + Gets an operation to drop this index. + + + + + + + + Gets or sets whether this is a clustered index. + + + + + A migration operation to add a new stored procedure to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the stored procedure. + + + + + Represents creating a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Custom annotations that exist on the table to be created. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be created. + + + + + Gets the columns to be included in the new table. + + + + + Gets or sets the primary key for the new table. + + + + + Gets custom annotations that exist on the table to be created. + + + + + Gets an operation to drop the table. + + + + + + + + Represents a column being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be dropped from. + + + + + Gets the name of the column to be dropped. + + + + + Gets custom annotations that exist on the column that is being dropped. + + + + + Gets an operation that represents reverting dropping the column. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents a foreign key constraint being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + The PrincipalTable, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc.. + + The operation that represents reverting dropping the foreign key constraint. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the associated index on the foreign key column(s). + + An operation to drop the index. + + + + Gets an operation that represents reverting dropping the foreign key constraint. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The operation that represents reverting dropping the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that represents reverting dropping the index. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping a primary key from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to add the primary key. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Drops a stored procedure from the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to drop. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to drop. + + + The name of the stored procedure to drop. + + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents dropping an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be dropped. + + + + + Gets custom annotations that exist on the table that is being dropped. + + + + + Gets custom annotations that exist on columns of the table that is being dropped. + + + + + Gets an operation that represents reverting dropping the table. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Base class for changes that affect foreign key constraints. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that the foreign key constraint targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the name of the table that the foreign key columns exist in. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + The names of the foreign key column(s). + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this foreign key constraint. + + + + + Gets or sets the name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operation representing DML changes to the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the HistoryOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A sequence of command trees representing the operations being applied to the history table. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + A sequence of commands representing the operations being applied to the history table. + + + + + + + + Common base class for operations affecting indexes. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a default index name based on the supplied column names. + + The column names used to create a default index name. + A default index name. + + + + Initializes a new instance of the IndexOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the table the index belongs to. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the columns that are indexed. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this index. + + + + + Gets or sets the name of this index. + If no name is supplied, a default name will be calculated. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents an operation to modify a database schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MigrationOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" + }'. + + + + + Gets additional arguments that may be processed by providers. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. + + + + + Represents moving a stored procedure to a new schema in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to move. + The new schema for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to move. + + + The name of the stored procedure to move. + + + + + Gets the new schema for the stored procedure. + + + The new schema for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents moving a table from one schema to another. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MoveTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be moved. + Name of the schema to move the table to. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be moved. + + + + + Gets the name of the schema to move the table to. + + + + + Gets an operation that moves the table back to its original schema. + + + + + + + + Used when altering the migrations history table so that data can be moved to the new table. + + + The context key for the model. + + + + + Gets a value that indicates whether this is a system table. + + + true if the table is a system table; otherwise, false. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Represents a migration operation that can not be performed, possibly because it is not supported by the targeted database provider. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets or sets a value indicating whether this instance is out parameter. + + + true if this instance is out parameter; otherwise, false. + + + + + Common base class to represent operations affecting primary keys. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Returns the default name for the primary key. + + The target table name. + The default primary key name. + + + + Initializes a new instance of the PrimaryKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that contains the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the column(s) that make up the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this primary key. + + + + + Gets or sets the name of this primary key. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + + + + Gets or sets whether this is a clustered primary key. + + + + + A migration operation that affects stored procedures. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure. + + + The name of the stored procedure. + + + + + Gets the body of the stored procedure expressed in SQL. + + + The body of the stored procedure expressed in SQL. + + + + + Gets the parameters of the stored procedure. + + + The parameters of the stored procedure. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a property of an entity. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the PropertyModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this property model. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the data type for this property model. + + + + + Gets additional details about the data type of this property model. + This includes details such as maximum length, nullability etc. + + + + + Gets or sets the name of the property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a provider specific data type to use for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the maximum length for this property model. + Only valid for array data types. + + + + + Gets or sets the precision for this property model. + Only valid for decimal data types. + + + + + Gets or sets the scale for this property model. + Only valid for decimal data types. + + + + + Gets or sets a constant value to use as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a SQL expression used as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if this property model is fixed length. + Only valid for array data types. + + + + + Gets or sets a value indicating if this property model supports Unicode characters. + Only valid for textual data types. + + + + + Represents renaming an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the column belongs to. + Name of the column to be renamed. + New name for the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column belongs to. + + + + + Gets the name of the column to be renamed. + + + + + Gets the new name for the column. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the index belongs to. + Name of the index to be renamed. + New name for the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the index belongs to. + + + + + Gets the name of the index to be renamed. + + + + + Gets the new name for the index. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming a stored procedure in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to rename. + The new name for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to rename. + + + The name of the stored procedure to rename. + + + + + Gets the new name for the stored procedure. + + + The new name for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents renaming an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be renamed. + New name for the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be renamed. + + + + + Gets the new name for the table. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents a provider specific SQL statement to be executed directly against the target database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the SqlOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the SQL to be executed. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + + + + Used when scripting an update database operation to store the operations that would have been performed against the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents a migration to be applied to the database. + + + + + Gets the id of the migration. + + + The id of the migration. + + + + + Gets the individual operations applied by this migration. + + + The individual operations applied by this migration. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + Gets the migrations applied during the update database operation. + + + The migrations applied during the update database operation. + + + + + Adds a migration to this update database operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The id of the migration. + The individual operations applied by the migration. + + + + Gets a value indicating if any of the operations may result in data loss. + + + + + Common base class for providers that convert provider agnostic migration + operations into database provider specific SQL commands. + + + + + Gets or sets the provider manifest. + + + The provider manifest. + + + + + Converts a set of migration operations into database provider specific SQL. + + The operations to be converted. + Token representing the version of the database being targeted. + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Builds the store type usage for the specified using the facets from the specified . + + Name of the store type. + The target property. + A store-specific TypeUsage + + + + Represents a migration operation that has been translated into a SQL statement. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the SQL to be executed to perform this migration operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Gets or sets the batch terminator for the database provider. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The batch terminator for the database provider. + + + + + The same as but works in partial trust and adds explicit caching of + generated indentation string and also recognizes writing a string that contains just \r\n or \n as a write-line to ensure + we indent the next line properly. + + + + + Specifies the default tab string. This field is constant. + + + + + Specifies the culture what will be used by the underlying TextWriter. This static property is read-only. + Note that any writer passed to one of the constructors of must use this + same culture. The culture is . + + + + + Gets the encoding for the text writer to use. + + + An that indicates the encoding for the text writer to use. + + + + + Gets or sets the new line character to use. + + The new line character to use. + + + + Gets or sets the number of spaces to indent. + + The number of spaces to indent. + + + + Gets the to use. + + + The to use. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and default tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + The tab string to use for indentation. + + + + Closes the document being written to. + + + + + Flushes the stream. + + + + + Outputs the tab string once for each level of indentation according to the + + property. + + + + + Builds a string representing the current indentation level for a new line. + + + Does NOT check if tabs are currently pending, just returns a string that would be + useful in replacing embedded newline characters. + + An empty string, or a string that contains .Indent level's worth of specified tab-string. + + + + Writes the specified string to the text stream. + + The string to write. + + + + Writes the text representation of a Boolean value to the text stream. + + The Boolean value to write. + + + + Writes a character to the text stream. + + The character to write. + + + + Writes a character array to the text stream. + + The character array to write. + + + + Writes a subarray of characters to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double to the text stream. + + The double to write. + + + + Writes the text representation of a Single to the text stream. + + The single to write. + + + + Writes the text representation of an integer to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object to the text stream. + + The object to write. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the specified string to a line without tabs. + + The string to write. + + + + Writes the specified string, followed by a line terminator, to the text stream. + + The string to write. + + + + Writes a line terminator. + + + + + Writes the text representation of a Boolean, followed by a line terminator, to the text stream. + + The Boolean to write. + + + + Writes a character, followed by a line terminator, to the text stream. + + The character to write. + + + + Writes a character array, followed by a line terminator, to the text stream. + + The character array to write. + + + + Writes a subarray of characters, followed by a line terminator, to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double, followed by a line terminator, to the text stream. + + The double to write. + + + + Writes the text representation of a Single, followed by a line terminator, to the text stream. + + The single to write. + + + + Writes the text representation of an integer, followed by a line terminator, to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer, followed by a line terminator, to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object, followed by a line terminator, to the text stream. + + The object to write. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the text representation of a UInt32, followed by a line terminator, to the text stream. + + A UInt32 to output. + + + + An implementation of that does nothing. Using this + initializer disables database initialization for the given context type. Passing an instance + of this class to is equivalent to passing null. + When is being used to resolve initializers an instance of + this class must be used to disable initialization. + + The type of the context. + + + + + + + Extension methods for . + + + + + Returns an implementation that stays in sync with the given + . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + Useful extension methods for use with Entity Framework LINQ queries. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + The type of entity being queried. + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + The path expression must be composed of simple property access expressions together with calls to Select for + composing additional includes after including a collection proprty. Examples of possible include paths are: + To include a single reference: query.Include(e => e.Level1Reference) + To include a single collection: query.Include(e => e.Level1Collection) + To include a reference and then a reference one level down: query.Include(e => e.Level1Reference.Level2Reference) + To include a reference and then a collection one level down: query.Include(e => e.Level1Reference.Level2Collection) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection, a reference, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference.Level3Reference)) + To include a collection, a collection, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection.Select(l2 => l2.Level3Reference))) + This extension method calls the Include(String) method of the source IQueryable object, if such a method exists. + If the source IQueryable does not have a matching method, then this method does nothing. + The Entity Framework ObjectQuery, ObjectSet, DbQuery, and DbSet types all have an appropriate Include method to call. + When you call the Include method, the query path is only valid on the returned instance of the IQueryable<T>. Other + instances of IQueryable<T> and the object context itself are not affected. Because the Include method returns the + query object, you can call this method multiple times on an IQueryable<T> to specify multiple paths for the query. + + The type of entity being queried. + The type of navigation property being included. + The source IQueryable on which to call Include. + A lambda expression representing the path to include. + + A new IQueryable<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + The type of the elements of . + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a list from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + is null. + + + doesn't implement . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Bypasses a specified number of elements in a sequence and then returns the remaining elements. + + The type of the elements of source. + A sequence to return elements from. + An expression that evaluates to the number of elements to skip. + A sequence that contains elements that occur after the specified index in the + input sequence. + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of source. + The sequence to return elements from. + An expression that evaluates to the number of elements + to return. + A sequence that contains the specified number of elements from the + start of the input sequence. + + + + Represents data in a geodetic (round earth) coordinate system. + + + + Gets the default coordinate system id (SRID) for geography values (WGS 84) + The default coordinate system id (SRID) for geography values (WGS 84) + + + Gets a representation of this DbGeography value that is specific to the underlying provider that constructed it. + A representation of this DbGeography value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeography value. + A data contract serializable well known representation of this DbGeography value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeography value as defined by the well known binary value with the default geography coordinate system identifier (SRID)( + + ). + + A byte array that contains a well known binary representation of the geography value. + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeography value as defined by the GML value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified well known text value. + + + A new DbGeography value as defined by the well known text value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geography value. + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known text value. + The multi polygon value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Gets the identifier associated with the coordinate system. + The identifier associated with the coordinate system. + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of the given value. + + + + Gets the spatial type name of the DBGeography. + The spatial type name of the DBGeography. + + + Gets a nullable Boolean value indicating whether this DbGeography value is empty. + True if this DbGeography value is empty; otherwise, false. + + + Generates the well known text representation of this DbGeography value. Includes only Longitude and Latitude for points. + A string containing the well known text representation of this DbGeography value. + + + Generates the well known binary representation of this DbGeography value. + The well-known binary representation of this DbGeography value. + + + Generates the Geography Markup Language (GML) representation of this DbGeography value. + A string containing the GML representation of this DbGeography value. + + + Determines whether this DbGeography is spatially equal to the specified DbGeography argument. + true if other is spatially equal to this geography value; otherwise false. + The geography value that should be compared with this geography value for equality. + + + Determines whether this DbGeography is spatially disjoint from the specified DbGeography argument. + true if other is disjoint from this geography value; otherwise false. + The geography value that should be compared with this geography value for disjointness. + + + Determines whether this DbGeography value spatially intersects the specified DbGeography argument. + true if other intersects this geography value; otherwise false. + The geography value that should be compared with this geography value for intersection. + + + Returns a geography object that represents the union of all points whose distance from a geography instance is less than or equal to a specified value. + A geography object that represents the union of all points + The distance. + + + Computes the distance between the closest points in this DbGeography value and another DbGeography value. + A double value that specifies the distance between the two closest points in this geography value and other. + The geography value for which the distance from this value should be computed. + + + Computes the intersection of this DbGeography value and another DbGeography value. + A new DbGeography value representing the intersection between this geography value and other. + The geography value for which the intersection with this value should be computed. + + + Computes the union of this DbGeography value and another DbGeography value. + A new DbGeography value representing the union between this geography value and other. + The geography value for which the union with this value should be computed. + + + Computes the difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the difference between this geography value and other. + The geography value for which the difference with this value should be computed. + + + Computes the symmetric difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the symmetric difference between this geography value and other. + The geography value for which the symmetric difference with this value should be computed. + + + Gets the number of elements in this DbGeography value, if it represents a geography collection. <returns>The number of elements in this geography value, if it represents a collection of other geography values; otherwise null.</returns> + The number of elements in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a geography collection. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a collection of other geography values; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets the Latitude coordinate of this DbGeography value, if it represents a point. <returns>The Latitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Latitude coordinate of this DbGeography value. + + + Gets the Longitude coordinate of this DbGeography value, if it represents a point. <returns>The Longitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Longitude coordinate of this DbGeography value. + + + Gets the elevation (Z coordinate) of this DbGeography value, if it represents a point. <returns>The elevation (Z coordinate) value of this geography value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeography value. + + + Gets the M (Measure) coordinate of this DbGeography value, if it represents a point. <returns>The M (Measure) coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The M (Measure) coordinate of this DbGeography value. + + + Gets a nullable double value that indicates the length of this DbGeography value, which may be null if this value does not represent a curve. + A nullable double value that indicates the length of this DbGeography value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeography value is closed, which may be null if this value does not represent a curve. + True if this DbGeography value is closed; otherwise, false. + + + Gets the number of points in this DbGeography value, if it represents a linestring or linear ring. <returns>The number of elements in this geography value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets a nullable double value that indicates the area of this DbGeography value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeography value. + + + Returns a string representation of the geography value. + A string representation of the geography value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + Represents geometric shapes. + + + + Gets the default coordinate system id (SRID) for geometry values. + The default coordinate system id (SRID) for geometry values. + + + Gets a representation of this DbGeometry value that is specific to the underlying provider that constructed it. + A representation of this DbGeometry value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeometry value. + A data contract serializable well known representation of this DbGeometry value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeometry value as defined by the well known binary value with the default geometry coordinate system identifier ( + + ). + + A byte array that contains a well known binary representation of the geometry value. + wellKnownBinary + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownBinary + coordinateSystemId + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownBinary + coordinateSystemId + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownBinary + coordinateSystemId + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownBinary + coordinateSystemId + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multipoint value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownBinary + coordinateSystemId + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeometry value as defined by the GML value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + geometryMarkup + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryMarkup + coordinateSystemId + + + + Creates a new value based on the specified well known text value. + + + A new DbGeometry value as defined by the well known text value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geometry value. + wellKnownText + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownText + coordinateSystemId + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownText + coordinateSystemId + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownText + coordinateSystemId + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownText + coordinateSystemId + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownText + coordinateSystemId + + + Gets the coordinate system identifier of the DbGeometry object. + The coordinate system identifier of the DbGeometry object. + + + Gets the boundary of the DbGeometry objects. + The boundary of the DbGeometry objects. + + + + Gets the dimension of the given value or, if the value is a collection, the dimension of its largest element. + + + The dimension of the given value. + + + + Gets the envelope (minimum bounding box) of this DbGeometry value, as a geometry value. + The envelope (minimum bounding box) of this DbGeometry value. + + + Gets a spatial type name representation of this DbGeometry value. + A spatial type name representation of this DbGeometry value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is empty, which may be null if this value does not represent a curve. + True if this DbGeometry value is empty; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is simple. + True if this DbGeometry value is simple; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is valid. + True if this DbGeometry value is valid; otherwise, false. + + + Generates the well known text representation of this DbGeometry value. Includes only X and Y coordinates for points. + A string containing the well known text representation of this DbGeometry value. + + + Generates the well known binary representation of this DbGeometry value. + The well-known binary representation of this DbGeometry value. + + + Generates the Geography Markup Language (GML) representation of this DbGeometry value. + A string containing the GML representation of this DbGeometry value. + + + Determines whether this DbGeometry is spatially equal to the specified DbGeometry argument. + true if other is spatially equal to this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for equality. + other + + + Determines whether this DbGeometry is spatially disjoint from the specified DbGeometry argument. + true if other is disjoint from this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for disjointness. + other + + + Determines whether this DbGeometry value spatially intersects the specified DbGeometry argument. + true if other intersects this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for intersection. + other + + + Determines whether this DbGeometry value spatially touches the specified DbGeometry argument. + true if other touches this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value spatially crosses the specified DbGeometry argument. + true if other crosses this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value is spatially within the specified DbGeometry argument. + true if this geometry value is within other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially contains the specified DbGeometry argument. + true if this geometry value contains other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially overlaps the specified DbGeometry argument. + true if this geometry value overlaps other; otherwise false. + The geometry value that should be compared with this geometry value for overlap. + other + + + Determines whether this DbGeometry value spatially relates to the specified DbGeometry argument according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + true if this geometry value relates to other according to the specified intersection pattern matrix; otherwise false. + The geometry value that should be compared with this geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + other + matrix + + + Returns a geometry object that represents the union of all points whose distance from a geometry instance is less than or equal to a specified value. + A geometry object that represents the union of all points. + The distance. + + + Computes the distance between the closest points in this DbGeometry value and another DbGeometry value. + A double value that specifies the distance between the two closest points in this geometry value and other. + The geometry value for which the distance from this value should be computed. + other + + + Gets the convex hull of this DbGeometry value as another DbGeometry value. + The convex hull of this DbGeometry value as another DbGeometry value. + + + Computes the intersection of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the intersection between this geometry value and other. + The geometry value for which the intersection with this value should be computed. + other + + + Computes the union of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the union between this geometry value and other. + The geometry value for which the union with this value should be computed. + other + + + Computes the difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the difference between this geometry value and other. + The geometry value for which the difference with this value should be computed. + other + + + Computes the symmetric difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the symmetric difference between this geometry value and other. + The geometry value for which the symmetric difference with this value should be computed. + other + + + Gets the number of elements in this DbGeometry value, if it represents a geometry collection. <returns>The number of elements in this geometry value, if it represents a collection of other geometry values; otherwise null.</returns> + The number of elements in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a geometry collection. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a collection of other geometry values; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets the X coordinate of this DbGeometry value, if it represents a point. <returns>The X coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The X coordinate of this DbGeometry value. + + + Gets the Y coordinate of this DbGeometry value, if it represents a point. <returns>The Y coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The Y coordinate of this DbGeometry value. + + + Gets the elevation (Z coordinate) of this DbGeometry value, if it represents a point. <returns>The elevation (Z coordinate) of this geometry value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeometry value. + + + Gets the Measure (M coordinate) of this DbGeometry value, if it represents a point. <returns>The Measure (M coordinate) value of this geometry value, if it represents a point; otherwise null.</returns> + The Measure (M coordinate) of this DbGeometry value. + + + Gets a nullable double value that indicates the length of this DbGeometry value, which may be null if this value does not represent a curve. + The length of this DbGeometry value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is closed, which may be null if this value does not represent a curve. + True if this DbGeometry value is closed; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is a ring, which may be null if this value does not represent a curve. + True if this DbGeometry value is a ring; otherwise, false. + + + Gets the number of points in this DbGeometry value, if it represents a linestring or linear ring. <returns>The number of elements in this geometry value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets a nullable double value that indicates the area of this DbGeometry value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeometry value. + + + Gets the DbGeometry value that represents the centroid of this DbGeometry value, which may be null if this value does not represent a surface. + The DbGeometry value that represents the centroid of this DbGeometry value. + + + Gets a point on the surface of this DbGeometry value, which may be null if this value does not represent a surface. + A point on the surface of this DbGeometry value. + + + Gets the DbGeometry value that represents the exterior ring of this DbGeometry value, which may be null if this value does not represent a polygon. + The DbGeometry value that represents the exterior ring of this DbGeometry value. + + + Gets the number of interior rings in this DbGeometry value, if it represents a polygon. <returns>The number of elements in this geometry value, if it represents a polygon; otherwise null.</returns> + The number of interior rings in this DbGeometry value. + + + Returns an interior ring from this DbGeometry value at a specific position, if it represents a polygon. <param name="index">The position within this geometry value from which the interior ring should be taken.</param><returns>The interior ring in this geometry value at the specified position, if it represents a polygon; otherwise null.</returns> + An interior ring from this DbGeometry value at a specific position. + The index. + + + Returns a string representation of the geometry value. + A string representation of the geometry value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeography at the specified column value + The ordinal of the column that contains the geography value + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the column that contains the geography value. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeometry at the specified column value + The ordinal of the data record column that contains the provider-specific geometry data + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the data record column that contains the provider-specific geometry data. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + Returns whether the column at the specified column ordinal is of geography type + + The column ordinal. + + true if the column at the specified column ordinal is of geography type; + false otherwise. + + + + + Returns whether the column at the specified column ordinal is of geometry type + + The column ordinal. + + true if the column at the specified column ordinal is of geometry type; + false otherwise. + + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + Gets the default services for the . + + The default services. + + + + Override this property to allow the spatial provider to fail fast when native types or other + resources needed for the spatial provider to function correctly are not available. + The default value is true which means that EF will continue with the assumption + that the provider has the necessary types/resources rather than failing fast. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + The provider value. + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geography value. + A new DbGeography value backed by this spatial services implementation and the specified provider value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geography value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geographyValue, as a new + + . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geographyValue, or the largest element dimension if + + is a collection. + + The geography value for which the dimension value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value. This value should include only the Longitude and Latitude of points. + + A string containing the well-known text representation of geographyValue. + The geography value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geography value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeography value. + The geography value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geographyValue is spatially equal to otherGeography; otherwise false. + The first geography value to compare for equality. + The second geography value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geographyValue is disjoint from otherGeography; otherwise false. + The first geography value to compare for disjointness. + The second geography value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geographyValue intersects otherGeography; otherwise false. + The first geography value to compare for intersection. + The second geography value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geography value representing all points less than or equal to distance from the given + + value. + + A new DbGeography value representing all points less than or equal to distance from geographyValue. + The geography value. + A double value specifying how far from geographyValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference of two values. + + A new DbGeography value representing the difference of geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference of two values. + + + A new value representing the symmetric difference of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geography collection. + + The number of elements in geographyValue, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geography collection. + + The element in geographyValue at position index, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Latitude coordinate of the given value, if it represents a point. + + + The Latitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Longitude coordinate of the given value, if it represents a point. + + + The Longitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z coordinate) of the given value, if it represents a point. + + The elevation (Z coordinate) of geographyValue, if it represents a point; otherwise null. + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeography value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeography value, which may be null if the value does not represent a curve. + + The end point of geographyValue, if it represents a curve; otherwise null. + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geography value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geographyValue at position index, if it represents a linestring or linear ring; otherwise null. + The geography value, which need not represent a linestring or linear ring. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geography value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + A provider value. + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geometry value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geometryValue, as a new + + . + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the boundary of the given + + value. + + + The boundary of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geometryValue, or the largest element dimension if + + is a collection. + + The geometry value for which the dimension value should be retrieved. + + + + Gets the envelope (minimum bounding box) of the given value, as a geometry value. + + + The envelope of geometryValue, as a value. + + The geometry value for which the envelope value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is simple. + + + True if the given value is simple; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is valid. + + + True if the given value is valid; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value, including only X and Y coordinates for points. + + A string containing the well-known text representation of geometryValue. + The geometry value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of with elevation and measure. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geometry value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeometry value. + The geometry value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geometryValue is spatially equal to otherGeometry; otherwise false. + The first geometry value to compare for equality. + The second geometry value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geometryValue is disjoint from otherGeometry; otherwise false. + The first geometry value to compare for disjointness. + The second geometry value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geometryValue intersects otherGeometry; otherwise false. + The first geometry value to compare for intersection. + The second geometry value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially touch. + + true if geometryValue touches otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially cross. + + true if geometryValue crosses otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value is spatially within the other. + + true if geometryValue is within otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value spatially contains the other. + + true if geometryValue contains otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially overlap. + + true if geometryValue overlaps otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially related according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + + true if this geometryValue value relates to otherGeometry according to the specified intersection pattern matrix; otherwise false. + The first geometry value. + The geometry value that should be compared with the first geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + + + , + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geometry value representing all points less than or equal to distance from the given + + value. + + A new DbGeometry value representing all points less than or equal to distance from geometryValue. + The geometry value. + A double value specifying how far from geometryValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the convex hull of the given + + value. + + + The convex hull of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference between two values. + + A new DbGeometry value representing the difference between geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference between two values. + + + A new value representing the symmetric difference between geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geometry collection. + + The number of elements in geometryValue, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geometry collection. + + The element in geometryValue at position index, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the X coordinate of the given value, if it represents a point. + + + The X coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Y coordinate of the given value, if it represents a point. + + + The Y coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z) of the given value, if it represents a point. + + The elevation (Z) of geometryValue, if it represents a point; otherwise null. + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeometry value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeometry value, which may be null if the value does not represent a curve. + + The end point of geometryValue, if it represents a curve; otherwise null. + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is a ring, which may be null if the value does not represent a curve. + + + True if the given value is a ring; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geometry value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geometryValue at position index, if it represents a linestring or linear ring; otherwise null. + The geometry value, which need not represent a linestring or linear ring. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the centroid of the given DbGeometry value, which may be null if the value does not represent a surface. + + The centroid of geometryValue, if it represents a surface; otherwise null. + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents a point on the surface of the given DbGeometry value, which may be null if the value does not represent a surface. + + + A value that represents a point on the surface of the given DbGeometry value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the exterior ring of the given DbGeometry value, which may be null if the value does not represent a polygon. + + A DbGeometry value representing the exterior ring on geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of interior rings in the given value, if it represents a polygon. + + The number of elements in geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an interior ring from the given value, if it represents a polygon. + + The interior ring in geometryValue at position index, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Controls the transaction creation behavior while executing a database command or query. + + + + + If no transaction is present then a new transaction will be used for the operation. + + + + + If an existing transaction is present then use it, otherwise execute the command or query without a transaction. + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException. + + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + The inner exception. + + + + Initializes a new instance of the DbEntityValidationException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Validation results. + + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Represents validation results for single entity. + + + + + Creates an instance of class. + + Entity entry the results applies to. Never null. + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + Validation error. Can be either entity or property level validation error. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + When this attribute is placed on a property it indicates that the database column to which the + property is mapped has an index. + + + This attribute is used by Entity Framework Migrations to create indexes on mapped database columns. + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Creates a instance for an index that will be named by convention and + has no column order, clustering, or uniqueness specified. + + + + + Creates a instance for an index with the given name and + has no column order, clustering, or uniqueness specified. + + The index name. + + + + Creates a instance for an index with the given name and column order, + but with no clustering or uniqueness specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + The index name. + A number which will be used to determine column ordering for multi-column indexes. + + + + The index name. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + A number which will be used to determine column ordering for multi-column indexes. This will be -1 if no + column order has been specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Set this property to true to define a clustered index. Set this property to false to define a + non-clustered index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Set this property to true to define a unique index. Set this property to false to define a + non-unique index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Returns a different ID for each object instance such that type descriptors won't + attempt to combine all IndexAttribute instances into a single instance. + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + diff --git a/Auto_Demo/bin/Release/KAutoHelper.dll b/Auto_Demo/bin/Release/KAutoHelper.dll new file mode 100644 index 0000000..d171f6a Binary files /dev/null and b/Auto_Demo/bin/Release/KAutoHelper.dll differ diff --git a/Auto_Demo/bin/Release/System.Data.SQLite.EF6.dll b/Auto_Demo/bin/Release/System.Data.SQLite.EF6.dll new file mode 100644 index 0000000..640030d Binary files /dev/null and b/Auto_Demo/bin/Release/System.Data.SQLite.EF6.dll differ diff --git a/Auto_Demo/bin/Release/System.Data.SQLite.Linq.dll b/Auto_Demo/bin/Release/System.Data.SQLite.Linq.dll new file mode 100644 index 0000000..9a0054d Binary files /dev/null and b/Auto_Demo/bin/Release/System.Data.SQLite.Linq.dll differ diff --git a/Auto_Demo/bin/Release/System.Data.SQLite.dll b/Auto_Demo/bin/Release/System.Data.SQLite.dll new file mode 100644 index 0000000..82a4384 Binary files /dev/null and b/Auto_Demo/bin/Release/System.Data.SQLite.dll differ diff --git a/Auto_Demo/bin/Release/System.Data.SQLite.xml b/Auto_Demo/bin/Release/System.Data.SQLite.xml new file mode 100644 index 0000000..f89ea1a --- /dev/null +++ b/Auto_Demo/bin/Release/System.Data.SQLite.xml @@ -0,0 +1,21684 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Non-zero to log all calls to prepare a SQL query. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogLifecycle" environment variable has been queried. If + so, it will only be non-zero if the environment variable was present. + + + + + Determines if calls into key members pertaining to the lifecycle of + connections and their associated classes will be logged, regardless + of the flags for the associated connection. + + + Non-zero to log calls into key members pertaining to the lifecycle of + connections and their associated classes (e.g. LINQ, EF6, etc). + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + Skip adding the extension functions provided by the native interop + assembly if they would conflict with a function provided by the + SQLite core library. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + TextPassword + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + This will be non-zero if the "TextPassword" connection string property + was used. When this value is non-zero, + will retain treatment of the password as a NUL-terminated text string. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes user-settable properties with their default values. + This method is only intended to be used from the constructor. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/sets the database encryption textual password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + Data read from the file system appears to be incorrect. + + + + + File system corruption was detected during a read or write. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + An internal timeout was encountered while waiting for a database lock. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A database file already exists and cannot be created. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + An index entry that should be present is missing. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Value does not conform to specified data type. + + + + + Method called without an appropriate license. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This method is called to perform preliminary static initialization + necessary for this class. + + + + + This method is called to perform some of the static initialization + necessary for this class. + + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Maximum number of milliseconds a non-primary thread should wait + for the method to be completed. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + This will be signaled when the + method has been completed. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + method has been called when the logging subystem was actually + eligible to be initialized (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + The number of times that the method + has been called. + + + + + The number of times that the + method has been completed (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Creates the that will be used to + signal completion of the method, + if necessary, and then returns it. + + + The that will be used to signal + completion of the method. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities -OR- waits for the + SQLite logging facilities to be initialized by another thread. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if everything was fully initialized successfully. + + + + + Uninitializes the SQLite logging facilities. + + + + + Uninitializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if the native SQLite library should be shutdown prior + to attempting to unset its logging callback. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + For internal use only. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The primary file extension used for the XML configuration file. + + + + + The secondary file extension used for the XML configuration file. + + + + + This is the name of the primary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the name of the secondary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + Non-zero to replace any special token references contained in the + setting value to be returned. This has no effect on the .NET Compact + Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the output idxNum field or idxStr content. + + + For the LIKE, GLOB, REGEXP, and MATCH operators, the + aConstraint[].iColumn value is the virtual table column that + is the left operand of the operator. However, if these operators + are expressed as function calls instead of operators, then + the aConstraint[].iColumn value references the virtual table + column that is the second argument to that function: + + + LIKE(EXPR, column)]]> + GLOB(EXPR, column)]]> + REGEXP(EXPR, column)]]> + MATCH(EXPR, column)]]> + + + Hence, as far as the xBestIndex() method is concerned, the following + two forms are equivalent: + + + column LIKE EXPR]]> + LIKE(EXPR,column) + + + This special behavior of looking at the second argument of a function + only occurs for the LIKE, GLOB, REGEXP, and MATCH functions. For all + other functions, the aConstraint[].iColumn value references the first + argument of the function. + + + This special feature of LIKE, GLOB, REGEXP, and MATCH does not + apply to the xFindFunction() method, however. The + xFindFunction() method always keys off of the left operand of an + LIKE, GLOB, REGEXP, or MATCH operator but off of the first argument + to function-call equivalents of those operators. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method conveys an indexing strategy to the xFilter + method through the idxNum and idxStr fields. The idxNum value and + idxStr string content are arbitrary as far as the SQLite core is + concerned and can have any meaning as long as xBestIndex and xFilter + agree on what that meaning is. The SQLite core just copies the + information from xBestIndex through to the xFilter method, assuming + only that the char sequence referenced via idxStr is NUL terminated. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified is insufficient for the virtual table + to do its job. + This is logically the same as setting the estimatedCost to infinity. + If every call to xBestIndex for a particular query plan returns + SQLITE_CONSTRAINT, that means there is no way for the virtual table + to be safely used, and the sqlite3_prepare() call will fail with + a "no query solution" error. + + + The SQLITE_CONSTRAINT return from xBestIndex + is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. If a required field does not appear in + the aConstraint[] array at all, that means that the corresponding + parameter is omitted from the input SQL. In that case, xBestIndex + should set an error message in pVTab->zErrMsg and return + SQLITE_ERROR. To summarize: + + ]]> + ]]> + The aConstraint[].usable value for a required parameter is + false return SQLITE_CONSTRAINT. + ]]>]]> + A required parameter does not appears anywhere in + the aConstraint[] array + Set an error message in pVTab->zErrMsg and return + SQLITE_ERROR + ]]>]]> + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" would normally work the same + as "B like A". + However, xFindFunction() always looks a the left-most argument, not + the first logical argument. + Hence, for the form "B like A", SQLite looks at the + left operand "B" and if that operand is a virtual table column + it invokes the xFindFunction() method on that virtual table. + But if the form "like(A,B)" is used instead, then SQLite checks + the A term to see if it is column of a virtual table and if so + it invokes the xFindFunction() method for the virtual table of + column A. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + Number of bytes used by the session -OR- negative one if its value + cannot be obtained. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + The number of bytes used by the session. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+
diff --git a/Auto_Demo/bin/Release/Tesseract.dll b/Auto_Demo/bin/Release/Tesseract.dll new file mode 100644 index 0000000..620673b Binary files /dev/null and b/Auto_Demo/bin/Release/Tesseract.dll differ diff --git a/Auto_Demo/bin/Release/database/database.db b/Auto_Demo/bin/Release/database/database.db new file mode 100644 index 0000000..2873086 Binary files /dev/null and b/Auto_Demo/bin/Release/database/database.db differ diff --git a/Auto_Demo/bin/Release/tessdata/number.traineddata b/Auto_Demo/bin/Release/tessdata/number.traineddata new file mode 100644 index 0000000..88d35de Binary files /dev/null and b/Auto_Demo/bin/Release/tessdata/number.traineddata differ diff --git a/Auto_Demo/bin/Release/tessdata/vie.traineddata b/Auto_Demo/bin/Release/tessdata/vie.traineddata new file mode 100644 index 0000000..1be82db Binary files /dev/null and b/Auto_Demo/bin/Release/tessdata/vie.traineddata differ diff --git a/Auto_Demo/bin/Release/x64/SQLite.Interop.dll b/Auto_Demo/bin/Release/x64/SQLite.Interop.dll new file mode 100644 index 0000000..efd5bc7 Binary files /dev/null and b/Auto_Demo/bin/Release/x64/SQLite.Interop.dll differ diff --git a/Auto_Demo/bin/Release/x64/leptonica-1.80.0.dll b/Auto_Demo/bin/Release/x64/leptonica-1.80.0.dll new file mode 100644 index 0000000..9ef9b59 Binary files /dev/null and b/Auto_Demo/bin/Release/x64/leptonica-1.80.0.dll differ diff --git a/Auto_Demo/bin/Release/x64/tesseract41.dll b/Auto_Demo/bin/Release/x64/tesseract41.dll new file mode 100644 index 0000000..dcf6edf Binary files /dev/null and b/Auto_Demo/bin/Release/x64/tesseract41.dll differ diff --git a/Auto_Demo/bin/Release/x86/SQLite.Interop.dll b/Auto_Demo/bin/Release/x86/SQLite.Interop.dll new file mode 100644 index 0000000..23a9134 Binary files /dev/null and b/Auto_Demo/bin/Release/x86/SQLite.Interop.dll differ diff --git a/Auto_Demo/bin/Release/x86/leptonica-1.80.0.dll b/Auto_Demo/bin/Release/x86/leptonica-1.80.0.dll new file mode 100644 index 0000000..294dffd Binary files /dev/null and b/Auto_Demo/bin/Release/x86/leptonica-1.80.0.dll differ diff --git a/Auto_Demo/bin/Release/x86/tesseract41.dll b/Auto_Demo/bin/Release/x86/tesseract41.dll new file mode 100644 index 0000000..65dc7ad Binary files /dev/null and b/Auto_Demo/bin/Release/x86/tesseract41.dll differ diff --git a/Auto_Demo/components/CMessageBox.xaml b/Auto_Demo/components/CMessageBox.xaml new file mode 100644 index 0000000..e3e7a4a --- /dev/null +++ b/Auto_Demo/components/CMessageBox.xaml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Auto_Demo/components/CMessageBox.xaml.cs b/Auto_Demo/components/CMessageBox.xaml.cs new file mode 100644 index 0000000..9b3666a --- /dev/null +++ b/Auto_Demo/components/CMessageBox.xaml.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Forms; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; +using Application = System.Windows.Application; +using MouseEventArgs = System.Windows.Input.MouseEventArgs; + +namespace Auto_Demo.components +{ + /// + /// Interaction logic for CMessageBox.xaml + /// + public partial class CMessageBox : Window + { + public CMessageBox() + { + InitializeComponent(); + setStartingPosition(); + } + + private int heightPopup = 200; + private int widthPopup = 380; + + static CMessageBox cMessageBox; + static DialogResult result = System.Windows.Forms.DialogResult.No; + public string messageTitle { get; set; } + public string messageContent { get; set; } + public string messageButtonCancel { get; set; } + public string messageButtonOK { get; set; } + + private void Window_MouseMove(object sender, MouseButtonEventArgs e) + { + if (e.ChangedButton == MouseButton.Left) + { + this.DragMove(); + } + } + + private void setStartingPosition() + { + Application curApp = Application.Current; + Window mainWindow = curApp.MainWindow; + this.Left = mainWindow.Left + (mainWindow.Width - this.widthPopup) / 2; + this.Top = mainWindow.Top + (mainWindow.Height - this.heightPopup) / 2; + } + + private void hover_Close(object sender, MouseEventArgs e) + { + icon_ClosePrimary1.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_ClosePrimary2.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_CloseSecondary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + + icon_ClosePrimaryGroup.Opacity = 1; + icon_CloseSecondary.Opacity = 0.5; + } + + private void hover_CloseOut(object sender, MouseEventArgs e) + { + icon_ClosePrimary1.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_ClosePrimary2.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_CloseSecondary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#FFFFFF"); + + icon_ClosePrimaryGroup.Opacity = 0.7; + icon_CloseSecondary.Opacity = 1; + } + + public static DialogResult Show(string title, string content, string okButton, string cancelButton) + { + cMessageBox = new CMessageBox(); + cMessageBox.tb_Title.Text = title; + cMessageBox.tb_Content.Text = content; + cMessageBox.tb_CancelButton.Text = cancelButton; + cMessageBox.tb_OKButton.Text = okButton; + + cMessageBox.ShowDialog(); + return result; + } + + private void click_cancelButton(object sender, MouseButtonEventArgs e) + { + result = System.Windows.Forms.DialogResult.No; + Thread.Sleep(200); + cMessageBox.Close(); + } + + private void click_okButton(object sender, MouseButtonEventArgs e) + { + result = System.Windows.Forms.DialogResult.Yes; + Thread.Sleep(200); + cMessageBox.Close(); + } + } +} diff --git a/Auto_Demo/components/notification.xaml b/Auto_Demo/components/notification.xaml new file mode 100644 index 0000000..065b373 --- /dev/null +++ b/Auto_Demo/components/notification.xaml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Auto_Demo/components/notification.xaml.cs b/Auto_Demo/components/notification.xaml.cs new file mode 100644 index 0000000..bbfe78a --- /dev/null +++ b/Auto_Demo/components/notification.xaml.cs @@ -0,0 +1,125 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Auto_Demo.components +{ + /// + /// Interaction logic for notification.xaml + /// + public partial class notification : UserControl + { + public string color2 { get; set; } + public string colorMessage1 { get; set; } + public string colorMessage2 { get; set; } + public string colorMessage3 { get; set; } + public string colorMessage4 { get; set; } + + public string iconSuccess { get; set; } + public string iconError { get; set; } + public string iconInfo { get; set; } + public string iconWarning { get; set; } + + public string colorTitle { get; set; } + + + List colorSuccess = new List { "#FF062C21", "#FF032118", "#FF021710", "#FF0A060E" }; + List colorError = new List { "#FF360C0C", "#FF2C0707", "#FF1F0404", "#FF0A060E" }; + List colorInfo = new List { "#FF091830", "#FF061227", "#FF040F21", "#FF0A060E" }; + List colorWarning = new List { "#FF362F0B", "#FF2B2507", "#FF1D1903", "#FF0A060E" }; + //public string color = "#FF062C21"; + public static readonly DependencyProperty HeaderProperty = + DependencyProperty.Register("Header", typeof(string), typeof(notification), new PropertyMetadata(string.Empty)); + + public string Header + { + get { return (string)GetValue(HeaderProperty); } + set { SetValue(HeaderProperty, value); } + } + + public static readonly DependencyProperty ContentsProperty = + DependencyProperty.Register("Contents", typeof(string), typeof(notification), new PropertyMetadata(string.Empty)); + + public string Contents + { + get { return (string)GetValue(ContentsProperty); } + set { SetValue(ContentsProperty, value); } + } + + public static readonly DependencyProperty TypeMessageProperty = + DependencyProperty.Register("TypeMessage", typeof(string), typeof(notification), new FrameworkPropertyMetadata( + new PropertyChangedCallback(ChangeText))); + + public string TypeMessage + { + get { return (string)GetValue(TypeMessageProperty); } + set { SetValue(TypeMessageProperty, value); } + } + + private static void ChangeText(DependencyObject source, DependencyPropertyChangedEventArgs e) + { + (source as notification).initColor(e.NewValue.ToString()); + } + + + public notification() + { + InitializeComponent(); + } + + void initColor(string aa) + { + iconSuccess = "Hidden"; + iconError = "Hidden"; + iconInfo = "Hidden"; + iconWarning = "Hidden"; + switch (aa) + { + case "success": + colorMessage1 = colorSuccess[0]; + colorMessage2 = colorSuccess[1]; + colorMessage3 = colorSuccess[2]; + colorMessage4 = colorSuccess[3]; + iconSuccess = "Visible"; + colorTitle = "#FF10B981"; + break; + case "error": + colorMessage1 = colorError[0]; + colorMessage2 = colorError[1]; + colorMessage3 = colorError[2]; + colorMessage4 = colorError[3]; + iconError = "Visible"; + colorTitle = "#FFEF4444"; + break; + case "info": + colorMessage1 = colorInfo[0]; + colorMessage2 = colorInfo[1]; + colorMessage3 = colorInfo[2]; + colorMessage4 = colorInfo[3]; + iconInfo = "Visible"; + colorTitle = "#FF3B82F6"; + break; + case "warning": + colorMessage1 = colorWarning[0]; + colorMessage2 = colorWarning[1]; + colorMessage3 = colorWarning[2]; + colorMessage4 = colorWarning[3]; + iconWarning = "Visible"; + colorTitle = "#FFFDE047"; + break; + } + } + } +} diff --git a/Auto_Demo/components/test.xaml b/Auto_Demo/components/test.xaml new file mode 100644 index 0000000..5aa83f2 --- /dev/null +++ b/Auto_Demo/components/test.xaml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Auto_Demo/components/test.xaml.cs b/Auto_Demo/components/test.xaml.cs new file mode 100644 index 0000000..ce462ba --- /dev/null +++ b/Auto_Demo/components/test.xaml.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; + +namespace Auto_Demo.components +{ + /// + /// Interaction logic for test.xaml + /// + public partial class test : Window + { + public test() + { + InitializeComponent(); + } + } +} diff --git a/Auto_Demo/custom/button.xaml b/Auto_Demo/custom/button.xaml new file mode 100644 index 0000000..43fd291 --- /dev/null +++ b/Auto_Demo/custom/button.xaml @@ -0,0 +1,29 @@ + + + \ No newline at end of file diff --git a/Auto_Demo/custom/button_viewbox.xaml b/Auto_Demo/custom/button_viewbox.xaml new file mode 100644 index 0000000..fc36b8f --- /dev/null +++ b/Auto_Demo/custom/button_viewbox.xaml @@ -0,0 +1,18 @@ + + + \ No newline at end of file diff --git a/Auto_Demo/custom/checkbox.xaml b/Auto_Demo/custom/checkbox.xaml new file mode 100644 index 0000000..3777c13 --- /dev/null +++ b/Auto_Demo/custom/checkbox.xaml @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/custom/scroll_combobox.xaml b/Auto_Demo/custom/scroll_combobox.xaml new file mode 100644 index 0000000..4e25e96 --- /dev/null +++ b/Auto_Demo/custom/scroll_combobox.xaml @@ -0,0 +1,70 @@ + + + + \ No newline at end of file diff --git a/Auto_Demo/custom/scroll_null.xaml b/Auto_Demo/custom/scroll_null.xaml new file mode 100644 index 0000000..c6a6c34 --- /dev/null +++ b/Auto_Demo/custom/scroll_null.xaml @@ -0,0 +1,70 @@ + + + + \ No newline at end of file diff --git a/Auto_Demo/custom/scrollbar.xaml b/Auto_Demo/custom/scrollbar.xaml new file mode 100644 index 0000000..7d1d58c --- /dev/null +++ b/Auto_Demo/custom/scrollbar.xaml @@ -0,0 +1,70 @@ + + + + \ No newline at end of file diff --git a/Auto_Demo/custom/select.xaml b/Auto_Demo/custom/select.xaml new file mode 100644 index 0000000..076353e --- /dev/null +++ b/Auto_Demo/custom/select.xaml @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/custom/slider.xaml b/Auto_Demo/custom/slider.xaml new file mode 100644 index 0000000..e9d9f6a --- /dev/null +++ b/Auto_Demo/custom/slider.xaml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/draw/Window1.xaml b/Auto_Demo/draw/Window1.xaml new file mode 100644 index 0000000..0bda9e4 --- /dev/null +++ b/Auto_Demo/draw/Window1.xaml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + Test 1 + Test 2 + Test 3 + Test 4 + Test 5 + Test 6 + Test 7 + Test 8 + Test 9 + Test 10 + Test 11 + + + diff --git a/Auto_Demo/draw/Window1.xaml.cs b/Auto_Demo/draw/Window1.xaml.cs new file mode 100644 index 0000000..1be93ff --- /dev/null +++ b/Auto_Demo/draw/Window1.xaml.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; + +namespace Auto_Demo.test +{ + /// + /// Interaction logic for Window1.xaml + /// + public partial class Window1 : Window + { + public Window1() + { + InitializeComponent(); + } + } +} diff --git a/Auto_Demo/draw/draw.xaml b/Auto_Demo/draw/draw.xaml new file mode 100644 index 0000000..6115c97 --- /dev/null +++ b/Auto_Demo/draw/draw.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/Auto_Demo/draw/draw.xaml.cs b/Auto_Demo/draw/draw.xaml.cs new file mode 100644 index 0000000..40aba99 --- /dev/null +++ b/Auto_Demo/draw/draw.xaml.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; +using AutoItX3Lib; + +namespace Auto_Demo.test +{ + /// + /// Interaction logic for draw.xaml + /// + public partial class draw : Window + { + public static ObservableCollection _ListDraw = new ObservableCollection(); + public static AutoItX3 autoit = new AutoItX3(); + public draw(int x1, int y1, int x2, int y2, string name, string color) + { + InitializeComponent(); + + int x1Win = autoit.WinGetPosX(name); + int y1Win = autoit.WinGetPosY(name) + 31; + + win_Draw.Left = x1Win + x1 - 1; + win_Draw.Top = y1Win + y1; + drawLine.Width = x2 + 2; + drawLine.Height = y2 + 2; + drawLine.BorderBrush = (SolidColorBrush)new BrushConverter().ConvertFromString(color); + _ListDraw.Add(this); + } + } +} diff --git a/Auto_Demo/draw/rounded.xaml b/Auto_Demo/draw/rounded.xaml new file mode 100644 index 0000000..7d2090a --- /dev/null +++ b/Auto_Demo/draw/rounded.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/Auto_Demo/draw/rounded.xaml.cs b/Auto_Demo/draw/rounded.xaml.cs new file mode 100644 index 0000000..551dccb --- /dev/null +++ b/Auto_Demo/draw/rounded.xaml.cs @@ -0,0 +1,46 @@ +using Auto_Demo.services.config; +using AutoItX3Lib; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; + +namespace Auto_Demo.draw +{ + /// + /// Interaction logic for rounded.xaml + /// + public partial class rounded : Window + { + public static ObservableCollection _ListRounded = new ObservableCollection(); + public static AutoItX3 autoit = new AutoItX3(); + public rounded(pointXY center, int r1, int r2, string name) + { + InitializeComponent(); + int x1Win = autoit.WinGetPosX(name); + int y1Win = autoit.WinGetPosY(name) + 31; + + win_Draw.Width = r2 * 2 + 10; + win_Draw.Height = r2 * 2 + 10; + win_Draw.Left = x1Win + center.x - r2 - 1; + win_Draw.Top = y1Win + center.y - r2; + + drawRound.Margin = new Thickness(r2- r1, r2 - r1, 0, 0); + drawRound.Width = r1 * 2; + drawRound.Height = r1 * 2; + + drawRound2.Width = r2 * 2; + drawRound2.Height = r2 * 2; + } + } +} diff --git a/Auto_Demo/draw/size_fish.xaml b/Auto_Demo/draw/size_fish.xaml new file mode 100644 index 0000000..6d0fd73 --- /dev/null +++ b/Auto_Demo/draw/size_fish.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/Auto_Demo/draw/size_fish.xaml.cs b/Auto_Demo/draw/size_fish.xaml.cs new file mode 100644 index 0000000..7c31cd1 --- /dev/null +++ b/Auto_Demo/draw/size_fish.xaml.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; + +namespace Auto_Demo.draw +{ + /// + /// Interaction logic for size_fish.xaml + /// + public partial class size_fish : Window + { + public size_fish() + { + InitializeComponent(); + } + } +} diff --git a/Auto_Demo/draw_window/FishSizeBorder.xaml b/Auto_Demo/draw_window/FishSizeBorder.xaml new file mode 100644 index 0000000..17b591e --- /dev/null +++ b/Auto_Demo/draw_window/FishSizeBorder.xaml @@ -0,0 +1,18 @@ + + + + + + + + + + + diff --git a/Auto_Demo/draw_window/FishSizeBorder.xaml.cs b/Auto_Demo/draw_window/FishSizeBorder.xaml.cs new file mode 100644 index 0000000..2e55fba --- /dev/null +++ b/Auto_Demo/draw_window/FishSizeBorder.xaml.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; +using AutoItX3Lib; +using Auto_Demo.services; + +namespace Auto_Demo.draw_window +{ + /// + /// Interaction logic for FishSizeBorder.xaml + /// + public partial class FishSizeBorder : Window + { + public static AutoItX3 autoit = new AutoItX3(); + public FishSizeBorder(int x1, int y1, int x2, int y2, string name, string color, int size, string auto_id) + { + InitializeComponent(); + + int x1Win = autoit.WinGetPosX(name); + int y1Win = autoit.WinGetPosY(name) + 31; + + win_Draw.Left = x1Win + x1 - 1; + win_Draw.Top = y1Win + y1; + drawLine.Width = x2 + 2; + drawLine.Height = y2 + 2; + drawLine.BorderBrush = (SolidColorBrush)new BrushConverter().ConvertFromString(color); + tb_Size.Text = size.ToString(); + if(x2 < y2 && x2 < 20) + { + tb_Size.LayoutTransform = new RotateTransform(-90); + if(x2 * 0.85 > 16) + { + tb_Size.FontSize = 16; + } else + { + tb_Size.FontSize = x2 * 0.85; + } + } else + { + tb_Size.LayoutTransform = new RotateTransform(0); + if (y2 * 0.85 > 16) + { + tb_Size.FontSize = 16; + } + else + { + tb_Size.FontSize = y2 * 0.85; + } + } + Auto AutoValue = Auto._ListAuto.Single(r => r.auto_id == auto_id); + AutoValue._ListDrawSize.Add(this); + } + } +} diff --git a/Auto_Demo/draw_window/RoundBorder.xaml b/Auto_Demo/draw_window/RoundBorder.xaml new file mode 100644 index 0000000..e534f2d --- /dev/null +++ b/Auto_Demo/draw_window/RoundBorder.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/Auto_Demo/draw_window/RoundBorder.xaml.cs b/Auto_Demo/draw_window/RoundBorder.xaml.cs new file mode 100644 index 0000000..c7e08c2 --- /dev/null +++ b/Auto_Demo/draw_window/RoundBorder.xaml.cs @@ -0,0 +1,49 @@ +using Auto_Demo.services.config; +using AutoItX3Lib; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; +using Auto_Demo.services; + +namespace Auto_Demo.draw_window +{ + /// + /// Interaction logic for RoundBorder.xaml + /// + public partial class RoundBorder : Window + { + public static AutoItX3 autoit = new AutoItX3(); + public RoundBorder(pointXY center, int r1, int r2, string name, string auto_id) + { + InitializeComponent(); + int x1Win = autoit.WinGetPosX(name); + int y1Win = autoit.WinGetPosY(name) + 31; + + win_Draw.Width = r2 * 2 + 10; + win_Draw.Height = r2 * 2 + 10; + win_Draw.Left = x1Win + center.x - r2 - 1; + win_Draw.Top = y1Win + center.y - r2; + + drawRound.Margin = new Thickness(r2 - r1, r2 - r1, 0, 0); + drawRound.Width = r1 * 2; + drawRound.Height = r1 * 2; + + drawRound2.Width = r2 * 2; + drawRound2.Height = r2 * 2; + + Auto AutoValue = Auto._ListAuto.Single(r => r.auto_id == auto_id); + AutoValue._ListRounded.Add(this); + } + } +} diff --git a/Auto_Demo/draw_window/SquareBorder.xaml b/Auto_Demo/draw_window/SquareBorder.xaml new file mode 100644 index 0000000..45f646a --- /dev/null +++ b/Auto_Demo/draw_window/SquareBorder.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/Auto_Demo/draw_window/SquareBorder.xaml.cs b/Auto_Demo/draw_window/SquareBorder.xaml.cs new file mode 100644 index 0000000..70e1eb6 --- /dev/null +++ b/Auto_Demo/draw_window/SquareBorder.xaml.cs @@ -0,0 +1,42 @@ +using AutoItX3Lib; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; +using Auto_Demo.services; + +namespace Auto_Demo.draw_window +{ + /// + /// Interaction logic for SquareBorder.xaml + /// + public partial class SquareBorder : Window + { + public static AutoItX3 autoit = new AutoItX3(); + public SquareBorder(int x1, int y1, int x2, int y2, string name, string color, string auto_id) + { + InitializeComponent(); + + int x1Win = autoit.WinGetPosX(name); + int y1Win = autoit.WinGetPosY(name) + 31; + + win_Draw.Left = x1Win + x1 - 1; + win_Draw.Top = y1Win + y1; + drawLine.Width = x2 + 2; + drawLine.Height = y2 + 2; + drawLine.BorderBrush = (SolidColorBrush)new BrushConverter().ConvertFromString(color); + Auto AutoValue = Auto._ListAuto.Single(r => r.auto_id == auto_id); + AutoValue._ListDraw.Add(this); + } + } +} diff --git a/Auto_Demo/icons/add-square.xaml b/Auto_Demo/icons/add-square.xaml new file mode 100644 index 0000000..4b4beec --- /dev/null +++ b/Auto_Demo/icons/add-square.xaml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/chevron-down.xaml b/Auto_Demo/icons/chevron-down.xaml new file mode 100644 index 0000000..f822132 --- /dev/null +++ b/Auto_Demo/icons/chevron-down.xaml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/chevron-up.xaml b/Auto_Demo/icons/chevron-up.xaml new file mode 100644 index 0000000..0ecc325 --- /dev/null +++ b/Auto_Demo/icons/chevron-up.xaml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/edit-name.xaml b/Auto_Demo/icons/edit-name.xaml new file mode 100644 index 0000000..6c8054c --- /dev/null +++ b/Auto_Demo/icons/edit-name.xaml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/icon_add.xaml b/Auto_Demo/icons/icon_add.xaml new file mode 100644 index 0000000..dc6d2e5 --- /dev/null +++ b/Auto_Demo/icons/icon_add.xaml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/noti-error.xaml b/Auto_Demo/icons/noti-error.xaml new file mode 100644 index 0000000..ec29fdc --- /dev/null +++ b/Auto_Demo/icons/noti-error.xaml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/noti-info.xaml b/Auto_Demo/icons/noti-info.xaml new file mode 100644 index 0000000..815c3f9 --- /dev/null +++ b/Auto_Demo/icons/noti-info.xaml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/noti-success.xaml b/Auto_Demo/icons/noti-success.xaml new file mode 100644 index 0000000..529b771 --- /dev/null +++ b/Auto_Demo/icons/noti-success.xaml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/noti-warning.xaml b/Auto_Demo/icons/noti-warning.xaml new file mode 100644 index 0000000..9888a6b --- /dev/null +++ b/Auto_Demo/icons/noti-warning.xaml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/pause-auto.xaml b/Auto_Demo/icons/pause-auto.xaml new file mode 100644 index 0000000..cc09d99 --- /dev/null +++ b/Auto_Demo/icons/pause-auto.xaml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/play-auto.xaml b/Auto_Demo/icons/play-auto.xaml new file mode 100644 index 0000000..f10033b --- /dev/null +++ b/Auto_Demo/icons/play-auto.xaml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/icons/save-name.xaml b/Auto_Demo/icons/save-name.xaml new file mode 100644 index 0000000..75a3ed1 --- /dev/null +++ b/Auto_Demo/icons/save-name.xaml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/images/android.png b/Auto_Demo/images/android.png new file mode 100644 index 0000000..564d034 Binary files /dev/null and b/Auto_Demo/images/android.png differ diff --git a/Auto_Demo/images/bluestacks.png b/Auto_Demo/images/bluestacks.png new file mode 100644 index 0000000..cc5d24c Binary files /dev/null and b/Auto_Demo/images/bluestacks.png differ diff --git a/Auto_Demo/images/fish/1.png b/Auto_Demo/images/fish/1.png new file mode 100644 index 0000000..ee6ed20 Binary files /dev/null and b/Auto_Demo/images/fish/1.png differ diff --git a/Auto_Demo/images/fish/10.png b/Auto_Demo/images/fish/10.png new file mode 100644 index 0000000..f8e53e6 Binary files /dev/null and b/Auto_Demo/images/fish/10.png differ diff --git a/Auto_Demo/images/fish/11.png b/Auto_Demo/images/fish/11.png new file mode 100644 index 0000000..90ad186 Binary files /dev/null and b/Auto_Demo/images/fish/11.png differ diff --git a/Auto_Demo/images/fish/12.png b/Auto_Demo/images/fish/12.png new file mode 100644 index 0000000..5aa346a Binary files /dev/null and b/Auto_Demo/images/fish/12.png differ diff --git a/Auto_Demo/images/fish/13.png b/Auto_Demo/images/fish/13.png new file mode 100644 index 0000000..acd5ce1 Binary files /dev/null and b/Auto_Demo/images/fish/13.png differ diff --git a/Auto_Demo/images/fish/14.png b/Auto_Demo/images/fish/14.png new file mode 100644 index 0000000..b00475b Binary files /dev/null and b/Auto_Demo/images/fish/14.png differ diff --git a/Auto_Demo/images/fish/15.png b/Auto_Demo/images/fish/15.png new file mode 100644 index 0000000..de19bf3 Binary files /dev/null and b/Auto_Demo/images/fish/15.png differ diff --git a/Auto_Demo/images/fish/16.png b/Auto_Demo/images/fish/16.png new file mode 100644 index 0000000..924e808 Binary files /dev/null and b/Auto_Demo/images/fish/16.png differ diff --git a/Auto_Demo/images/fish/17.png b/Auto_Demo/images/fish/17.png new file mode 100644 index 0000000..1d9f6ba Binary files /dev/null and b/Auto_Demo/images/fish/17.png differ diff --git a/Auto_Demo/images/fish/18.png b/Auto_Demo/images/fish/18.png new file mode 100644 index 0000000..1d97017 Binary files /dev/null and b/Auto_Demo/images/fish/18.png differ diff --git a/Auto_Demo/images/fish/19.png b/Auto_Demo/images/fish/19.png new file mode 100644 index 0000000..6a30e61 Binary files /dev/null and b/Auto_Demo/images/fish/19.png differ diff --git a/Auto_Demo/images/fish/2.png b/Auto_Demo/images/fish/2.png new file mode 100644 index 0000000..4b3aac1 Binary files /dev/null and b/Auto_Demo/images/fish/2.png differ diff --git a/Auto_Demo/images/fish/20.png b/Auto_Demo/images/fish/20.png new file mode 100644 index 0000000..068c4f4 Binary files /dev/null and b/Auto_Demo/images/fish/20.png differ diff --git a/Auto_Demo/images/fish/21.png b/Auto_Demo/images/fish/21.png new file mode 100644 index 0000000..5659508 Binary files /dev/null and b/Auto_Demo/images/fish/21.png differ diff --git a/Auto_Demo/images/fish/22.png b/Auto_Demo/images/fish/22.png new file mode 100644 index 0000000..6cd72b8 Binary files /dev/null and b/Auto_Demo/images/fish/22.png differ diff --git a/Auto_Demo/images/fish/23.png b/Auto_Demo/images/fish/23.png new file mode 100644 index 0000000..2337270 Binary files /dev/null and b/Auto_Demo/images/fish/23.png differ diff --git a/Auto_Demo/images/fish/24.png b/Auto_Demo/images/fish/24.png new file mode 100644 index 0000000..7a7ceaf Binary files /dev/null and b/Auto_Demo/images/fish/24.png differ diff --git a/Auto_Demo/images/fish/25.png b/Auto_Demo/images/fish/25.png new file mode 100644 index 0000000..04df83b Binary files /dev/null and b/Auto_Demo/images/fish/25.png differ diff --git a/Auto_Demo/images/fish/26.png b/Auto_Demo/images/fish/26.png new file mode 100644 index 0000000..dcfd849 Binary files /dev/null and b/Auto_Demo/images/fish/26.png differ diff --git a/Auto_Demo/images/fish/27.png b/Auto_Demo/images/fish/27.png new file mode 100644 index 0000000..72c2f2e Binary files /dev/null and b/Auto_Demo/images/fish/27.png differ diff --git a/Auto_Demo/images/fish/28.png b/Auto_Demo/images/fish/28.png new file mode 100644 index 0000000..d8fca76 Binary files /dev/null and b/Auto_Demo/images/fish/28.png differ diff --git a/Auto_Demo/images/fish/29.png b/Auto_Demo/images/fish/29.png new file mode 100644 index 0000000..70d6b8a Binary files /dev/null and b/Auto_Demo/images/fish/29.png differ diff --git a/Auto_Demo/images/fish/3.png b/Auto_Demo/images/fish/3.png new file mode 100644 index 0000000..e39832d Binary files /dev/null and b/Auto_Demo/images/fish/3.png differ diff --git a/Auto_Demo/images/fish/30.png b/Auto_Demo/images/fish/30.png new file mode 100644 index 0000000..dd3a2cb Binary files /dev/null and b/Auto_Demo/images/fish/30.png differ diff --git a/Auto_Demo/images/fish/31.png b/Auto_Demo/images/fish/31.png new file mode 100644 index 0000000..2ad4d2f Binary files /dev/null and b/Auto_Demo/images/fish/31.png differ diff --git a/Auto_Demo/images/fish/32.png b/Auto_Demo/images/fish/32.png new file mode 100644 index 0000000..9c66db5 Binary files /dev/null and b/Auto_Demo/images/fish/32.png differ diff --git a/Auto_Demo/images/fish/33.png b/Auto_Demo/images/fish/33.png new file mode 100644 index 0000000..9663a77 Binary files /dev/null and b/Auto_Demo/images/fish/33.png differ diff --git a/Auto_Demo/images/fish/34.png b/Auto_Demo/images/fish/34.png new file mode 100644 index 0000000..0f5f802 Binary files /dev/null and b/Auto_Demo/images/fish/34.png differ diff --git a/Auto_Demo/images/fish/35.png b/Auto_Demo/images/fish/35.png new file mode 100644 index 0000000..b245cbe Binary files /dev/null and b/Auto_Demo/images/fish/35.png differ diff --git a/Auto_Demo/images/fish/36.png b/Auto_Demo/images/fish/36.png new file mode 100644 index 0000000..8872d49 Binary files /dev/null and b/Auto_Demo/images/fish/36.png differ diff --git a/Auto_Demo/images/fish/37.png b/Auto_Demo/images/fish/37.png new file mode 100644 index 0000000..56b53ee Binary files /dev/null and b/Auto_Demo/images/fish/37.png differ diff --git a/Auto_Demo/images/fish/38.png b/Auto_Demo/images/fish/38.png new file mode 100644 index 0000000..0ccd85b Binary files /dev/null and b/Auto_Demo/images/fish/38.png differ diff --git a/Auto_Demo/images/fish/39.png b/Auto_Demo/images/fish/39.png new file mode 100644 index 0000000..195ee64 Binary files /dev/null and b/Auto_Demo/images/fish/39.png differ diff --git a/Auto_Demo/images/fish/4.png b/Auto_Demo/images/fish/4.png new file mode 100644 index 0000000..2e88e16 Binary files /dev/null and b/Auto_Demo/images/fish/4.png differ diff --git a/Auto_Demo/images/fish/40.png b/Auto_Demo/images/fish/40.png new file mode 100644 index 0000000..04241ce Binary files /dev/null and b/Auto_Demo/images/fish/40.png differ diff --git a/Auto_Demo/images/fish/41.png b/Auto_Demo/images/fish/41.png new file mode 100644 index 0000000..b1b788a Binary files /dev/null and b/Auto_Demo/images/fish/41.png differ diff --git a/Auto_Demo/images/fish/42.png b/Auto_Demo/images/fish/42.png new file mode 100644 index 0000000..ed763f6 Binary files /dev/null and b/Auto_Demo/images/fish/42.png differ diff --git a/Auto_Demo/images/fish/43.png b/Auto_Demo/images/fish/43.png new file mode 100644 index 0000000..4131d33 Binary files /dev/null and b/Auto_Demo/images/fish/43.png differ diff --git a/Auto_Demo/images/fish/44.png b/Auto_Demo/images/fish/44.png new file mode 100644 index 0000000..596b507 Binary files /dev/null and b/Auto_Demo/images/fish/44.png differ diff --git a/Auto_Demo/images/fish/45.png b/Auto_Demo/images/fish/45.png new file mode 100644 index 0000000..e0ec93f Binary files /dev/null and b/Auto_Demo/images/fish/45.png differ diff --git a/Auto_Demo/images/fish/46.png b/Auto_Demo/images/fish/46.png new file mode 100644 index 0000000..bf9ec14 Binary files /dev/null and b/Auto_Demo/images/fish/46.png differ diff --git a/Auto_Demo/images/fish/47.png b/Auto_Demo/images/fish/47.png new file mode 100644 index 0000000..62b7865 Binary files /dev/null and b/Auto_Demo/images/fish/47.png differ diff --git a/Auto_Demo/images/fish/48.png b/Auto_Demo/images/fish/48.png new file mode 100644 index 0000000..e4324e2 Binary files /dev/null and b/Auto_Demo/images/fish/48.png differ diff --git a/Auto_Demo/images/fish/49.png b/Auto_Demo/images/fish/49.png new file mode 100644 index 0000000..3d137b9 Binary files /dev/null and b/Auto_Demo/images/fish/49.png differ diff --git a/Auto_Demo/images/fish/5.png b/Auto_Demo/images/fish/5.png new file mode 100644 index 0000000..fef53d2 Binary files /dev/null and b/Auto_Demo/images/fish/5.png differ diff --git a/Auto_Demo/images/fish/50.png b/Auto_Demo/images/fish/50.png new file mode 100644 index 0000000..8eeff56 Binary files /dev/null and b/Auto_Demo/images/fish/50.png differ diff --git a/Auto_Demo/images/fish/501.png b/Auto_Demo/images/fish/501.png new file mode 100644 index 0000000..1664681 Binary files /dev/null and b/Auto_Demo/images/fish/501.png differ diff --git a/Auto_Demo/images/fish/502.png b/Auto_Demo/images/fish/502.png new file mode 100644 index 0000000..3326ec4 Binary files /dev/null and b/Auto_Demo/images/fish/502.png differ diff --git a/Auto_Demo/images/fish/503.png b/Auto_Demo/images/fish/503.png new file mode 100644 index 0000000..3fd62ab Binary files /dev/null and b/Auto_Demo/images/fish/503.png differ diff --git a/Auto_Demo/images/fish/51.png b/Auto_Demo/images/fish/51.png new file mode 100644 index 0000000..299134c Binary files /dev/null and b/Auto_Demo/images/fish/51.png differ diff --git a/Auto_Demo/images/fish/52.png b/Auto_Demo/images/fish/52.png new file mode 100644 index 0000000..2c048dd Binary files /dev/null and b/Auto_Demo/images/fish/52.png differ diff --git a/Auto_Demo/images/fish/53.png b/Auto_Demo/images/fish/53.png new file mode 100644 index 0000000..42fed84 Binary files /dev/null and b/Auto_Demo/images/fish/53.png differ diff --git a/Auto_Demo/images/fish/54.png b/Auto_Demo/images/fish/54.png new file mode 100644 index 0000000..5c59756 Binary files /dev/null and b/Auto_Demo/images/fish/54.png differ diff --git a/Auto_Demo/images/fish/55.png b/Auto_Demo/images/fish/55.png new file mode 100644 index 0000000..dbc48b9 Binary files /dev/null and b/Auto_Demo/images/fish/55.png differ diff --git a/Auto_Demo/images/fish/56.png b/Auto_Demo/images/fish/56.png new file mode 100644 index 0000000..b435c44 Binary files /dev/null and b/Auto_Demo/images/fish/56.png differ diff --git a/Auto_Demo/images/fish/57.png b/Auto_Demo/images/fish/57.png new file mode 100644 index 0000000..d8e4e99 Binary files /dev/null and b/Auto_Demo/images/fish/57.png differ diff --git a/Auto_Demo/images/fish/58.png b/Auto_Demo/images/fish/58.png new file mode 100644 index 0000000..215f413 Binary files /dev/null and b/Auto_Demo/images/fish/58.png differ diff --git a/Auto_Demo/images/fish/59.png b/Auto_Demo/images/fish/59.png new file mode 100644 index 0000000..e7fba1b Binary files /dev/null and b/Auto_Demo/images/fish/59.png differ diff --git a/Auto_Demo/images/fish/6.png b/Auto_Demo/images/fish/6.png new file mode 100644 index 0000000..491a3fa Binary files /dev/null and b/Auto_Demo/images/fish/6.png differ diff --git a/Auto_Demo/images/fish/60.png b/Auto_Demo/images/fish/60.png new file mode 100644 index 0000000..ee64b0b Binary files /dev/null and b/Auto_Demo/images/fish/60.png differ diff --git a/Auto_Demo/images/fish/61.png b/Auto_Demo/images/fish/61.png new file mode 100644 index 0000000..d13506a Binary files /dev/null and b/Auto_Demo/images/fish/61.png differ diff --git a/Auto_Demo/images/fish/62.png b/Auto_Demo/images/fish/62.png new file mode 100644 index 0000000..fce9f1a Binary files /dev/null and b/Auto_Demo/images/fish/62.png differ diff --git a/Auto_Demo/images/fish/63.png b/Auto_Demo/images/fish/63.png new file mode 100644 index 0000000..9e67427 Binary files /dev/null and b/Auto_Demo/images/fish/63.png differ diff --git a/Auto_Demo/images/fish/64.png b/Auto_Demo/images/fish/64.png new file mode 100644 index 0000000..9c1ff81 Binary files /dev/null and b/Auto_Demo/images/fish/64.png differ diff --git a/Auto_Demo/images/fish/65.png b/Auto_Demo/images/fish/65.png new file mode 100644 index 0000000..a15abd7 Binary files /dev/null and b/Auto_Demo/images/fish/65.png differ diff --git a/Auto_Demo/images/fish/66.png b/Auto_Demo/images/fish/66.png new file mode 100644 index 0000000..92d0124 Binary files /dev/null and b/Auto_Demo/images/fish/66.png differ diff --git a/Auto_Demo/images/fish/67.png b/Auto_Demo/images/fish/67.png new file mode 100644 index 0000000..ba1ba27 Binary files /dev/null and b/Auto_Demo/images/fish/67.png differ diff --git a/Auto_Demo/images/fish/68.png b/Auto_Demo/images/fish/68.png new file mode 100644 index 0000000..a9f7904 Binary files /dev/null and b/Auto_Demo/images/fish/68.png differ diff --git a/Auto_Demo/images/fish/69.png b/Auto_Demo/images/fish/69.png new file mode 100644 index 0000000..0a78552 Binary files /dev/null and b/Auto_Demo/images/fish/69.png differ diff --git a/Auto_Demo/images/fish/7.png b/Auto_Demo/images/fish/7.png new file mode 100644 index 0000000..a76608a Binary files /dev/null and b/Auto_Demo/images/fish/7.png differ diff --git a/Auto_Demo/images/fish/70.png b/Auto_Demo/images/fish/70.png new file mode 100644 index 0000000..d531d92 Binary files /dev/null and b/Auto_Demo/images/fish/70.png differ diff --git a/Auto_Demo/images/fish/71.png b/Auto_Demo/images/fish/71.png new file mode 100644 index 0000000..9b38d5d Binary files /dev/null and b/Auto_Demo/images/fish/71.png differ diff --git a/Auto_Demo/images/fish/72.png b/Auto_Demo/images/fish/72.png new file mode 100644 index 0000000..33ad63f Binary files /dev/null and b/Auto_Demo/images/fish/72.png differ diff --git a/Auto_Demo/images/fish/73.png b/Auto_Demo/images/fish/73.png new file mode 100644 index 0000000..c063923 Binary files /dev/null and b/Auto_Demo/images/fish/73.png differ diff --git a/Auto_Demo/images/fish/74.png b/Auto_Demo/images/fish/74.png new file mode 100644 index 0000000..709cb52 Binary files /dev/null and b/Auto_Demo/images/fish/74.png differ diff --git a/Auto_Demo/images/fish/75.png b/Auto_Demo/images/fish/75.png new file mode 100644 index 0000000..79636e7 Binary files /dev/null and b/Auto_Demo/images/fish/75.png differ diff --git a/Auto_Demo/images/fish/76.png b/Auto_Demo/images/fish/76.png new file mode 100644 index 0000000..35e859f Binary files /dev/null and b/Auto_Demo/images/fish/76.png differ diff --git a/Auto_Demo/images/fish/77.png b/Auto_Demo/images/fish/77.png new file mode 100644 index 0000000..b7f012b Binary files /dev/null and b/Auto_Demo/images/fish/77.png differ diff --git a/Auto_Demo/images/fish/78.png b/Auto_Demo/images/fish/78.png new file mode 100644 index 0000000..145a184 Binary files /dev/null and b/Auto_Demo/images/fish/78.png differ diff --git a/Auto_Demo/images/fish/79.png b/Auto_Demo/images/fish/79.png new file mode 100644 index 0000000..1a55b67 Binary files /dev/null and b/Auto_Demo/images/fish/79.png differ diff --git a/Auto_Demo/images/fish/8.png b/Auto_Demo/images/fish/8.png new file mode 100644 index 0000000..96499b7 Binary files /dev/null and b/Auto_Demo/images/fish/8.png differ diff --git a/Auto_Demo/images/fish/80.png b/Auto_Demo/images/fish/80.png new file mode 100644 index 0000000..f40518c Binary files /dev/null and b/Auto_Demo/images/fish/80.png differ diff --git a/Auto_Demo/images/fish/9.png b/Auto_Demo/images/fish/9.png new file mode 100644 index 0000000..fb43859 Binary files /dev/null and b/Auto_Demo/images/fish/9.png differ diff --git a/Auto_Demo/images/fishing-rod/01.png b/Auto_Demo/images/fishing-rod/01.png new file mode 100644 index 0000000..cd5fe5f Binary files /dev/null and b/Auto_Demo/images/fishing-rod/01.png differ diff --git a/Auto_Demo/images/fishing-rod/02.png b/Auto_Demo/images/fishing-rod/02.png new file mode 100644 index 0000000..e342672 Binary files /dev/null and b/Auto_Demo/images/fishing-rod/02.png differ diff --git a/Auto_Demo/images/fishing-rod/03.png b/Auto_Demo/images/fishing-rod/03.png new file mode 100644 index 0000000..7d08296 Binary files /dev/null and b/Auto_Demo/images/fishing-rod/03.png differ diff --git a/Auto_Demo/images/fishing-rod/04.png b/Auto_Demo/images/fishing-rod/04.png new file mode 100644 index 0000000..ba74220 Binary files /dev/null and b/Auto_Demo/images/fishing-rod/04.png differ diff --git a/Auto_Demo/images/fishing-rod/05.png b/Auto_Demo/images/fishing-rod/05.png new file mode 100644 index 0000000..c8eb9fc Binary files /dev/null and b/Auto_Demo/images/fishing-rod/05.png differ diff --git a/Auto_Demo/images/fishing-rod/06.png b/Auto_Demo/images/fishing-rod/06.png new file mode 100644 index 0000000..cbcc65e Binary files /dev/null and b/Auto_Demo/images/fishing-rod/06.png differ diff --git a/Auto_Demo/images/fishing-rod/07.png b/Auto_Demo/images/fishing-rod/07.png new file mode 100644 index 0000000..87c33fb Binary files /dev/null and b/Auto_Demo/images/fishing-rod/07.png differ diff --git a/Auto_Demo/images/fishing-rod/08.png b/Auto_Demo/images/fishing-rod/08.png new file mode 100644 index 0000000..b50b819 Binary files /dev/null and b/Auto_Demo/images/fishing-rod/08.png differ diff --git a/Auto_Demo/images/fishing-rod/09.png b/Auto_Demo/images/fishing-rod/09.png new file mode 100644 index 0000000..aa18b77 Binary files /dev/null and b/Auto_Demo/images/fishing-rod/09.png differ diff --git a/Auto_Demo/images/fishing-rod/10.png b/Auto_Demo/images/fishing-rod/10.png new file mode 100644 index 0000000..5131c32 Binary files /dev/null and b/Auto_Demo/images/fishing-rod/10.png differ diff --git a/Auto_Demo/images/icon.png b/Auto_Demo/images/icon.png new file mode 100644 index 0000000..5b02eb0 Binary files /dev/null and b/Auto_Demo/images/icon.png differ diff --git a/Auto_Demo/images/icon/back.png b/Auto_Demo/images/icon/back.png new file mode 100644 index 0000000..1441dfc Binary files /dev/null and b/Auto_Demo/images/icon/back.png differ diff --git a/Auto_Demo/images/icon/get-location-error.png b/Auto_Demo/images/icon/get-location-error.png new file mode 100644 index 0000000..cf81cb0 Binary files /dev/null and b/Auto_Demo/images/icon/get-location-error.png differ diff --git a/Auto_Demo/images/icon/get-location-ok.png b/Auto_Demo/images/icon/get-location-ok.png new file mode 100644 index 0000000..03f1ac9 Binary files /dev/null and b/Auto_Demo/images/icon/get-location-ok.png differ diff --git a/Auto_Demo/images/icon/get-location-success.png b/Auto_Demo/images/icon/get-location-success.png new file mode 100644 index 0000000..3d34b9a Binary files /dev/null and b/Auto_Demo/images/icon/get-location-success.png differ diff --git a/Auto_Demo/images/icon/get-location.png b/Auto_Demo/images/icon/get-location.png new file mode 100644 index 0000000..fcb8461 Binary files /dev/null and b/Auto_Demo/images/icon/get-location.png differ diff --git a/Auto_Demo/images/icon/icon_crown_mini.png b/Auto_Demo/images/icon/icon_crown_mini.png new file mode 100644 index 0000000..7546c17 Binary files /dev/null and b/Auto_Demo/images/icon/icon_crown_mini.png differ diff --git a/Auto_Demo/images/icon/icon_money_1.png b/Auto_Demo/images/icon/icon_money_1.png new file mode 100644 index 0000000..6a570f7 Binary files /dev/null and b/Auto_Demo/images/icon/icon_money_1.png differ diff --git a/Auto_Demo/images/icon/icon_recycle_1.png b/Auto_Demo/images/icon/icon_recycle_1.png new file mode 100644 index 0000000..e763e7e Binary files /dev/null and b/Auto_Demo/images/icon/icon_recycle_1.png differ diff --git a/Auto_Demo/images/icon/next.png b/Auto_Demo/images/icon/next.png new file mode 100644 index 0000000..152dc53 Binary files /dev/null and b/Auto_Demo/images/icon/next.png differ diff --git a/Auto_Demo/images/icon/reload.png b/Auto_Demo/images/icon/reload.png new file mode 100644 index 0000000..c851ccc Binary files /dev/null and b/Auto_Demo/images/icon/reload.png differ diff --git a/Auto_Demo/images/icon/sort_down.png b/Auto_Demo/images/icon/sort_down.png new file mode 100644 index 0000000..6ca82b1 Binary files /dev/null and b/Auto_Demo/images/icon/sort_down.png differ diff --git a/Auto_Demo/images/icon/sort_up.png b/Auto_Demo/images/icon/sort_up.png new file mode 100644 index 0000000..931169d Binary files /dev/null and b/Auto_Demo/images/icon/sort_up.png differ diff --git a/Auto_Demo/images/ldplayer.png b/Auto_Demo/images/ldplayer.png new file mode 100644 index 0000000..be0b75c Binary files /dev/null and b/Auto_Demo/images/ldplayer.png differ diff --git a/Auto_Demo/images/logo.png b/Auto_Demo/images/logo.png new file mode 100644 index 0000000..c2a4918 Binary files /dev/null and b/Auto_Demo/images/logo.png differ diff --git a/Auto_Demo/images/memu.png b/Auto_Demo/images/memu.png new file mode 100644 index 0000000..ecd2d89 Binary files /dev/null and b/Auto_Demo/images/memu.png differ diff --git a/Auto_Demo/images/nox.png b/Auto_Demo/images/nox.png new file mode 100644 index 0000000..9a4a86d Binary files /dev/null and b/Auto_Demo/images/nox.png differ diff --git a/Auto_Demo/images/summary/broken-link.png b/Auto_Demo/images/summary/broken-link.png new file mode 100644 index 0000000..5c6d907 Binary files /dev/null and b/Auto_Demo/images/summary/broken-link.png differ diff --git a/Auto_Demo/images/summary/broken.png b/Auto_Demo/images/summary/broken.png new file mode 100644 index 0000000..10ecc40 Binary files /dev/null and b/Auto_Demo/images/summary/broken.png differ diff --git a/Auto_Demo/images/summary/buoy.png b/Auto_Demo/images/summary/buoy.png new file mode 100644 index 0000000..547a5de Binary files /dev/null and b/Auto_Demo/images/summary/buoy.png differ diff --git a/Auto_Demo/images/summary/close.png b/Auto_Demo/images/summary/close.png new file mode 100644 index 0000000..bbbc8c5 Binary files /dev/null and b/Auto_Demo/images/summary/close.png differ diff --git a/Auto_Demo/images/summary/fish.png b/Auto_Demo/images/summary/fish.png new file mode 100644 index 0000000..fe9eb8f Binary files /dev/null and b/Auto_Demo/images/summary/fish.png differ diff --git a/Auto_Demo/images/summary/fishing-float.png b/Auto_Demo/images/summary/fishing-float.png new file mode 100644 index 0000000..5f7b761 Binary files /dev/null and b/Auto_Demo/images/summary/fishing-float.png differ diff --git a/Auto_Demo/images/summary/money.png b/Auto_Demo/images/summary/money.png new file mode 100644 index 0000000..84dea2e Binary files /dev/null and b/Auto_Demo/images/summary/money.png differ diff --git a/Auto_Demo/images/summary/next.png b/Auto_Demo/images/summary/next.png new file mode 100644 index 0000000..c8660bc Binary files /dev/null and b/Auto_Demo/images/summary/next.png differ diff --git a/Auto_Demo/images/summary/recycle.png b/Auto_Demo/images/summary/recycle.png new file mode 100644 index 0000000..07d06b8 Binary files /dev/null and b/Auto_Demo/images/summary/recycle.png differ diff --git a/Auto_Demo/images/summary/rod.png b/Auto_Demo/images/summary/rod.png new file mode 100644 index 0000000..7a09d52 Binary files /dev/null and b/Auto_Demo/images/summary/rod.png differ diff --git a/Auto_Demo/obj/Debug/.NETFramework,Version=v4.5.1.AssemblyAttributes.cs b/Auto_Demo/obj/Debug/.NETFramework,Version=v4.5.1.AssemblyAttributes.cs new file mode 100644 index 0000000..3f14983 --- /dev/null +++ b/Auto_Demo/obj/Debug/.NETFramework,Version=v4.5.1.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.1", FrameworkDisplayName = ".NET Framework 4.5.1")] diff --git a/Auto_Demo/obj/Debug/App.g.cs b/Auto_Demo/obj/Debug/App.g.cs new file mode 100644 index 0000000..fc1f150 --- /dev/null +++ b/Auto_Demo/obj/Debug/App.g.cs @@ -0,0 +1,70 @@ +#pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "D0082620CE7D2DE5F331F8C846A929CFC7C9124D6D36216B29BFCD99367021F6" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// App + /// + public partial class App : System.Windows.Application { + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + + #line 5 "..\..\App.xaml" + this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); + + #line default + #line hidden + } + + /// + /// Application Entry Point. + /// + [System.STAThreadAttribute()] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public static void Main() { + Auto_Demo.App app = new Auto_Demo.App(); + app.InitializeComponent(); + app.Run(); + } + } +} + diff --git a/Auto_Demo/obj/Debug/App.g.i.cs b/Auto_Demo/obj/Debug/App.g.i.cs new file mode 100644 index 0000000..fc1f150 --- /dev/null +++ b/Auto_Demo/obj/Debug/App.g.i.cs @@ -0,0 +1,70 @@ +#pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "D0082620CE7D2DE5F331F8C846A929CFC7C9124D6D36216B29BFCD99367021F6" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// App + /// + public partial class App : System.Windows.Application { + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + + #line 5 "..\..\App.xaml" + this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); + + #line default + #line hidden + } + + /// + /// Application Entry Point. + /// + [System.STAThreadAttribute()] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public static void Main() { + Auto_Demo.App app = new Auto_Demo.App(); + app.InitializeComponent(); + app.Run(); + } + } +} + diff --git a/Auto_Demo/obj/Debug/Auto_Demo.Properties.Resources.resources b/Auto_Demo/obj/Debug/Auto_Demo.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/Auto_Demo/obj/Debug/Auto_Demo.Properties.Resources.resources differ diff --git a/Auto_Demo/obj/Debug/Auto_Demo.csproj.AssemblyReference.cache b/Auto_Demo/obj/Debug/Auto_Demo.csproj.AssemblyReference.cache new file mode 100644 index 0000000..c298f4e Binary files /dev/null and b/Auto_Demo/obj/Debug/Auto_Demo.csproj.AssemblyReference.cache differ diff --git a/Auto_Demo/obj/Debug/Auto_Demo.csproj.CopyComplete b/Auto_Demo/obj/Debug/Auto_Demo.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Auto_Demo/obj/Debug/Auto_Demo.csproj.CoreCompileInputs.cache b/Auto_Demo/obj/Debug/Auto_Demo.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..10e73d7 --- /dev/null +++ b/Auto_Demo/obj/Debug/Auto_Demo.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +fbb2ef0113a9ad8f9e773d84d0f4c0bea4d64acf diff --git a/Auto_Demo/obj/Debug/Auto_Demo.csproj.FileListAbsolute.txt b/Auto_Demo/obj/Debug/Auto_Demo.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..71c2e1a --- /dev/null +++ b/Auto_Demo/obj/Debug/Auto_Demo.csproj.FileListAbsolute.txt @@ -0,0 +1,161 @@ +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\Auto_Demo.exe.config +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\Auto_Demo.exe +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\Auto_Demo.pdb +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.AssemblyReference.cache +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\MainWindow.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\App.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo_MarkupCompile.cache +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo_MarkupCompile.lref +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\MainWindow.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.g.resources +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.Properties.Resources.resources +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.GenerateResource.cache +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.CoreCompileInputs.cache +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.exe +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.pdb +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\icon_add.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\button.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\popups\add_device.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\popups\add_device.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\button_viewbox.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\Emgu.CV.World.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\KAutoHelper.pdb +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\KAutoHelper.dll.config +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\Emgu.CV.World.xml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.CopyComplete +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\chevron-down.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\add-square.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\scrollbar.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\chevron-up.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\animations\toggle_select_device.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\EntityFramework.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\EntityFramework.SqlServer.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\System.Data.SQLite.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\System.Data.SQLite.EF6.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\System.Data.SQLite.Linq.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\EntityFramework.xml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\EntityFramework.SqlServer.xml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\System.Data.SQLite.xml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\noti-success.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\components\notification.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\GeneratedInternalTypeHelper.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\components\notification.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\noti-error.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\noti-info.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\noti-warning.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\scroll_null.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\pause-auto.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\play-auto.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\edit-name.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\save-name.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\components\CMessageBox.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\components\CMessageBox.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\components\test.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\components\test.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\checkbox.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\select.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\scroll_combobox.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Interop.AutoItX3Lib.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.ResolveComReference.cache +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\x86\leptonica-1.80.0.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\x86\tesseract41.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\x64\leptonica-1.80.0.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\x64\tesseract41.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\tessdata\vie.traineddata +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\Tesseract.dll +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\RoundBorder.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\draw.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\Window1.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\SquareBorder.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\rounded.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\rounded.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\RoundBorder.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\SquareBorder.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\draw.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\Window1.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\bin\Debug\tessdata\number.traineddata +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\slider.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\size_fish.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\FishSizeBorder.g.cs +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\size_fish.baml +C:\Users\Duy\source\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\FishSizeBorder.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\x86\leptonica-1.80.0.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\x86\tesseract41.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\x64\leptonica-1.80.0.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\x64\tesseract41.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\tessdata\number.traineddata +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\tessdata\vie.traineddata +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\Auto_Demo.exe.config +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\Auto_Demo.exe +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\Auto_Demo.pdb +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\EntityFramework.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\EntityFramework.SqlServer.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\System.Data.SQLite.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\System.Data.SQLite.EF6.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\System.Data.SQLite.Linq.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\Tesseract.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\Emgu.CV.World.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\EntityFramework.xml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\EntityFramework.SqlServer.xml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\System.Data.SQLite.xml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\Emgu.CV.World.xml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.AssemblyReference.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Interop.AutoItX3Lib.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.ResolveComReference.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\animations\toggle_select_device.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\button.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\button_viewbox.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\checkbox.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\scroll_combobox.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\scroll_null.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\scrollbar.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\select.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\custom\slider.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\add-square.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\chevron-down.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\chevron-up.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\edit-name.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\icon_add.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\noti-error.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\noti-info.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\noti-success.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\noti-warning.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\pause-auto.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\play-auto.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\icons\save-name.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\components\CMessageBox.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\components\notification.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\components\test.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\rounded.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\size_fish.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\FishSizeBorder.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\RoundBorder.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\SquareBorder.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\MainWindow.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\popups\add_device.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\draw.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\Window1.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\App.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\GeneratedInternalTypeHelper.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo_MarkupCompile.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo_MarkupCompile.lref +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\components\CMessageBox.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\components\notification.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\components\test.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\rounded.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\size_fish.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\FishSizeBorder.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\RoundBorder.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw_window\SquareBorder.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\MainWindow.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\popups\add_device.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\draw.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\draw\Window1.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.g.resources +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.Properties.Resources.resources +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.GenerateResource.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.CoreCompileInputs.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.csproj.CopyComplete +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.exe +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\Auto_Demo.pdb +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Debug\KAutoHelper.dll diff --git a/Auto_Demo/obj/Debug/Auto_Demo.csproj.GenerateResource.cache b/Auto_Demo/obj/Debug/Auto_Demo.csproj.GenerateResource.cache new file mode 100644 index 0000000..a961b50 Binary files /dev/null and b/Auto_Demo/obj/Debug/Auto_Demo.csproj.GenerateResource.cache differ diff --git a/Auto_Demo/obj/Debug/Auto_Demo.csproj.ResolveComReference.cache b/Auto_Demo/obj/Debug/Auto_Demo.csproj.ResolveComReference.cache new file mode 100644 index 0000000..818ecfd Binary files /dev/null and b/Auto_Demo/obj/Debug/Auto_Demo.csproj.ResolveComReference.cache differ diff --git a/Auto_Demo/obj/Debug/Auto_Demo.exe b/Auto_Demo/obj/Debug/Auto_Demo.exe new file mode 100644 index 0000000..f039b8c Binary files /dev/null and b/Auto_Demo/obj/Debug/Auto_Demo.exe differ diff --git a/Auto_Demo/obj/Debug/Auto_Demo.g.resources b/Auto_Demo/obj/Debug/Auto_Demo.g.resources new file mode 100644 index 0000000..21f3602 Binary files /dev/null and b/Auto_Demo/obj/Debug/Auto_Demo.g.resources differ diff --git a/Auto_Demo/obj/Debug/Auto_Demo.pdb b/Auto_Demo/obj/Debug/Auto_Demo.pdb new file mode 100644 index 0000000..4a8e78a Binary files /dev/null and b/Auto_Demo/obj/Debug/Auto_Demo.pdb differ diff --git a/Auto_Demo/obj/Debug/Auto_Demo_Content.g.i.cs b/Auto_Demo/obj/Debug/Auto_Demo_Content.g.i.cs new file mode 100644 index 0000000..e7ef4ad --- /dev/null +++ b/Auto_Demo/obj/Debug/Auto_Demo_Content.g.i.cs @@ -0,0 +1,13 @@ +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("images/icon.png")] + + diff --git a/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.cache b/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.cache new file mode 100644 index 0000000..374af53 --- /dev/null +++ b/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.cache @@ -0,0 +1,20 @@ +Auto_Demo + + +winexe +C# +.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\ +Auto_Demo +none +false +DEBUG;TRACE +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\App.xaml +331606966433 + +30-833227847 +251157656243 +animations\toggle_select_device.xaml;components\CMessageBox.xaml;components\notification.xaml;components\test.xaml;custom\button.xaml;custom\button_viewbox.xaml;custom\checkbox.xaml;custom\scroll_combobox.xaml;custom\scroll_null.xaml;custom\scrollbar.xaml;custom\select.xaml;custom\slider.xaml;draw\rounded.xaml;draw\size_fish.xaml;draw_window\FishSizeBorder.xaml;draw_window\RoundBorder.xaml;draw_window\SquareBorder.xaml;icons\add-square.xaml;icons\chevron-down.xaml;icons\chevron-up.xaml;icons\edit-name.xaml;icons\icon_add.xaml;icons\noti-error.xaml;icons\noti-info.xaml;icons\noti-success.xaml;icons\noti-warning.xaml;icons\pause-auto.xaml;icons\play-auto.xaml;icons\save-name.xaml;MainWindow.xaml;popups\add_device.xaml;draw\draw.xaml;draw\Window1.xaml; + +False + diff --git a/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.i.cache b/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.i.cache new file mode 100644 index 0000000..2b0cf8f --- /dev/null +++ b/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.i.cache @@ -0,0 +1,20 @@ +Auto_Demo + + +winexe +C# +.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\ +Auto_Demo +none +false +DEBUG;TRACE +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\App.xaml +331606966433 + +31-308329131 +251157656243 +animations\toggle_select_device.xaml;components\CMessageBox.xaml;components\notification.xaml;components\test.xaml;custom\button.xaml;custom\button_viewbox.xaml;custom\checkbox.xaml;custom\scroll_combobox.xaml;custom\scroll_null.xaml;custom\scrollbar.xaml;custom\select.xaml;custom\slider.xaml;draw\rounded.xaml;draw\size_fish.xaml;draw_window\FishSizeBorder.xaml;draw_window\RoundBorder.xaml;draw_window\SquareBorder.xaml;icons\add-square.xaml;icons\chevron-down.xaml;icons\chevron-up.xaml;icons\edit-name.xaml;icons\icon_add.xaml;icons\noti-error.xaml;icons\noti-info.xaml;icons\noti-success.xaml;icons\noti-warning.xaml;icons\pause-auto.xaml;icons\play-auto.xaml;icons\save-name.xaml;MainWindow.xaml;popups\add_device.xaml;draw\draw.xaml;draw\Window1.xaml; + +True + diff --git a/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.i.lref b/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.i.lref new file mode 100644 index 0000000..f4e33f5 --- /dev/null +++ b/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.i.lref @@ -0,0 +1,15 @@ +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Debug\GeneratedInternalTypeHelper.g.i.cs + +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\CMessageBox.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\notification.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\test.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\rounded.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\size_fish.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\FishSizeBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\RoundBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\SquareBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\MainWindow.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\popups\add_device.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\draw.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\Window1.xaml;; + diff --git a/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.lref b/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.lref new file mode 100644 index 0000000..4f57414 --- /dev/null +++ b/Auto_Demo/obj/Debug/Auto_Demo_MarkupCompile.lref @@ -0,0 +1,15 @@ + + +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\CMessageBox.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\notification.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\test.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\rounded.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\size_fish.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\FishSizeBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\RoundBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\SquareBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\MainWindow.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\popups\add_device.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\draw.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\Window1.xaml;; + diff --git a/Auto_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Auto_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..f5e894a Binary files /dev/null and b/Auto_Demo/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/Auto_Demo/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Auto_Demo/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..ceda8b2 Binary files /dev/null and b/Auto_Demo/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/Auto_Demo/obj/Debug/GeneratedInternalTypeHelper.g.cs b/Auto_Demo/obj/Debug/GeneratedInternalTypeHelper.g.cs new file mode 100644 index 0000000..136dd1b --- /dev/null +++ b/Auto_Demo/obj/Debug/GeneratedInternalTypeHelper.g.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// 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 XamlGeneratedNamespace { + + + /// + /// GeneratedInternalTypeHelper + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper { + + /// + /// CreateInstance + /// + protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) { + return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic) + | (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture); + } + + /// + /// GetPropertyValue + /// + protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) { + return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// SetPropertyValue + /// + protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) { + propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// CreateDelegate + /// + protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) { + return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod + | (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] { + delegateType, + handler}, null))); + } + + /// + /// AddEventHandler + /// + protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) { + eventInfo.AddEventHandler(target, handler); + } + } +} + diff --git a/Auto_Demo/obj/Debug/GeneratedInternalTypeHelper.g.i.cs b/Auto_Demo/obj/Debug/GeneratedInternalTypeHelper.g.i.cs new file mode 100644 index 0000000..136dd1b --- /dev/null +++ b/Auto_Demo/obj/Debug/GeneratedInternalTypeHelper.g.i.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// 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 XamlGeneratedNamespace { + + + /// + /// GeneratedInternalTypeHelper + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper { + + /// + /// CreateInstance + /// + protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) { + return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic) + | (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture); + } + + /// + /// GetPropertyValue + /// + protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) { + return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// SetPropertyValue + /// + protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) { + propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// CreateDelegate + /// + protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) { + return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod + | (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] { + delegateType, + handler}, null))); + } + + /// + /// AddEventHandler + /// + protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) { + eventInfo.AddEventHandler(target, handler); + } + } +} + diff --git a/Auto_Demo/obj/Debug/Interop.AutoItX3Lib.dll b/Auto_Demo/obj/Debug/Interop.AutoItX3Lib.dll new file mode 100644 index 0000000..7adba45 Binary files /dev/null and b/Auto_Demo/obj/Debug/Interop.AutoItX3Lib.dll differ diff --git a/Auto_Demo/obj/Debug/MainWindow.baml b/Auto_Demo/obj/Debug/MainWindow.baml new file mode 100644 index 0000000..ffc8ddf Binary files /dev/null and b/Auto_Demo/obj/Debug/MainWindow.baml differ diff --git a/Auto_Demo/obj/Debug/MainWindow.g.cs b/Auto_Demo/obj/Debug/MainWindow.g.cs new file mode 100644 index 0000000..282d198 --- /dev/null +++ b/Auto_Demo/obj/Debug/MainWindow.g.cs @@ -0,0 +1,1269 @@ +#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "314E1F1C647B02FC447C9BA6E066F3D525ACFD24D4F23E6BEED045047E3D297C" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// MainWindow + /// + public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 13 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.MainWindow root; + + #line default + #line hidden + + + #line 36 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image img_logo; + + #line default + #line hidden + + + #line 43 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_MinimizeSecondary; + + #line default + #line hidden + + + #line 44 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_MinimizePrimary; + + #line default + #line hidden + + + #line 50 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 51 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 52 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 54 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 67 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Button button_AddDevice; + + #line default + #line hidden + + + #line 82 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer sv_ListEmu; + + #line default + #line hidden + + + #line 83 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_Auto; + + #line default + #line hidden + + + #line 215 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_RemoveEmuGroup; + + #line default + #line hidden + + + #line 216 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu1; + + #line default + #line hidden + + + #line 217 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu2; + + #line default + #line hidden + + + #line 219 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu; + + #line default + #line hidden + + + #line 223 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border bg_buttonAuto; + + #line default + #line hidden + + + #line 259 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label ic_Play; + + #line default + #line hidden + + + #line 261 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label ic_Pause; + + #line default + #line hidden + + + #line 360 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Hour; + + #line default + #line hidden + + + #line 363 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Minute; + + #line default + #line hidden + + + #line 364 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Session; + + #line default + #line hidden + + + #line 412 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image get_Position; + + #line default + #line hidden + + + #line 413 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_StatusGetPosition; + + #line default + #line hidden + + + #line 414 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border button_StopGetPosition; + + #line default + #line hidden + + + #line 432 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_FishSize; + + #line default + #line hidden + + + #line 496 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFastFS; + + #line default + #line hidden + + + #line 523 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFishingRod; + + #line default + #line hidden + + + #line 550 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFishingRod2; + + #line default + #line hidden + + + #line 580 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isCheckedChangeFishingRod; + + #line default + #line hidden + + + #line 586 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_stepChangeFishingRod; + + #line default + #line hidden + + + #line 598 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isReGetInfoRod; + + #line default + #line hidden + + + #line 615 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_DelayFishingTest; + + #line default + #line hidden + + + #line 631 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListLanguage; + + #line default + #line hidden + + + #line 649 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isSaveExclamation; + + #line default + #line hidden + + + #line 662 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Slider slider_SpeedAuto; + + #line default + #line hidden + + + #line 663 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_ValueSpeedName; + + #line default + #line hidden + + + #line 673 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_DelayCheck; + + #line default + #line hidden + + + #line 727 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Hour; + + #line default + #line hidden + + + #line 729 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Minute; + + #line default + #line hidden + + + #line 731 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Second; + + #line default + #line hidden + + + #line 775 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_quangCan; + + #line default + #line hidden + + + #line 791 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_boQuaCa; + + #line default + #line hidden + + + #line 815 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_dutDay; + + #line default + #line hidden + + + #line 831 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_cauLoi; + + #line default + #line hidden + + + #line 855 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_soCa; + + #line default + #line hidden + + + #line 871 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_doTaiChe; + + #line default + #line hidden + + + #line 895 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_tienBanCa; + + #line default + #line hidden + + + #line 911 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_tienSuaCan; + + #line default + #line hidden + + + #line 932 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish1; + + #line default + #line hidden + + + #line 935 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish2; + + #line default + #line hidden + + + #line 938 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish3; + + #line default + #line hidden + + + #line 941 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish4; + + #line default + #line hidden + + + #line 959 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid paging_ListFish; + + #line default + #line hidden + + + #line 979 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_pageSummaryFish; + + #line default + #line hidden + + + #line 997 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid action_Sort; + + #line default + #line hidden + + + #line 1010 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_STT; + + #line default + #line hidden + + + #line 1011 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_STT; + + #line default + #line hidden + + + #line 1013 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_SelectLevel; + + #line default + #line hidden + + + #line 1030 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_Money; + + #line default + #line hidden + + + #line 1031 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_Money; + + #line default + #line hidden + + + #line 1033 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_SelectSize; + + #line default + #line hidden + + + #line 1050 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_Shadow; + + #line default + #line hidden + + + #line 1051 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_Shadow; + + #line default + #line hidden + + + #line 1054 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border notFoundSortData; + + #line default + #line hidden + + + #line 1057 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_SummaryFish; + + #line default + #line hidden + + + #line 1096 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock notiStep; + + #line default + #line hidden + + + #line 1097 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid fishingDone; + + #line default + #line hidden + + + #line 1108 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock fishingDoneName; + + #line default + #line hidden + + + #line 1109 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image fishingDoneVM; + + #line default + #line hidden + + + #line 1111 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock fishingDonePrice; + + #line default + #line hidden + + + #line 1112 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image fishingDoneMoney; + + #line default + #line hidden + + + #line 1118 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_Notification; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/mainwindow.xaml", System.UriKind.Relative); + + #line 1 "..\..\MainWindow.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.root = ((Auto_Demo.MainWindow)(target)); + + #line 10 "..\..\MainWindow.xaml" + this.root.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + return; + case 2: + + #line 35 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showDashboard); + + #line default + #line hidden + return; + case 3: + this.img_logo = ((System.Windows.Controls.Image)(target)); + return; + case 4: + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.minimize_App); + + #line default + #line hidden + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Minimize); + + #line default + #line hidden + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_MinimizeOut); + + #line default + #line hidden + return; + case 5: + this.icon_MinimizeSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_MinimizePrimary = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.close_App); + + #line default + #line hidden + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 8: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 9: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 10: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 11: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 12: + this.button_AddDevice = ((System.Windows.Controls.Button)(target)); + + #line 67 "..\..\MainWindow.xaml" + this.button_AddDevice.Click += new System.Windows.RoutedEventHandler(this.open_PopupAddDevice); + + #line default + #line hidden + return; + case 13: + this.sv_ListEmu = ((System.Windows.Controls.ScrollViewer)(target)); + return; + case 14: + this.ic_Auto = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 18: + + #line 213 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_RemoveEmu); + + #line default + #line hidden + return; + case 19: + this.icon_RemoveEmuGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 20: + this.icon_RemoveEmu1 = ((System.Windows.Shapes.Path)(target)); + return; + case 21: + this.icon_RemoveEmu2 = ((System.Windows.Shapes.Path)(target)); + return; + case 22: + this.icon_RemoveEmu = ((System.Windows.Shapes.Path)(target)); + return; + case 23: + this.bg_buttonAuto = ((System.Windows.Controls.Border)(target)); + + #line 223 "..\..\MainWindow.xaml" + this.bg_buttonAuto.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.startAuto); + + #line default + #line hidden + return; + case 24: + this.ic_Play = ((System.Windows.Controls.Label)(target)); + return; + case 25: + this.ic_Pause = ((System.Windows.Controls.Label)(target)); + return; + case 26: + + #line 279 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.stopAuto); + + #line default + #line hidden + return; + case 27: + + #line 320 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSetting); + + #line default + #line hidden + return; + case 28: + + #line 335 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSummary); + + #line default + #line hidden + return; + case 29: + + #line 352 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSummary); + + #line default + #line hidden + return; + case 30: + this.game_Hour = ((System.Windows.Controls.TextBlock)(target)); + return; + case 31: + this.game_Minute = ((System.Windows.Controls.TextBlock)(target)); + return; + case 32: + this.game_Session = ((System.Windows.Controls.TextBlock)(target)); + return; + case 33: + this.get_Position = ((System.Windows.Controls.Image)(target)); + + #line 412 "..\..\MainWindow.xaml" + this.get_Position.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.getLocation); + + #line default + #line hidden + return; + case 34: + this.tb_StatusGetPosition = ((System.Windows.Controls.TextBlock)(target)); + return; + case 35: + this.button_StopGetPosition = ((System.Windows.Controls.Border)(target)); + + #line 414 "..\..\MainWindow.xaml" + this.button_StopGetPosition.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.stopGetPosition); + + #line default + #line hidden + return; + case 36: + this.ic_FishSize = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 39: + this.cb_ListFastFS = ((System.Windows.Controls.ComboBox)(target)); + + #line 496 "..\..\MainWindow.xaml" + this.cb_ListFastFS.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeModeFS); + + #line default + #line hidden + return; + case 40: + this.cb_ListFishingRod = ((System.Windows.Controls.ComboBox)(target)); + + #line 523 "..\..\MainWindow.xaml" + this.cb_ListFishingRod.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeFishingRod1); + + #line default + #line hidden + return; + case 41: + this.cb_ListFishingRod2 = ((System.Windows.Controls.ComboBox)(target)); + + #line 550 "..\..\MainWindow.xaml" + this.cb_ListFishingRod2.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeFishingRod2); + + #line default + #line hidden + return; + case 42: + this.cb_isCheckedChangeFishingRod = ((System.Windows.Controls.CheckBox)(target)); + + #line 580 "..\..\MainWindow.xaml" + this.cb_isCheckedChangeFishingRod.Checked += new System.Windows.RoutedEventHandler(this.isChangeFishingRodChanged); + + #line default + #line hidden + + #line 580 "..\..\MainWindow.xaml" + this.cb_isCheckedChangeFishingRod.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeFishingRodChanged); + + #line default + #line hidden + return; + case 43: + this.tb_stepChangeFishingRod = ((System.Windows.Controls.TextBox)(target)); + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeStepChange); + + #line default + #line hidden + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.LostFocus += new System.Windows.RoutedEventHandler(this.changeStepChange); + + #line default + #line hidden + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 44: + this.cb_isReGetInfoRod = ((System.Windows.Controls.CheckBox)(target)); + + #line 598 "..\..\MainWindow.xaml" + this.cb_isReGetInfoRod.Checked += new System.Windows.RoutedEventHandler(this.isChangeReGetInfoRod); + + #line default + #line hidden + + #line 598 "..\..\MainWindow.xaml" + this.cb_isReGetInfoRod.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeReGetInfoRod); + + #line default + #line hidden + return; + case 45: + this.tb_DelayFishingTest = ((System.Windows.Controls.TextBox)(target)); + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeDelayFishingTest); + + #line default + #line hidden + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.LostFocus += new System.Windows.RoutedEventHandler(this.changeDelayFishingTest); + + #line default + #line hidden + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 46: + this.cb_ListLanguage = ((System.Windows.Controls.ComboBox)(target)); + + #line 631 "..\..\MainWindow.xaml" + this.cb_ListLanguage.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeLanguage); + + #line default + #line hidden + return; + case 47: + this.cb_isSaveExclamation = ((System.Windows.Controls.CheckBox)(target)); + + #line 649 "..\..\MainWindow.xaml" + this.cb_isSaveExclamation.Checked += new System.Windows.RoutedEventHandler(this.isChangeSaveExclamation); + + #line default + #line hidden + + #line 649 "..\..\MainWindow.xaml" + this.cb_isSaveExclamation.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeSaveExclamation); + + #line default + #line hidden + return; + case 48: + this.slider_SpeedAuto = ((System.Windows.Controls.Slider)(target)); + + #line 662 "..\..\MainWindow.xaml" + this.slider_SpeedAuto.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.speedAutoChange); + + #line default + #line hidden + return; + case 49: + this.tb_ValueSpeedName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 50: + this.tb_DelayCheck = ((System.Windows.Controls.TextBox)(target)); + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeDelayCheck); + + #line default + #line hidden + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.LostFocus += new System.Windows.RoutedEventHandler(this.changeDelayCheck); + + #line default + #line hidden + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 51: + this.total_Hour = ((System.Windows.Controls.TextBlock)(target)); + return; + case 52: + this.total_Minute = ((System.Windows.Controls.TextBlock)(target)); + return; + case 53: + this.total_Second = ((System.Windows.Controls.TextBlock)(target)); + return; + case 54: + + #line 733 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_RemoveSummary); + + #line default + #line hidden + return; + case 55: + this.total_quangCan = ((System.Windows.Controls.TextBlock)(target)); + return; + case 56: + this.total_boQuaCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 57: + this.total_dutDay = ((System.Windows.Controls.TextBlock)(target)); + return; + case 58: + this.total_cauLoi = ((System.Windows.Controls.TextBlock)(target)); + return; + case 59: + this.total_soCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 60: + this.total_doTaiChe = ((System.Windows.Controls.TextBlock)(target)); + return; + case 61: + this.total_tienBanCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 62: + this.total_tienSuaCan = ((System.Windows.Controls.TextBlock)(target)); + return; + case 63: + this.tb_TotalFish1 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 64: + this.tb_TotalFish2 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 65: + this.tb_TotalFish3 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 66: + this.tb_TotalFish4 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 67: + this.paging_ListFish = ((System.Windows.Controls.Grid)(target)); + return; + case 68: + + #line 965 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.sort_PrevPage); + + #line default + #line hidden + return; + case 69: + this.tb_pageSummaryFish = ((System.Windows.Controls.TextBox)(target)); + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeSortPage); + + #line default + #line hidden + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.LostFocus += new System.Windows.RoutedEventHandler(this.changeSortPage); + + #line default + #line hidden + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 70: + + #line 982 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.sort_NextPage); + + #line default + #line hidden + return; + case 71: + this.action_Sort = ((System.Windows.Controls.Grid)(target)); + return; + case 72: + + #line 1005 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortSTT); + + #line default + #line hidden + return; + case 73: + this.sortDown_STT = ((System.Windows.Controls.Image)(target)); + return; + case 74: + this.sortUp_STT = ((System.Windows.Controls.Image)(target)); + return; + case 75: + this.cb_SelectLevel = ((System.Windows.Controls.ComboBox)(target)); + + #line 1013 "..\..\MainWindow.xaml" + this.cb_SelectLevel.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeLevelSelect); + + #line default + #line hidden + return; + case 76: + + #line 1025 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortMoney); + + #line default + #line hidden + return; + case 77: + this.sortDown_Money = ((System.Windows.Controls.Image)(target)); + return; + case 78: + this.sortUp_Money = ((System.Windows.Controls.Image)(target)); + return; + case 79: + this.cb_SelectSize = ((System.Windows.Controls.ComboBox)(target)); + + #line 1033 "..\..\MainWindow.xaml" + this.cb_SelectSize.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeSizeSelect); + + #line default + #line hidden + return; + case 80: + + #line 1045 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortShadow); + + #line default + #line hidden + return; + case 81: + this.sortDown_Shadow = ((System.Windows.Controls.Image)(target)); + return; + case 82: + this.sortUp_Shadow = ((System.Windows.Controls.Image)(target)); + return; + case 83: + this.notFoundSortData = ((System.Windows.Controls.Border)(target)); + return; + case 84: + this.ic_SummaryFish = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 85: + this.notiStep = ((System.Windows.Controls.TextBlock)(target)); + return; + case 86: + this.fishingDone = ((System.Windows.Controls.Grid)(target)); + return; + case 87: + this.fishingDoneName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 88: + this.fishingDoneVM = ((System.Windows.Controls.Image)(target)); + return; + case 89: + this.fishingDonePrice = ((System.Windows.Controls.TextBlock)(target)); + return; + case 90: + this.fishingDoneMoney = ((System.Windows.Controls.Image)(target)); + return; + case 91: + this.ic_Notification = ((System.Windows.Controls.ItemsControl)(target)); + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 15: + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.selectAuto); + + #line default + #line hidden + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Emulator); + + #line default + #line hidden + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_EmulatorOut); + + #line default + #line hidden + break; + case 16: + + #line 117 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Label)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.change_NameEmu); + + #line default + #line hidden + break; + case 17: + + #line 129 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Label)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.saveChangeNameEmu); + + #line default + #line hidden + break; + case 37: + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).GotFocus += new System.Windows.RoutedEventHandler(this.startChangeMaxSF); + + #line default + #line hidden + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).LostFocus += new System.Windows.RoutedEventHandler(this.changeMaxSF); + + #line default + #line hidden + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + break; + case 38: + + #line 465 "..\..\MainWindow.xaml" + ((System.Windows.Controls.CheckBox)(target)).Checked += new System.Windows.RoutedEventHandler(this.CheckBoxFSChanged); + + #line default + #line hidden + + #line 465 "..\..\MainWindow.xaml" + ((System.Windows.Controls.CheckBox)(target)).Unchecked += new System.Windows.RoutedEventHandler(this.CheckBoxFSChanged); + + #line default + #line hidden + break; + } + } + } +} + diff --git a/Auto_Demo/obj/Debug/MainWindow.g.i.cs b/Auto_Demo/obj/Debug/MainWindow.g.i.cs new file mode 100644 index 0000000..282d198 --- /dev/null +++ b/Auto_Demo/obj/Debug/MainWindow.g.i.cs @@ -0,0 +1,1269 @@ +#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "314E1F1C647B02FC447C9BA6E066F3D525ACFD24D4F23E6BEED045047E3D297C" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// MainWindow + /// + public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 13 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.MainWindow root; + + #line default + #line hidden + + + #line 36 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image img_logo; + + #line default + #line hidden + + + #line 43 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_MinimizeSecondary; + + #line default + #line hidden + + + #line 44 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_MinimizePrimary; + + #line default + #line hidden + + + #line 50 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 51 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 52 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 54 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 67 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Button button_AddDevice; + + #line default + #line hidden + + + #line 82 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer sv_ListEmu; + + #line default + #line hidden + + + #line 83 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_Auto; + + #line default + #line hidden + + + #line 215 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_RemoveEmuGroup; + + #line default + #line hidden + + + #line 216 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu1; + + #line default + #line hidden + + + #line 217 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu2; + + #line default + #line hidden + + + #line 219 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu; + + #line default + #line hidden + + + #line 223 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border bg_buttonAuto; + + #line default + #line hidden + + + #line 259 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label ic_Play; + + #line default + #line hidden + + + #line 261 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label ic_Pause; + + #line default + #line hidden + + + #line 360 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Hour; + + #line default + #line hidden + + + #line 363 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Minute; + + #line default + #line hidden + + + #line 364 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Session; + + #line default + #line hidden + + + #line 412 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image get_Position; + + #line default + #line hidden + + + #line 413 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_StatusGetPosition; + + #line default + #line hidden + + + #line 414 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border button_StopGetPosition; + + #line default + #line hidden + + + #line 432 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_FishSize; + + #line default + #line hidden + + + #line 496 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFastFS; + + #line default + #line hidden + + + #line 523 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFishingRod; + + #line default + #line hidden + + + #line 550 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFishingRod2; + + #line default + #line hidden + + + #line 580 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isCheckedChangeFishingRod; + + #line default + #line hidden + + + #line 586 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_stepChangeFishingRod; + + #line default + #line hidden + + + #line 598 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isReGetInfoRod; + + #line default + #line hidden + + + #line 615 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_DelayFishingTest; + + #line default + #line hidden + + + #line 631 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListLanguage; + + #line default + #line hidden + + + #line 649 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isSaveExclamation; + + #line default + #line hidden + + + #line 662 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Slider slider_SpeedAuto; + + #line default + #line hidden + + + #line 663 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_ValueSpeedName; + + #line default + #line hidden + + + #line 673 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_DelayCheck; + + #line default + #line hidden + + + #line 727 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Hour; + + #line default + #line hidden + + + #line 729 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Minute; + + #line default + #line hidden + + + #line 731 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Second; + + #line default + #line hidden + + + #line 775 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_quangCan; + + #line default + #line hidden + + + #line 791 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_boQuaCa; + + #line default + #line hidden + + + #line 815 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_dutDay; + + #line default + #line hidden + + + #line 831 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_cauLoi; + + #line default + #line hidden + + + #line 855 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_soCa; + + #line default + #line hidden + + + #line 871 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_doTaiChe; + + #line default + #line hidden + + + #line 895 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_tienBanCa; + + #line default + #line hidden + + + #line 911 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_tienSuaCan; + + #line default + #line hidden + + + #line 932 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish1; + + #line default + #line hidden + + + #line 935 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish2; + + #line default + #line hidden + + + #line 938 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish3; + + #line default + #line hidden + + + #line 941 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish4; + + #line default + #line hidden + + + #line 959 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid paging_ListFish; + + #line default + #line hidden + + + #line 979 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_pageSummaryFish; + + #line default + #line hidden + + + #line 997 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid action_Sort; + + #line default + #line hidden + + + #line 1010 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_STT; + + #line default + #line hidden + + + #line 1011 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_STT; + + #line default + #line hidden + + + #line 1013 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_SelectLevel; + + #line default + #line hidden + + + #line 1030 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_Money; + + #line default + #line hidden + + + #line 1031 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_Money; + + #line default + #line hidden + + + #line 1033 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_SelectSize; + + #line default + #line hidden + + + #line 1050 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_Shadow; + + #line default + #line hidden + + + #line 1051 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_Shadow; + + #line default + #line hidden + + + #line 1054 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border notFoundSortData; + + #line default + #line hidden + + + #line 1057 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_SummaryFish; + + #line default + #line hidden + + + #line 1096 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock notiStep; + + #line default + #line hidden + + + #line 1097 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid fishingDone; + + #line default + #line hidden + + + #line 1108 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock fishingDoneName; + + #line default + #line hidden + + + #line 1109 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image fishingDoneVM; + + #line default + #line hidden + + + #line 1111 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock fishingDonePrice; + + #line default + #line hidden + + + #line 1112 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image fishingDoneMoney; + + #line default + #line hidden + + + #line 1118 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_Notification; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/mainwindow.xaml", System.UriKind.Relative); + + #line 1 "..\..\MainWindow.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.root = ((Auto_Demo.MainWindow)(target)); + + #line 10 "..\..\MainWindow.xaml" + this.root.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + return; + case 2: + + #line 35 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showDashboard); + + #line default + #line hidden + return; + case 3: + this.img_logo = ((System.Windows.Controls.Image)(target)); + return; + case 4: + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.minimize_App); + + #line default + #line hidden + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Minimize); + + #line default + #line hidden + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_MinimizeOut); + + #line default + #line hidden + return; + case 5: + this.icon_MinimizeSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_MinimizePrimary = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.close_App); + + #line default + #line hidden + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 8: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 9: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 10: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 11: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 12: + this.button_AddDevice = ((System.Windows.Controls.Button)(target)); + + #line 67 "..\..\MainWindow.xaml" + this.button_AddDevice.Click += new System.Windows.RoutedEventHandler(this.open_PopupAddDevice); + + #line default + #line hidden + return; + case 13: + this.sv_ListEmu = ((System.Windows.Controls.ScrollViewer)(target)); + return; + case 14: + this.ic_Auto = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 18: + + #line 213 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_RemoveEmu); + + #line default + #line hidden + return; + case 19: + this.icon_RemoveEmuGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 20: + this.icon_RemoveEmu1 = ((System.Windows.Shapes.Path)(target)); + return; + case 21: + this.icon_RemoveEmu2 = ((System.Windows.Shapes.Path)(target)); + return; + case 22: + this.icon_RemoveEmu = ((System.Windows.Shapes.Path)(target)); + return; + case 23: + this.bg_buttonAuto = ((System.Windows.Controls.Border)(target)); + + #line 223 "..\..\MainWindow.xaml" + this.bg_buttonAuto.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.startAuto); + + #line default + #line hidden + return; + case 24: + this.ic_Play = ((System.Windows.Controls.Label)(target)); + return; + case 25: + this.ic_Pause = ((System.Windows.Controls.Label)(target)); + return; + case 26: + + #line 279 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.stopAuto); + + #line default + #line hidden + return; + case 27: + + #line 320 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSetting); + + #line default + #line hidden + return; + case 28: + + #line 335 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSummary); + + #line default + #line hidden + return; + case 29: + + #line 352 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSummary); + + #line default + #line hidden + return; + case 30: + this.game_Hour = ((System.Windows.Controls.TextBlock)(target)); + return; + case 31: + this.game_Minute = ((System.Windows.Controls.TextBlock)(target)); + return; + case 32: + this.game_Session = ((System.Windows.Controls.TextBlock)(target)); + return; + case 33: + this.get_Position = ((System.Windows.Controls.Image)(target)); + + #line 412 "..\..\MainWindow.xaml" + this.get_Position.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.getLocation); + + #line default + #line hidden + return; + case 34: + this.tb_StatusGetPosition = ((System.Windows.Controls.TextBlock)(target)); + return; + case 35: + this.button_StopGetPosition = ((System.Windows.Controls.Border)(target)); + + #line 414 "..\..\MainWindow.xaml" + this.button_StopGetPosition.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.stopGetPosition); + + #line default + #line hidden + return; + case 36: + this.ic_FishSize = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 39: + this.cb_ListFastFS = ((System.Windows.Controls.ComboBox)(target)); + + #line 496 "..\..\MainWindow.xaml" + this.cb_ListFastFS.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeModeFS); + + #line default + #line hidden + return; + case 40: + this.cb_ListFishingRod = ((System.Windows.Controls.ComboBox)(target)); + + #line 523 "..\..\MainWindow.xaml" + this.cb_ListFishingRod.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeFishingRod1); + + #line default + #line hidden + return; + case 41: + this.cb_ListFishingRod2 = ((System.Windows.Controls.ComboBox)(target)); + + #line 550 "..\..\MainWindow.xaml" + this.cb_ListFishingRod2.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeFishingRod2); + + #line default + #line hidden + return; + case 42: + this.cb_isCheckedChangeFishingRod = ((System.Windows.Controls.CheckBox)(target)); + + #line 580 "..\..\MainWindow.xaml" + this.cb_isCheckedChangeFishingRod.Checked += new System.Windows.RoutedEventHandler(this.isChangeFishingRodChanged); + + #line default + #line hidden + + #line 580 "..\..\MainWindow.xaml" + this.cb_isCheckedChangeFishingRod.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeFishingRodChanged); + + #line default + #line hidden + return; + case 43: + this.tb_stepChangeFishingRod = ((System.Windows.Controls.TextBox)(target)); + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeStepChange); + + #line default + #line hidden + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.LostFocus += new System.Windows.RoutedEventHandler(this.changeStepChange); + + #line default + #line hidden + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 44: + this.cb_isReGetInfoRod = ((System.Windows.Controls.CheckBox)(target)); + + #line 598 "..\..\MainWindow.xaml" + this.cb_isReGetInfoRod.Checked += new System.Windows.RoutedEventHandler(this.isChangeReGetInfoRod); + + #line default + #line hidden + + #line 598 "..\..\MainWindow.xaml" + this.cb_isReGetInfoRod.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeReGetInfoRod); + + #line default + #line hidden + return; + case 45: + this.tb_DelayFishingTest = ((System.Windows.Controls.TextBox)(target)); + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeDelayFishingTest); + + #line default + #line hidden + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.LostFocus += new System.Windows.RoutedEventHandler(this.changeDelayFishingTest); + + #line default + #line hidden + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 46: + this.cb_ListLanguage = ((System.Windows.Controls.ComboBox)(target)); + + #line 631 "..\..\MainWindow.xaml" + this.cb_ListLanguage.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeLanguage); + + #line default + #line hidden + return; + case 47: + this.cb_isSaveExclamation = ((System.Windows.Controls.CheckBox)(target)); + + #line 649 "..\..\MainWindow.xaml" + this.cb_isSaveExclamation.Checked += new System.Windows.RoutedEventHandler(this.isChangeSaveExclamation); + + #line default + #line hidden + + #line 649 "..\..\MainWindow.xaml" + this.cb_isSaveExclamation.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeSaveExclamation); + + #line default + #line hidden + return; + case 48: + this.slider_SpeedAuto = ((System.Windows.Controls.Slider)(target)); + + #line 662 "..\..\MainWindow.xaml" + this.slider_SpeedAuto.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.speedAutoChange); + + #line default + #line hidden + return; + case 49: + this.tb_ValueSpeedName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 50: + this.tb_DelayCheck = ((System.Windows.Controls.TextBox)(target)); + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeDelayCheck); + + #line default + #line hidden + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.LostFocus += new System.Windows.RoutedEventHandler(this.changeDelayCheck); + + #line default + #line hidden + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 51: + this.total_Hour = ((System.Windows.Controls.TextBlock)(target)); + return; + case 52: + this.total_Minute = ((System.Windows.Controls.TextBlock)(target)); + return; + case 53: + this.total_Second = ((System.Windows.Controls.TextBlock)(target)); + return; + case 54: + + #line 733 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_RemoveSummary); + + #line default + #line hidden + return; + case 55: + this.total_quangCan = ((System.Windows.Controls.TextBlock)(target)); + return; + case 56: + this.total_boQuaCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 57: + this.total_dutDay = ((System.Windows.Controls.TextBlock)(target)); + return; + case 58: + this.total_cauLoi = ((System.Windows.Controls.TextBlock)(target)); + return; + case 59: + this.total_soCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 60: + this.total_doTaiChe = ((System.Windows.Controls.TextBlock)(target)); + return; + case 61: + this.total_tienBanCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 62: + this.total_tienSuaCan = ((System.Windows.Controls.TextBlock)(target)); + return; + case 63: + this.tb_TotalFish1 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 64: + this.tb_TotalFish2 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 65: + this.tb_TotalFish3 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 66: + this.tb_TotalFish4 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 67: + this.paging_ListFish = ((System.Windows.Controls.Grid)(target)); + return; + case 68: + + #line 965 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.sort_PrevPage); + + #line default + #line hidden + return; + case 69: + this.tb_pageSummaryFish = ((System.Windows.Controls.TextBox)(target)); + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeSortPage); + + #line default + #line hidden + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.LostFocus += new System.Windows.RoutedEventHandler(this.changeSortPage); + + #line default + #line hidden + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 70: + + #line 982 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.sort_NextPage); + + #line default + #line hidden + return; + case 71: + this.action_Sort = ((System.Windows.Controls.Grid)(target)); + return; + case 72: + + #line 1005 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortSTT); + + #line default + #line hidden + return; + case 73: + this.sortDown_STT = ((System.Windows.Controls.Image)(target)); + return; + case 74: + this.sortUp_STT = ((System.Windows.Controls.Image)(target)); + return; + case 75: + this.cb_SelectLevel = ((System.Windows.Controls.ComboBox)(target)); + + #line 1013 "..\..\MainWindow.xaml" + this.cb_SelectLevel.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeLevelSelect); + + #line default + #line hidden + return; + case 76: + + #line 1025 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortMoney); + + #line default + #line hidden + return; + case 77: + this.sortDown_Money = ((System.Windows.Controls.Image)(target)); + return; + case 78: + this.sortUp_Money = ((System.Windows.Controls.Image)(target)); + return; + case 79: + this.cb_SelectSize = ((System.Windows.Controls.ComboBox)(target)); + + #line 1033 "..\..\MainWindow.xaml" + this.cb_SelectSize.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeSizeSelect); + + #line default + #line hidden + return; + case 80: + + #line 1045 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortShadow); + + #line default + #line hidden + return; + case 81: + this.sortDown_Shadow = ((System.Windows.Controls.Image)(target)); + return; + case 82: + this.sortUp_Shadow = ((System.Windows.Controls.Image)(target)); + return; + case 83: + this.notFoundSortData = ((System.Windows.Controls.Border)(target)); + return; + case 84: + this.ic_SummaryFish = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 85: + this.notiStep = ((System.Windows.Controls.TextBlock)(target)); + return; + case 86: + this.fishingDone = ((System.Windows.Controls.Grid)(target)); + return; + case 87: + this.fishingDoneName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 88: + this.fishingDoneVM = ((System.Windows.Controls.Image)(target)); + return; + case 89: + this.fishingDonePrice = ((System.Windows.Controls.TextBlock)(target)); + return; + case 90: + this.fishingDoneMoney = ((System.Windows.Controls.Image)(target)); + return; + case 91: + this.ic_Notification = ((System.Windows.Controls.ItemsControl)(target)); + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 15: + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.selectAuto); + + #line default + #line hidden + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Emulator); + + #line default + #line hidden + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_EmulatorOut); + + #line default + #line hidden + break; + case 16: + + #line 117 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Label)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.change_NameEmu); + + #line default + #line hidden + break; + case 17: + + #line 129 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Label)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.saveChangeNameEmu); + + #line default + #line hidden + break; + case 37: + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).GotFocus += new System.Windows.RoutedEventHandler(this.startChangeMaxSF); + + #line default + #line hidden + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).LostFocus += new System.Windows.RoutedEventHandler(this.changeMaxSF); + + #line default + #line hidden + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + break; + case 38: + + #line 465 "..\..\MainWindow.xaml" + ((System.Windows.Controls.CheckBox)(target)).Checked += new System.Windows.RoutedEventHandler(this.CheckBoxFSChanged); + + #line default + #line hidden + + #line 465 "..\..\MainWindow.xaml" + ((System.Windows.Controls.CheckBox)(target)).Unchecked += new System.Windows.RoutedEventHandler(this.CheckBoxFSChanged); + + #line default + #line hidden + break; + } + } + } +} + diff --git a/Auto_Demo/obj/Debug/Page1.g.i.cs b/Auto_Demo/obj/Debug/Page1.g.i.cs new file mode 100644 index 0000000..4d2fc14 --- /dev/null +++ b/Auto_Demo/obj/Debug/Page1.g.i.cs @@ -0,0 +1,75 @@ +#pragma checksum "..\..\Page1.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "864E1165B539003F1B00430B0B53AC2D3E26F6A233B0BAADF4477109506541C7" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// Page1 + /// + public partial class Page1 : System.Windows.Controls.Page, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/page1.xaml", System.UriKind.Relative); + + #line 1 "..\..\Page1.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/Auto_Demo/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..9122290 Binary files /dev/null and b/Auto_Demo/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/Auto_Demo/obj/Debug/animations/toggle_select_device.baml b/Auto_Demo/obj/Debug/animations/toggle_select_device.baml new file mode 100644 index 0000000..5fdbf87 Binary files /dev/null and b/Auto_Demo/obj/Debug/animations/toggle_select_device.baml differ diff --git a/Auto_Demo/obj/Debug/components/CMessageBox.baml b/Auto_Demo/obj/Debug/components/CMessageBox.baml new file mode 100644 index 0000000..fd1aa29 Binary files /dev/null and b/Auto_Demo/obj/Debug/components/CMessageBox.baml differ diff --git a/Auto_Demo/obj/Debug/components/CMessageBox.g.cs b/Auto_Demo/obj/Debug/components/CMessageBox.g.cs new file mode 100644 index 0000000..89a8a39 --- /dev/null +++ b/Auto_Demo/obj/Debug/components/CMessageBox.g.cs @@ -0,0 +1,219 @@ +#pragma checksum "..\..\..\components\CMessageBox.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6280BB50D46E792480CF7BA9200C3FDD1849830443F8318D085D4A2DBE2C0DBB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// CMessageBox + /// + public partial class CMessageBox : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.components.CMessageBox window_main; + + #line default + #line hidden + + + #line 21 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Title; + + #line default + #line hidden + + + #line 24 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 25 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 26 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 28 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 39 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Content; + + #line default + #line hidden + + + #line 61 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_CancelButton; + + #line default + #line hidden + + + #line 74 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_OKButton; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/cmessagebox.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\CMessageBox.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.window_main = ((Auto_Demo.components.CMessageBox)(target)); + + #line 7 "..\..\..\components\CMessageBox.xaml" + this.window_main.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + return; + case 2: + this.tb_Title = ((System.Windows.Controls.TextBlock)(target)); + return; + case 3: + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_cancelButton); + + #line default + #line hidden + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 4: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 5: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 8: + this.tb_Content = ((System.Windows.Controls.TextBlock)(target)); + return; + case 9: + + #line 50 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_cancelButton); + + #line default + #line hidden + return; + case 10: + this.tb_CancelButton = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + + #line 63 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_okButton); + + #line default + #line hidden + return; + case 12: + this.tb_OKButton = ((System.Windows.Controls.TextBlock)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/components/CMessageBox.g.i.cs b/Auto_Demo/obj/Debug/components/CMessageBox.g.i.cs new file mode 100644 index 0000000..89a8a39 --- /dev/null +++ b/Auto_Demo/obj/Debug/components/CMessageBox.g.i.cs @@ -0,0 +1,219 @@ +#pragma checksum "..\..\..\components\CMessageBox.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6280BB50D46E792480CF7BA9200C3FDD1849830443F8318D085D4A2DBE2C0DBB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// CMessageBox + /// + public partial class CMessageBox : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.components.CMessageBox window_main; + + #line default + #line hidden + + + #line 21 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Title; + + #line default + #line hidden + + + #line 24 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 25 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 26 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 28 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 39 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Content; + + #line default + #line hidden + + + #line 61 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_CancelButton; + + #line default + #line hidden + + + #line 74 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_OKButton; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/cmessagebox.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\CMessageBox.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.window_main = ((Auto_Demo.components.CMessageBox)(target)); + + #line 7 "..\..\..\components\CMessageBox.xaml" + this.window_main.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + return; + case 2: + this.tb_Title = ((System.Windows.Controls.TextBlock)(target)); + return; + case 3: + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_cancelButton); + + #line default + #line hidden + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 4: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 5: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 8: + this.tb_Content = ((System.Windows.Controls.TextBlock)(target)); + return; + case 9: + + #line 50 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_cancelButton); + + #line default + #line hidden + return; + case 10: + this.tb_CancelButton = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + + #line 63 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_okButton); + + #line default + #line hidden + return; + case 12: + this.tb_OKButton = ((System.Windows.Controls.TextBlock)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/components/custom-message-box.g.i.cs b/Auto_Demo/obj/Debug/components/custom-message-box.g.i.cs new file mode 100644 index 0000000..cab036b --- /dev/null +++ b/Auto_Demo/obj/Debug/components/custom-message-box.g.i.cs @@ -0,0 +1,75 @@ +#pragma checksum "..\..\..\components\custom-message-box.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "110B1D0D26D904E13DD47C1F7F157795024A97024DA0A7DCBB41BFA48B503954" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// custom_message_box + /// + public partial class custom_message_box : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/custom-message-box.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\custom-message-box.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/components/notification.baml b/Auto_Demo/obj/Debug/components/notification.baml new file mode 100644 index 0000000..9617351 Binary files /dev/null and b/Auto_Demo/obj/Debug/components/notification.baml differ diff --git a/Auto_Demo/obj/Debug/components/notification.g.cs b/Auto_Demo/obj/Debug/components/notification.g.cs new file mode 100644 index 0000000..9d483ed --- /dev/null +++ b/Auto_Demo/obj/Debug/components/notification.g.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\components\notification.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "7F5943FE4D8647659FF29F08DC94382E52B779C7A98CF4A83CD561E3DDF45E09" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// notification + /// + public partial class notification : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\components\notification.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.components.notification root; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/notification.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\notification.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.root = ((Auto_Demo.components.notification)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/components/notification.g.i.cs b/Auto_Demo/obj/Debug/components/notification.g.i.cs new file mode 100644 index 0000000..9d483ed --- /dev/null +++ b/Auto_Demo/obj/Debug/components/notification.g.i.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\components\notification.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "7F5943FE4D8647659FF29F08DC94382E52B779C7A98CF4A83CD561E3DDF45E09" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// notification + /// + public partial class notification : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\components\notification.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.components.notification root; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/notification.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\notification.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.root = ((Auto_Demo.components.notification)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/components/test.baml b/Auto_Demo/obj/Debug/components/test.baml new file mode 100644 index 0000000..5275fe8 Binary files /dev/null and b/Auto_Demo/obj/Debug/components/test.baml differ diff --git a/Auto_Demo/obj/Debug/components/test.g.cs b/Auto_Demo/obj/Debug/components/test.g.cs new file mode 100644 index 0000000..4bf6a7a --- /dev/null +++ b/Auto_Demo/obj/Debug/components/test.g.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\components\test.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "54AA5303588B431B8EBEB4047CC401263A91F48863EE9EEDCAE78090797B7539" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// test + /// + public partial class test : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 22 "..\..\..\components\test.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_sizeMax; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/test.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\test.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.tb_sizeMax = ((System.Windows.Controls.TextBox)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/components/test.g.i.cs b/Auto_Demo/obj/Debug/components/test.g.i.cs new file mode 100644 index 0000000..4bf6a7a --- /dev/null +++ b/Auto_Demo/obj/Debug/components/test.g.i.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\components\test.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "54AA5303588B431B8EBEB4047CC401263A91F48863EE9EEDCAE78090797B7539" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// test + /// + public partial class test : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 22 "..\..\..\components\test.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_sizeMax; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/test.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\test.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.tb_sizeMax = ((System.Windows.Controls.TextBox)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/custom/button.baml b/Auto_Demo/obj/Debug/custom/button.baml new file mode 100644 index 0000000..afee614 Binary files /dev/null and b/Auto_Demo/obj/Debug/custom/button.baml differ diff --git a/Auto_Demo/obj/Debug/custom/button_viewbox.baml b/Auto_Demo/obj/Debug/custom/button_viewbox.baml new file mode 100644 index 0000000..439ea17 Binary files /dev/null and b/Auto_Demo/obj/Debug/custom/button_viewbox.baml differ diff --git a/Auto_Demo/obj/Debug/custom/checkbox.baml b/Auto_Demo/obj/Debug/custom/checkbox.baml new file mode 100644 index 0000000..c6f843d Binary files /dev/null and b/Auto_Demo/obj/Debug/custom/checkbox.baml differ diff --git a/Auto_Demo/obj/Debug/custom/scroll_combobox.baml b/Auto_Demo/obj/Debug/custom/scroll_combobox.baml new file mode 100644 index 0000000..6daf3a1 Binary files /dev/null and b/Auto_Demo/obj/Debug/custom/scroll_combobox.baml differ diff --git a/Auto_Demo/obj/Debug/custom/scroll_null.baml b/Auto_Demo/obj/Debug/custom/scroll_null.baml new file mode 100644 index 0000000..56782cb Binary files /dev/null and b/Auto_Demo/obj/Debug/custom/scroll_null.baml differ diff --git a/Auto_Demo/obj/Debug/custom/scrollbar.baml b/Auto_Demo/obj/Debug/custom/scrollbar.baml new file mode 100644 index 0000000..bac8f7a Binary files /dev/null and b/Auto_Demo/obj/Debug/custom/scrollbar.baml differ diff --git a/Auto_Demo/obj/Debug/custom/select.baml b/Auto_Demo/obj/Debug/custom/select.baml new file mode 100644 index 0000000..35d3e18 Binary files /dev/null and b/Auto_Demo/obj/Debug/custom/select.baml differ diff --git a/Auto_Demo/obj/Debug/custom/slider.baml b/Auto_Demo/obj/Debug/custom/slider.baml new file mode 100644 index 0000000..b148f3a Binary files /dev/null and b/Auto_Demo/obj/Debug/custom/slider.baml differ diff --git a/Auto_Demo/obj/Debug/draw/Window1.baml b/Auto_Demo/obj/Debug/draw/Window1.baml new file mode 100644 index 0000000..3086714 Binary files /dev/null and b/Auto_Demo/obj/Debug/draw/Window1.baml differ diff --git a/Auto_Demo/obj/Debug/draw/Window1.g.cs b/Auto_Demo/obj/Debug/draw/Window1.g.cs new file mode 100644 index 0000000..a7dc526 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw/Window1.g.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\draw\Window1.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "E08875ED7FCBC439CE6A135EA9479EC048F649DD653B9C7E63FB15D96A9B41C9" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// Window1 + /// + public partial class Window1 : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 84 "..\..\..\draw\Window1.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer scroll; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/window1.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\Window1.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.scroll = ((System.Windows.Controls.ScrollViewer)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw/Window1.g.i.cs b/Auto_Demo/obj/Debug/draw/Window1.g.i.cs new file mode 100644 index 0000000..a7dc526 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw/Window1.g.i.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\draw\Window1.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "E08875ED7FCBC439CE6A135EA9479EC048F649DD653B9C7E63FB15D96A9B41C9" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// Window1 + /// + public partial class Window1 : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 84 "..\..\..\draw\Window1.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer scroll; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/window1.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\Window1.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.scroll = ((System.Windows.Controls.ScrollViewer)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw/draw.baml b/Auto_Demo/obj/Debug/draw/draw.baml new file mode 100644 index 0000000..7903a92 Binary files /dev/null and b/Auto_Demo/obj/Debug/draw/draw.baml differ diff --git a/Auto_Demo/obj/Debug/draw/draw.g.cs b/Auto_Demo/obj/Debug/draw/draw.g.cs new file mode 100644 index 0000000..4bce5b8 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw/draw.g.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\draw\draw.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "52343F5059AD1A83E0749BCCBFDE9DF8CB6AB102782208C5FE5FAE35D0D844DB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// draw + /// + public partial class draw : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.test.draw win_Draw; + + #line default + #line hidden + + + #line 11 "..\..\..\draw\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/draw.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\draw.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.test.draw)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw/draw.g.i.cs b/Auto_Demo/obj/Debug/draw/draw.g.i.cs new file mode 100644 index 0000000..4bce5b8 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw/draw.g.i.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\draw\draw.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "52343F5059AD1A83E0749BCCBFDE9DF8CB6AB102782208C5FE5FAE35D0D844DB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// draw + /// + public partial class draw : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.test.draw win_Draw; + + #line default + #line hidden + + + #line 11 "..\..\..\draw\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/draw.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\draw.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.test.draw)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw/rounded.baml b/Auto_Demo/obj/Debug/draw/rounded.baml new file mode 100644 index 0000000..4b1c7e2 Binary files /dev/null and b/Auto_Demo/obj/Debug/draw/rounded.baml differ diff --git a/Auto_Demo/obj/Debug/draw/rounded.g.cs b/Auto_Demo/obj/Debug/draw/rounded.g.cs new file mode 100644 index 0000000..dfa38b4 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw/rounded.g.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw\rounded.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "60212AC6F0405B807846E2E27F185A3F2E87668A4CA0033BE964E118DCFCA8CB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw { + + + /// + /// rounded + /// + public partial class rounded : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw.rounded win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound; + + #line default + #line hidden + + + #line 11 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound2; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/rounded.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\rounded.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw.rounded)(target)); + return; + case 2: + this.drawRound = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.drawRound2 = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw/rounded.g.i.cs b/Auto_Demo/obj/Debug/draw/rounded.g.i.cs new file mode 100644 index 0000000..dfa38b4 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw/rounded.g.i.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw\rounded.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "60212AC6F0405B807846E2E27F185A3F2E87668A4CA0033BE964E118DCFCA8CB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw { + + + /// + /// rounded + /// + public partial class rounded : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw.rounded win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound; + + #line default + #line hidden + + + #line 11 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound2; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/rounded.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\rounded.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw.rounded)(target)); + return; + case 2: + this.drawRound = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.drawRound2 = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw/size_fish.baml b/Auto_Demo/obj/Debug/draw/size_fish.baml new file mode 100644 index 0000000..fbd6425 Binary files /dev/null and b/Auto_Demo/obj/Debug/draw/size_fish.baml differ diff --git a/Auto_Demo/obj/Debug/draw/size_fish.g.cs b/Auto_Demo/obj/Debug/draw/size_fish.g.cs new file mode 100644 index 0000000..3d75e7f --- /dev/null +++ b/Auto_Demo/obj/Debug/draw/size_fish.g.cs @@ -0,0 +1,75 @@ +#pragma checksum "..\..\..\draw\size_fish.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "53448B9163CEC696EB30D4F38D39CBFA705C7CA11A58CE4D343696F0D2F429E1" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw { + + + /// + /// size_fish + /// + public partial class size_fish : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/size_fish.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\size_fish.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw/size_fish.g.i.cs b/Auto_Demo/obj/Debug/draw/size_fish.g.i.cs new file mode 100644 index 0000000..3d75e7f --- /dev/null +++ b/Auto_Demo/obj/Debug/draw/size_fish.g.i.cs @@ -0,0 +1,75 @@ +#pragma checksum "..\..\..\draw\size_fish.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "53448B9163CEC696EB30D4F38D39CBFA705C7CA11A58CE4D343696F0D2F429E1" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw { + + + /// + /// size_fish + /// + public partial class size_fish : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/size_fish.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\size_fish.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw_window/FishSize.g.i.cs b/Auto_Demo/obj/Debug/draw_window/FishSize.g.i.cs new file mode 100644 index 0000000..be8387a --- /dev/null +++ b/Auto_Demo/obj/Debug/draw_window/FishSize.g.i.cs @@ -0,0 +1,84 @@ +// Updated by XamlIntelliSenseFileGenerator 11/8/2021 8:50:12 PM +#pragma checksum "..\..\..\draw_window\FishSize.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "D7D80F3A2983779DB49B1A696B3D829493D135FFDB399E90A50690521690BE88" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window +{ + + + /// + /// FishSize + /// + public partial class FishSize : System.Windows.Window, System.Windows.Markup.IComponentConnector + { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() + { + if (_contentLoaded) + { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/fishsize.xaml", System.UriKind.Relative); + +#line 1 "..\..\..\draw_window\FishSize.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + +#line default +#line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) + { + this._contentLoaded = true; + } + + internal System.Windows.Window win_Draw; + internal System.Windows.Controls.Border drawLine; + } +} + diff --git a/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.baml b/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.baml new file mode 100644 index 0000000..5732eaf Binary files /dev/null and b/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.baml differ diff --git a/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.g.cs b/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.g.cs new file mode 100644 index 0000000..b05d85e --- /dev/null +++ b/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.g.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw_window\FishSizeBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "50245DBB0178D40F362AC404F6FEAD5DFDFF9AB403313C942F40BA3329D9EC75" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// FishSizeBorder + /// + public partial class FishSizeBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.FishSizeBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + + #line 11 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Size; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/fishsizeborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\FishSizeBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.FishSizeBorder)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.tb_Size = ((System.Windows.Controls.TextBlock)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.g.i.cs b/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.g.i.cs new file mode 100644 index 0000000..b05d85e --- /dev/null +++ b/Auto_Demo/obj/Debug/draw_window/FishSizeBorder.g.i.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw_window\FishSizeBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "50245DBB0178D40F362AC404F6FEAD5DFDFF9AB403313C942F40BA3329D9EC75" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// FishSizeBorder + /// + public partial class FishSizeBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.FishSizeBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + + #line 11 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Size; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/fishsizeborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\FishSizeBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.FishSizeBorder)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.tb_Size = ((System.Windows.Controls.TextBlock)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw_window/RoundBorder.baml b/Auto_Demo/obj/Debug/draw_window/RoundBorder.baml new file mode 100644 index 0000000..59db947 Binary files /dev/null and b/Auto_Demo/obj/Debug/draw_window/RoundBorder.baml differ diff --git a/Auto_Demo/obj/Debug/draw_window/RoundBorder.g.cs b/Auto_Demo/obj/Debug/draw_window/RoundBorder.g.cs new file mode 100644 index 0000000..277b3b6 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw_window/RoundBorder.g.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw_window\RoundBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "DEAF3618B790C095806E21A757133B30F94C0459F60097854AD44BAE5F489129" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// RoundBorder + /// + public partial class RoundBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.RoundBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound; + + #line default + #line hidden + + + #line 11 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound2; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/roundborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\RoundBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.RoundBorder)(target)); + return; + case 2: + this.drawRound = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.drawRound2 = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw_window/RoundBorder.g.i.cs b/Auto_Demo/obj/Debug/draw_window/RoundBorder.g.i.cs new file mode 100644 index 0000000..277b3b6 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw_window/RoundBorder.g.i.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw_window\RoundBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "DEAF3618B790C095806E21A757133B30F94C0459F60097854AD44BAE5F489129" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// RoundBorder + /// + public partial class RoundBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.RoundBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound; + + #line default + #line hidden + + + #line 11 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound2; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/roundborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\RoundBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.RoundBorder)(target)); + return; + case 2: + this.drawRound = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.drawRound2 = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw_window/SquareBorder.baml b/Auto_Demo/obj/Debug/draw_window/SquareBorder.baml new file mode 100644 index 0000000..7bd94ff Binary files /dev/null and b/Auto_Demo/obj/Debug/draw_window/SquareBorder.baml differ diff --git a/Auto_Demo/obj/Debug/draw_window/SquareBorder.g.cs b/Auto_Demo/obj/Debug/draw_window/SquareBorder.g.cs new file mode 100644 index 0000000..7888b88 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw_window/SquareBorder.g.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\draw_window\SquareBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "3F63A766E3549B069DF1D4AFE8284CD9ABB7D8A1EEB7CD546E089BDB0748232B" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// SquareBorder + /// + public partial class SquareBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\SquareBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.SquareBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\SquareBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/squareborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\SquareBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.SquareBorder)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/draw_window/SquareBorder.g.i.cs b/Auto_Demo/obj/Debug/draw_window/SquareBorder.g.i.cs new file mode 100644 index 0000000..7888b88 --- /dev/null +++ b/Auto_Demo/obj/Debug/draw_window/SquareBorder.g.i.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\draw_window\SquareBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "3F63A766E3549B069DF1D4AFE8284CD9ABB7D8A1EEB7CD546E089BDB0748232B" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// SquareBorder + /// + public partial class SquareBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\SquareBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.SquareBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\SquareBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/squareborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\SquareBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.SquareBorder)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/icons/add-square.baml b/Auto_Demo/obj/Debug/icons/add-square.baml new file mode 100644 index 0000000..3b59d94 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/add-square.baml differ diff --git a/Auto_Demo/obj/Debug/icons/chevron-down.baml b/Auto_Demo/obj/Debug/icons/chevron-down.baml new file mode 100644 index 0000000..61824c5 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/chevron-down.baml differ diff --git a/Auto_Demo/obj/Debug/icons/chevron-up.baml b/Auto_Demo/obj/Debug/icons/chevron-up.baml new file mode 100644 index 0000000..d56e31a Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/chevron-up.baml differ diff --git a/Auto_Demo/obj/Debug/icons/edit-name.baml b/Auto_Demo/obj/Debug/icons/edit-name.baml new file mode 100644 index 0000000..2a6d4a2 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/edit-name.baml differ diff --git a/Auto_Demo/obj/Debug/icons/icon_add.baml b/Auto_Demo/obj/Debug/icons/icon_add.baml new file mode 100644 index 0000000..546ad50 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/icon_add.baml differ diff --git a/Auto_Demo/obj/Debug/icons/noti-error.baml b/Auto_Demo/obj/Debug/icons/noti-error.baml new file mode 100644 index 0000000..54df04e Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/noti-error.baml differ diff --git a/Auto_Demo/obj/Debug/icons/noti-info.baml b/Auto_Demo/obj/Debug/icons/noti-info.baml new file mode 100644 index 0000000..85a1d63 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/noti-info.baml differ diff --git a/Auto_Demo/obj/Debug/icons/noti-success.baml b/Auto_Demo/obj/Debug/icons/noti-success.baml new file mode 100644 index 0000000..65cdc46 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/noti-success.baml differ diff --git a/Auto_Demo/obj/Debug/icons/noti-warning.baml b/Auto_Demo/obj/Debug/icons/noti-warning.baml new file mode 100644 index 0000000..b311821 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/noti-warning.baml differ diff --git a/Auto_Demo/obj/Debug/icons/pause-auto.baml b/Auto_Demo/obj/Debug/icons/pause-auto.baml new file mode 100644 index 0000000..f15b323 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/pause-auto.baml differ diff --git a/Auto_Demo/obj/Debug/icons/play-auto.baml b/Auto_Demo/obj/Debug/icons/play-auto.baml new file mode 100644 index 0000000..cec5b0d Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/play-auto.baml differ diff --git a/Auto_Demo/obj/Debug/icons/save-name.baml b/Auto_Demo/obj/Debug/icons/save-name.baml new file mode 100644 index 0000000..b1a3e40 Binary files /dev/null and b/Auto_Demo/obj/Debug/icons/save-name.baml differ diff --git a/Auto_Demo/obj/Debug/popups/add_device.baml b/Auto_Demo/obj/Debug/popups/add_device.baml new file mode 100644 index 0000000..c863119 Binary files /dev/null and b/Auto_Demo/obj/Debug/popups/add_device.baml differ diff --git a/Auto_Demo/obj/Debug/popups/add_device.g.cs b/Auto_Demo/obj/Debug/popups/add_device.g.cs new file mode 100644 index 0000000..8e6dfdd --- /dev/null +++ b/Auto_Demo/obj/Debug/popups/add_device.g.cs @@ -0,0 +1,346 @@ +#pragma checksum "..\..\..\popups\add_device.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "03765F9F2B40CB5EA1661B2DFDB9772E486BC6C3A30F38655A6DE3A5F6409336" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.popups; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.popups { + + + /// + /// add_device + /// + public partial class add_device : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 8 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.popups.add_device window_main; + + #line default + #line hidden + + + #line 31 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 32 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 33 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 35 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 64 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid grid; + + #line default + #line hidden + + + #line 73 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image img_IconEmulator; + + #line default + #line hidden + + + #line 79 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_SelectName; + + #line default + #line hidden + + + #line 80 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock label_ID; + + #line default + #line hidden + + + #line 81 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_SelectID; + + #line default + #line hidden + + + #line 98 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label lb_ButonOpen; + + #line default + #line hidden + + + #line 99 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label lb_ButtonClose; + + #line default + #line hidden + + + #line 163 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_Name; + + #line default + #line hidden + + + #line 178 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Button button_AddDevice; + + #line default + #line hidden + + + #line 189 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rectangle; + + #line default + #line hidden + + + #line 190 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListBox lb_ListDevice; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/popups/add_device.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\popups\add_device.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.window_main = ((Auto_Demo.popups.add_device)(target)); + + #line 10 "..\..\..\popups\add_device.xaml" + this.window_main.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + + #line 11 "..\..\..\popups\add_device.xaml" + this.window_main.Loaded += new System.Windows.RoutedEventHandler(this.load_Data); + + #line default + #line hidden + return; + case 2: + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.close_Popup); + + #line default + #line hidden + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 3: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 4: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 5: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + + #line 58 "..\..\..\popups\add_device.xaml" + ((System.Windows.Shapes.Rectangle)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 8: + this.grid = ((System.Windows.Controls.Grid)(target)); + + #line 64 "..\..\..\popups\add_device.xaml" + this.grid.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 9: + this.img_IconEmulator = ((System.Windows.Controls.Image)(target)); + return; + case 10: + this.tb_SelectName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + this.label_ID = ((System.Windows.Controls.TextBlock)(target)); + return; + case 12: + this.tb_SelectID = ((System.Windows.Controls.TextBlock)(target)); + return; + case 13: + this.lb_ButonOpen = ((System.Windows.Controls.Label)(target)); + + #line 98 "..\..\..\popups\add_device.xaml" + this.lb_ButonOpen.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 14: + this.lb_ButtonClose = ((System.Windows.Controls.Label)(target)); + + #line 99 "..\..\..\popups\add_device.xaml" + this.lb_ButtonClose.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 15: + this.tb_Name = ((System.Windows.Controls.TextBox)(target)); + return; + case 16: + this.button_AddDevice = ((System.Windows.Controls.Button)(target)); + + #line 178 "..\..\..\popups\add_device.xaml" + this.button_AddDevice.Click += new System.Windows.RoutedEventHandler(this.bt_AddDevice); + + #line default + #line hidden + return; + case 17: + this.rectangle = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 18: + this.lb_ListDevice = ((System.Windows.Controls.ListBox)(target)); + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 19: + + #line 233 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.TextBox)(target)).TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.changeNameCustom); + + #line default + #line hidden + break; + case 20: + + #line 247 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.bt_AddDeviceCustom); + + #line default + #line hidden + break; + } + } + } +} + diff --git a/Auto_Demo/obj/Debug/popups/add_device.g.i.cs b/Auto_Demo/obj/Debug/popups/add_device.g.i.cs new file mode 100644 index 0000000..8e6dfdd --- /dev/null +++ b/Auto_Demo/obj/Debug/popups/add_device.g.i.cs @@ -0,0 +1,346 @@ +#pragma checksum "..\..\..\popups\add_device.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "03765F9F2B40CB5EA1661B2DFDB9772E486BC6C3A30F38655A6DE3A5F6409336" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.popups; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.popups { + + + /// + /// add_device + /// + public partial class add_device : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 8 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.popups.add_device window_main; + + #line default + #line hidden + + + #line 31 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 32 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 33 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 35 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 64 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid grid; + + #line default + #line hidden + + + #line 73 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image img_IconEmulator; + + #line default + #line hidden + + + #line 79 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_SelectName; + + #line default + #line hidden + + + #line 80 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock label_ID; + + #line default + #line hidden + + + #line 81 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_SelectID; + + #line default + #line hidden + + + #line 98 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label lb_ButonOpen; + + #line default + #line hidden + + + #line 99 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label lb_ButtonClose; + + #line default + #line hidden + + + #line 163 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_Name; + + #line default + #line hidden + + + #line 178 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Button button_AddDevice; + + #line default + #line hidden + + + #line 189 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rectangle; + + #line default + #line hidden + + + #line 190 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListBox lb_ListDevice; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/popups/add_device.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\popups\add_device.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.window_main = ((Auto_Demo.popups.add_device)(target)); + + #line 10 "..\..\..\popups\add_device.xaml" + this.window_main.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + + #line 11 "..\..\..\popups\add_device.xaml" + this.window_main.Loaded += new System.Windows.RoutedEventHandler(this.load_Data); + + #line default + #line hidden + return; + case 2: + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.close_Popup); + + #line default + #line hidden + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 3: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 4: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 5: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + + #line 58 "..\..\..\popups\add_device.xaml" + ((System.Windows.Shapes.Rectangle)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 8: + this.grid = ((System.Windows.Controls.Grid)(target)); + + #line 64 "..\..\..\popups\add_device.xaml" + this.grid.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 9: + this.img_IconEmulator = ((System.Windows.Controls.Image)(target)); + return; + case 10: + this.tb_SelectName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + this.label_ID = ((System.Windows.Controls.TextBlock)(target)); + return; + case 12: + this.tb_SelectID = ((System.Windows.Controls.TextBlock)(target)); + return; + case 13: + this.lb_ButonOpen = ((System.Windows.Controls.Label)(target)); + + #line 98 "..\..\..\popups\add_device.xaml" + this.lb_ButonOpen.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 14: + this.lb_ButtonClose = ((System.Windows.Controls.Label)(target)); + + #line 99 "..\..\..\popups\add_device.xaml" + this.lb_ButtonClose.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 15: + this.tb_Name = ((System.Windows.Controls.TextBox)(target)); + return; + case 16: + this.button_AddDevice = ((System.Windows.Controls.Button)(target)); + + #line 178 "..\..\..\popups\add_device.xaml" + this.button_AddDevice.Click += new System.Windows.RoutedEventHandler(this.bt_AddDevice); + + #line default + #line hidden + return; + case 17: + this.rectangle = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 18: + this.lb_ListDevice = ((System.Windows.Controls.ListBox)(target)); + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 19: + + #line 233 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.TextBox)(target)).TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.changeNameCustom); + + #line default + #line hidden + break; + case 20: + + #line 247 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.bt_AddDeviceCustom); + + #line default + #line hidden + break; + } + } + } +} + diff --git a/Auto_Demo/obj/Debug/test/Window1.g.i.cs b/Auto_Demo/obj/Debug/test/Window1.g.i.cs new file mode 100644 index 0000000..02fd5a8 --- /dev/null +++ b/Auto_Demo/obj/Debug/test/Window1.g.i.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\test\Window1.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "E08875ED7FCBC439CE6A135EA9479EC048F649DD653B9C7E63FB15D96A9B41C9" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// Window1 + /// + public partial class Window1 : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 84 "..\..\..\test\Window1.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer scroll; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/test/window1.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\test\Window1.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.scroll = ((System.Windows.Controls.ScrollViewer)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Debug/test/draw.g.i.cs b/Auto_Demo/obj/Debug/test/draw.g.i.cs new file mode 100644 index 0000000..8b3c13b --- /dev/null +++ b/Auto_Demo/obj/Debug/test/draw.g.i.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\test\draw.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "FC77625A2DE5A4A0529F8B39989DF4349382CC70CC9ADD9FFFE726E006B5B8B8" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// draw + /// + public partial class draw : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\test\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.test.draw win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\test\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/test/draw.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\test\draw.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.test.draw)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/.NETFramework,Version=v4.5.1.AssemblyAttributes.cs b/Auto_Demo/obj/Release/.NETFramework,Version=v4.5.1.AssemblyAttributes.cs new file mode 100644 index 0000000..3f14983 --- /dev/null +++ b/Auto_Demo/obj/Release/.NETFramework,Version=v4.5.1.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.1", FrameworkDisplayName = ".NET Framework 4.5.1")] diff --git a/Auto_Demo/obj/Release/App.g.cs b/Auto_Demo/obj/Release/App.g.cs new file mode 100644 index 0000000..fc1f150 --- /dev/null +++ b/Auto_Demo/obj/Release/App.g.cs @@ -0,0 +1,70 @@ +#pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "D0082620CE7D2DE5F331F8C846A929CFC7C9124D6D36216B29BFCD99367021F6" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// App + /// + public partial class App : System.Windows.Application { + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + + #line 5 "..\..\App.xaml" + this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); + + #line default + #line hidden + } + + /// + /// Application Entry Point. + /// + [System.STAThreadAttribute()] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public static void Main() { + Auto_Demo.App app = new Auto_Demo.App(); + app.InitializeComponent(); + app.Run(); + } + } +} + diff --git a/Auto_Demo/obj/Release/App.g.i.cs b/Auto_Demo/obj/Release/App.g.i.cs new file mode 100644 index 0000000..fc1f150 --- /dev/null +++ b/Auto_Demo/obj/Release/App.g.i.cs @@ -0,0 +1,70 @@ +#pragma checksum "..\..\App.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "D0082620CE7D2DE5F331F8C846A929CFC7C9124D6D36216B29BFCD99367021F6" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// App + /// + public partial class App : System.Windows.Application { + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + + #line 5 "..\..\App.xaml" + this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); + + #line default + #line hidden + } + + /// + /// Application Entry Point. + /// + [System.STAThreadAttribute()] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public static void Main() { + Auto_Demo.App app = new Auto_Demo.App(); + app.InitializeComponent(); + app.Run(); + } + } +} + diff --git a/Auto_Demo/obj/Release/Auto_Demo.Properties.Resources.resources b/Auto_Demo/obj/Release/Auto_Demo.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/Auto_Demo/obj/Release/Auto_Demo.Properties.Resources.resources differ diff --git a/Auto_Demo/obj/Release/Auto_Demo.csproj.AssemblyReference.cache b/Auto_Demo/obj/Release/Auto_Demo.csproj.AssemblyReference.cache new file mode 100644 index 0000000..f7d6ab5 Binary files /dev/null and b/Auto_Demo/obj/Release/Auto_Demo.csproj.AssemblyReference.cache differ diff --git a/Auto_Demo/obj/Release/Auto_Demo.csproj.CopyComplete b/Auto_Demo/obj/Release/Auto_Demo.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Auto_Demo/obj/Release/Auto_Demo.csproj.CoreCompileInputs.cache b/Auto_Demo/obj/Release/Auto_Demo.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..9a04094 --- /dev/null +++ b/Auto_Demo/obj/Release/Auto_Demo.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +152db66fa633a2a7fc389240c3c9c6cad615cfc7 diff --git a/Auto_Demo/obj/Release/Auto_Demo.csproj.FileListAbsolute.txt b/Auto_Demo/obj/Release/Auto_Demo.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..8dbc74b --- /dev/null +++ b/Auto_Demo/obj/Release/Auto_Demo.csproj.FileListAbsolute.txt @@ -0,0 +1,78 @@ +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\x86\leptonica-1.80.0.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\x86\tesseract41.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\x64\leptonica-1.80.0.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\x64\tesseract41.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\tessdata\number.traineddata +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\tessdata\vie.traineddata +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\Auto_Demo.exe.config +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\Auto_Demo.exe +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\Auto_Demo.pdb +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\EntityFramework.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\EntityFramework.SqlServer.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\KAutoHelper.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\System.Data.SQLite.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\System.Data.SQLite.EF6.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\System.Data.SQLite.Linq.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\Tesseract.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\EntityFramework.xml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\EntityFramework.SqlServer.xml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\bin\Release\System.Data.SQLite.xml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Interop.AutoItX3Lib.dll +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.csproj.ResolveComReference.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\animations\toggle_select_device.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\custom\button.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\custom\button_viewbox.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\custom\checkbox.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\custom\scroll_combobox.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\custom\scroll_null.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\custom\scrollbar.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\custom\select.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\custom\slider.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\add-square.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\chevron-down.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\chevron-up.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\edit-name.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\icon_add.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\noti-error.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\noti-info.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\noti-success.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\noti-warning.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\pause-auto.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\play-auto.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\icons\save-name.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\components\CMessageBox.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\components\notification.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\components\test.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw\rounded.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw\size_fish.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw_window\FishSizeBorder.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw_window\RoundBorder.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw_window\SquareBorder.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\MainWindow.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\popups\add_device.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw\draw.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw\Window1.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\App.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\GeneratedInternalTypeHelper.g.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo_MarkupCompile.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo_MarkupCompile.lref +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\components\CMessageBox.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\components\notification.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\components\test.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw\rounded.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw\size_fish.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw_window\FishSizeBorder.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw_window\RoundBorder.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw_window\SquareBorder.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\MainWindow.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\popups\add_device.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw\draw.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\draw\Window1.baml +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.g.resources +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.Properties.Resources.resources +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.csproj.GenerateResource.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.csproj.CoreCompileInputs.cache +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.csproj.CopyComplete +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.exe +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.pdb +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\Auto_Demo.csproj.AssemblyReference.cache diff --git a/Auto_Demo/obj/Release/Auto_Demo.csproj.GenerateResource.cache b/Auto_Demo/obj/Release/Auto_Demo.csproj.GenerateResource.cache new file mode 100644 index 0000000..a961b50 Binary files /dev/null and b/Auto_Demo/obj/Release/Auto_Demo.csproj.GenerateResource.cache differ diff --git a/Auto_Demo/obj/Release/Auto_Demo.csproj.ResolveComReference.cache b/Auto_Demo/obj/Release/Auto_Demo.csproj.ResolveComReference.cache new file mode 100644 index 0000000..7eac178 Binary files /dev/null and b/Auto_Demo/obj/Release/Auto_Demo.csproj.ResolveComReference.cache differ diff --git a/Auto_Demo/obj/Release/Auto_Demo.exe b/Auto_Demo/obj/Release/Auto_Demo.exe new file mode 100644 index 0000000..fcc3b1d Binary files /dev/null and b/Auto_Demo/obj/Release/Auto_Demo.exe differ diff --git a/Auto_Demo/obj/Release/Auto_Demo.g.resources b/Auto_Demo/obj/Release/Auto_Demo.g.resources new file mode 100644 index 0000000..0436a48 Binary files /dev/null and b/Auto_Demo/obj/Release/Auto_Demo.g.resources differ diff --git a/Auto_Demo/obj/Release/Auto_Demo.pdb b/Auto_Demo/obj/Release/Auto_Demo.pdb new file mode 100644 index 0000000..dabc1f0 Binary files /dev/null and b/Auto_Demo/obj/Release/Auto_Demo.pdb differ diff --git a/Auto_Demo/obj/Release/Auto_Demo_MarkupCompile.cache b/Auto_Demo/obj/Release/Auto_Demo_MarkupCompile.cache new file mode 100644 index 0000000..f873165 --- /dev/null +++ b/Auto_Demo/obj/Release/Auto_Demo_MarkupCompile.cache @@ -0,0 +1,20 @@ +Auto_Demo + + +winexe +C# +.cs +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\obj\Release\ +Auto_Demo +none +false +TRACE +D:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\App.xaml +331606966433 + +30-833227847 +251721068705 +animations\toggle_select_device.xaml;components\CMessageBox.xaml;components\notification.xaml;components\test.xaml;custom\button.xaml;custom\button_viewbox.xaml;custom\checkbox.xaml;custom\scroll_combobox.xaml;custom\scroll_null.xaml;custom\scrollbar.xaml;custom\select.xaml;custom\slider.xaml;draw\rounded.xaml;draw\size_fish.xaml;draw_window\FishSizeBorder.xaml;draw_window\RoundBorder.xaml;draw_window\SquareBorder.xaml;icons\add-square.xaml;icons\chevron-down.xaml;icons\chevron-up.xaml;icons\edit-name.xaml;icons\icon_add.xaml;icons\noti-error.xaml;icons\noti-info.xaml;icons\noti-success.xaml;icons\noti-warning.xaml;icons\pause-auto.xaml;icons\play-auto.xaml;icons\save-name.xaml;MainWindow.xaml;popups\add_device.xaml;draw\draw.xaml;draw\Window1.xaml; + +False + diff --git a/Auto_Demo/obj/Release/Auto_Demo_MarkupCompile.lref b/Auto_Demo/obj/Release/Auto_Demo_MarkupCompile.lref new file mode 100644 index 0000000..4f57414 --- /dev/null +++ b/Auto_Demo/obj/Release/Auto_Demo_MarkupCompile.lref @@ -0,0 +1,15 @@ + + +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\CMessageBox.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\notification.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\components\test.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\rounded.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\size_fish.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\FishSizeBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\RoundBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw_window\SquareBorder.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\MainWindow.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\popups\add_device.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\draw.xaml;; +FD:\old_laptop\auto_pt\repos\Auto_Demo\Auto_Demo\draw\Window1.xaml;; + diff --git a/Auto_Demo/obj/Release/GeneratedInternalTypeHelper.g.cs b/Auto_Demo/obj/Release/GeneratedInternalTypeHelper.g.cs new file mode 100644 index 0000000..136dd1b --- /dev/null +++ b/Auto_Demo/obj/Release/GeneratedInternalTypeHelper.g.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// 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 XamlGeneratedNamespace { + + + /// + /// GeneratedInternalTypeHelper + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper { + + /// + /// CreateInstance + /// + protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) { + return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic) + | (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture); + } + + /// + /// GetPropertyValue + /// + protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) { + return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// SetPropertyValue + /// + protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) { + propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// CreateDelegate + /// + protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) { + return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod + | (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] { + delegateType, + handler}, null))); + } + + /// + /// AddEventHandler + /// + protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) { + eventInfo.AddEventHandler(target, handler); + } + } +} + diff --git a/Auto_Demo/obj/Release/GeneratedInternalTypeHelper.g.i.cs b/Auto_Demo/obj/Release/GeneratedInternalTypeHelper.g.i.cs new file mode 100644 index 0000000..136dd1b --- /dev/null +++ b/Auto_Demo/obj/Release/GeneratedInternalTypeHelper.g.i.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// 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 XamlGeneratedNamespace { + + + /// + /// GeneratedInternalTypeHelper + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper { + + /// + /// CreateInstance + /// + protected override object CreateInstance(System.Type type, System.Globalization.CultureInfo culture) { + return System.Activator.CreateInstance(type, ((System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic) + | (System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.CreateInstance)), null, null, culture); + } + + /// + /// GetPropertyValue + /// + protected override object GetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, System.Globalization.CultureInfo culture) { + return propertyInfo.GetValue(target, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// SetPropertyValue + /// + protected override void SetPropertyValue(System.Reflection.PropertyInfo propertyInfo, object target, object value, System.Globalization.CultureInfo culture) { + propertyInfo.SetValue(target, value, System.Reflection.BindingFlags.Default, null, null, culture); + } + + /// + /// CreateDelegate + /// + protected override System.Delegate CreateDelegate(System.Type delegateType, object target, string handler) { + return ((System.Delegate)(target.GetType().InvokeMember("_CreateDelegate", (System.Reflection.BindingFlags.InvokeMethod + | (System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)), null, target, new object[] { + delegateType, + handler}, null))); + } + + /// + /// AddEventHandler + /// + protected override void AddEventHandler(System.Reflection.EventInfo eventInfo, object target, System.Delegate handler) { + eventInfo.AddEventHandler(target, handler); + } + } +} + diff --git a/Auto_Demo/obj/Release/Interop.AutoItX3Lib.dll b/Auto_Demo/obj/Release/Interop.AutoItX3Lib.dll new file mode 100644 index 0000000..222d278 Binary files /dev/null and b/Auto_Demo/obj/Release/Interop.AutoItX3Lib.dll differ diff --git a/Auto_Demo/obj/Release/MainWindow.baml b/Auto_Demo/obj/Release/MainWindow.baml new file mode 100644 index 0000000..cecbd4c Binary files /dev/null and b/Auto_Demo/obj/Release/MainWindow.baml differ diff --git a/Auto_Demo/obj/Release/MainWindow.g.cs b/Auto_Demo/obj/Release/MainWindow.g.cs new file mode 100644 index 0000000..282d198 --- /dev/null +++ b/Auto_Demo/obj/Release/MainWindow.g.cs @@ -0,0 +1,1269 @@ +#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "314E1F1C647B02FC447C9BA6E066F3D525ACFD24D4F23E6BEED045047E3D297C" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// MainWindow + /// + public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 13 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.MainWindow root; + + #line default + #line hidden + + + #line 36 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image img_logo; + + #line default + #line hidden + + + #line 43 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_MinimizeSecondary; + + #line default + #line hidden + + + #line 44 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_MinimizePrimary; + + #line default + #line hidden + + + #line 50 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 51 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 52 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 54 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 67 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Button button_AddDevice; + + #line default + #line hidden + + + #line 82 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer sv_ListEmu; + + #line default + #line hidden + + + #line 83 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_Auto; + + #line default + #line hidden + + + #line 215 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_RemoveEmuGroup; + + #line default + #line hidden + + + #line 216 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu1; + + #line default + #line hidden + + + #line 217 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu2; + + #line default + #line hidden + + + #line 219 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu; + + #line default + #line hidden + + + #line 223 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border bg_buttonAuto; + + #line default + #line hidden + + + #line 259 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label ic_Play; + + #line default + #line hidden + + + #line 261 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label ic_Pause; + + #line default + #line hidden + + + #line 360 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Hour; + + #line default + #line hidden + + + #line 363 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Minute; + + #line default + #line hidden + + + #line 364 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Session; + + #line default + #line hidden + + + #line 412 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image get_Position; + + #line default + #line hidden + + + #line 413 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_StatusGetPosition; + + #line default + #line hidden + + + #line 414 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border button_StopGetPosition; + + #line default + #line hidden + + + #line 432 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_FishSize; + + #line default + #line hidden + + + #line 496 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFastFS; + + #line default + #line hidden + + + #line 523 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFishingRod; + + #line default + #line hidden + + + #line 550 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFishingRod2; + + #line default + #line hidden + + + #line 580 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isCheckedChangeFishingRod; + + #line default + #line hidden + + + #line 586 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_stepChangeFishingRod; + + #line default + #line hidden + + + #line 598 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isReGetInfoRod; + + #line default + #line hidden + + + #line 615 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_DelayFishingTest; + + #line default + #line hidden + + + #line 631 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListLanguage; + + #line default + #line hidden + + + #line 649 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isSaveExclamation; + + #line default + #line hidden + + + #line 662 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Slider slider_SpeedAuto; + + #line default + #line hidden + + + #line 663 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_ValueSpeedName; + + #line default + #line hidden + + + #line 673 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_DelayCheck; + + #line default + #line hidden + + + #line 727 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Hour; + + #line default + #line hidden + + + #line 729 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Minute; + + #line default + #line hidden + + + #line 731 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Second; + + #line default + #line hidden + + + #line 775 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_quangCan; + + #line default + #line hidden + + + #line 791 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_boQuaCa; + + #line default + #line hidden + + + #line 815 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_dutDay; + + #line default + #line hidden + + + #line 831 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_cauLoi; + + #line default + #line hidden + + + #line 855 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_soCa; + + #line default + #line hidden + + + #line 871 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_doTaiChe; + + #line default + #line hidden + + + #line 895 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_tienBanCa; + + #line default + #line hidden + + + #line 911 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_tienSuaCan; + + #line default + #line hidden + + + #line 932 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish1; + + #line default + #line hidden + + + #line 935 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish2; + + #line default + #line hidden + + + #line 938 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish3; + + #line default + #line hidden + + + #line 941 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish4; + + #line default + #line hidden + + + #line 959 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid paging_ListFish; + + #line default + #line hidden + + + #line 979 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_pageSummaryFish; + + #line default + #line hidden + + + #line 997 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid action_Sort; + + #line default + #line hidden + + + #line 1010 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_STT; + + #line default + #line hidden + + + #line 1011 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_STT; + + #line default + #line hidden + + + #line 1013 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_SelectLevel; + + #line default + #line hidden + + + #line 1030 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_Money; + + #line default + #line hidden + + + #line 1031 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_Money; + + #line default + #line hidden + + + #line 1033 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_SelectSize; + + #line default + #line hidden + + + #line 1050 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_Shadow; + + #line default + #line hidden + + + #line 1051 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_Shadow; + + #line default + #line hidden + + + #line 1054 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border notFoundSortData; + + #line default + #line hidden + + + #line 1057 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_SummaryFish; + + #line default + #line hidden + + + #line 1096 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock notiStep; + + #line default + #line hidden + + + #line 1097 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid fishingDone; + + #line default + #line hidden + + + #line 1108 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock fishingDoneName; + + #line default + #line hidden + + + #line 1109 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image fishingDoneVM; + + #line default + #line hidden + + + #line 1111 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock fishingDonePrice; + + #line default + #line hidden + + + #line 1112 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image fishingDoneMoney; + + #line default + #line hidden + + + #line 1118 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_Notification; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/mainwindow.xaml", System.UriKind.Relative); + + #line 1 "..\..\MainWindow.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.root = ((Auto_Demo.MainWindow)(target)); + + #line 10 "..\..\MainWindow.xaml" + this.root.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + return; + case 2: + + #line 35 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showDashboard); + + #line default + #line hidden + return; + case 3: + this.img_logo = ((System.Windows.Controls.Image)(target)); + return; + case 4: + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.minimize_App); + + #line default + #line hidden + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Minimize); + + #line default + #line hidden + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_MinimizeOut); + + #line default + #line hidden + return; + case 5: + this.icon_MinimizeSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_MinimizePrimary = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.close_App); + + #line default + #line hidden + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 8: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 9: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 10: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 11: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 12: + this.button_AddDevice = ((System.Windows.Controls.Button)(target)); + + #line 67 "..\..\MainWindow.xaml" + this.button_AddDevice.Click += new System.Windows.RoutedEventHandler(this.open_PopupAddDevice); + + #line default + #line hidden + return; + case 13: + this.sv_ListEmu = ((System.Windows.Controls.ScrollViewer)(target)); + return; + case 14: + this.ic_Auto = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 18: + + #line 213 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_RemoveEmu); + + #line default + #line hidden + return; + case 19: + this.icon_RemoveEmuGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 20: + this.icon_RemoveEmu1 = ((System.Windows.Shapes.Path)(target)); + return; + case 21: + this.icon_RemoveEmu2 = ((System.Windows.Shapes.Path)(target)); + return; + case 22: + this.icon_RemoveEmu = ((System.Windows.Shapes.Path)(target)); + return; + case 23: + this.bg_buttonAuto = ((System.Windows.Controls.Border)(target)); + + #line 223 "..\..\MainWindow.xaml" + this.bg_buttonAuto.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.startAuto); + + #line default + #line hidden + return; + case 24: + this.ic_Play = ((System.Windows.Controls.Label)(target)); + return; + case 25: + this.ic_Pause = ((System.Windows.Controls.Label)(target)); + return; + case 26: + + #line 279 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.stopAuto); + + #line default + #line hidden + return; + case 27: + + #line 320 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSetting); + + #line default + #line hidden + return; + case 28: + + #line 335 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSummary); + + #line default + #line hidden + return; + case 29: + + #line 352 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSummary); + + #line default + #line hidden + return; + case 30: + this.game_Hour = ((System.Windows.Controls.TextBlock)(target)); + return; + case 31: + this.game_Minute = ((System.Windows.Controls.TextBlock)(target)); + return; + case 32: + this.game_Session = ((System.Windows.Controls.TextBlock)(target)); + return; + case 33: + this.get_Position = ((System.Windows.Controls.Image)(target)); + + #line 412 "..\..\MainWindow.xaml" + this.get_Position.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.getLocation); + + #line default + #line hidden + return; + case 34: + this.tb_StatusGetPosition = ((System.Windows.Controls.TextBlock)(target)); + return; + case 35: + this.button_StopGetPosition = ((System.Windows.Controls.Border)(target)); + + #line 414 "..\..\MainWindow.xaml" + this.button_StopGetPosition.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.stopGetPosition); + + #line default + #line hidden + return; + case 36: + this.ic_FishSize = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 39: + this.cb_ListFastFS = ((System.Windows.Controls.ComboBox)(target)); + + #line 496 "..\..\MainWindow.xaml" + this.cb_ListFastFS.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeModeFS); + + #line default + #line hidden + return; + case 40: + this.cb_ListFishingRod = ((System.Windows.Controls.ComboBox)(target)); + + #line 523 "..\..\MainWindow.xaml" + this.cb_ListFishingRod.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeFishingRod1); + + #line default + #line hidden + return; + case 41: + this.cb_ListFishingRod2 = ((System.Windows.Controls.ComboBox)(target)); + + #line 550 "..\..\MainWindow.xaml" + this.cb_ListFishingRod2.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeFishingRod2); + + #line default + #line hidden + return; + case 42: + this.cb_isCheckedChangeFishingRod = ((System.Windows.Controls.CheckBox)(target)); + + #line 580 "..\..\MainWindow.xaml" + this.cb_isCheckedChangeFishingRod.Checked += new System.Windows.RoutedEventHandler(this.isChangeFishingRodChanged); + + #line default + #line hidden + + #line 580 "..\..\MainWindow.xaml" + this.cb_isCheckedChangeFishingRod.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeFishingRodChanged); + + #line default + #line hidden + return; + case 43: + this.tb_stepChangeFishingRod = ((System.Windows.Controls.TextBox)(target)); + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeStepChange); + + #line default + #line hidden + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.LostFocus += new System.Windows.RoutedEventHandler(this.changeStepChange); + + #line default + #line hidden + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 44: + this.cb_isReGetInfoRod = ((System.Windows.Controls.CheckBox)(target)); + + #line 598 "..\..\MainWindow.xaml" + this.cb_isReGetInfoRod.Checked += new System.Windows.RoutedEventHandler(this.isChangeReGetInfoRod); + + #line default + #line hidden + + #line 598 "..\..\MainWindow.xaml" + this.cb_isReGetInfoRod.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeReGetInfoRod); + + #line default + #line hidden + return; + case 45: + this.tb_DelayFishingTest = ((System.Windows.Controls.TextBox)(target)); + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeDelayFishingTest); + + #line default + #line hidden + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.LostFocus += new System.Windows.RoutedEventHandler(this.changeDelayFishingTest); + + #line default + #line hidden + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 46: + this.cb_ListLanguage = ((System.Windows.Controls.ComboBox)(target)); + + #line 631 "..\..\MainWindow.xaml" + this.cb_ListLanguage.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeLanguage); + + #line default + #line hidden + return; + case 47: + this.cb_isSaveExclamation = ((System.Windows.Controls.CheckBox)(target)); + + #line 649 "..\..\MainWindow.xaml" + this.cb_isSaveExclamation.Checked += new System.Windows.RoutedEventHandler(this.isChangeSaveExclamation); + + #line default + #line hidden + + #line 649 "..\..\MainWindow.xaml" + this.cb_isSaveExclamation.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeSaveExclamation); + + #line default + #line hidden + return; + case 48: + this.slider_SpeedAuto = ((System.Windows.Controls.Slider)(target)); + + #line 662 "..\..\MainWindow.xaml" + this.slider_SpeedAuto.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.speedAutoChange); + + #line default + #line hidden + return; + case 49: + this.tb_ValueSpeedName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 50: + this.tb_DelayCheck = ((System.Windows.Controls.TextBox)(target)); + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeDelayCheck); + + #line default + #line hidden + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.LostFocus += new System.Windows.RoutedEventHandler(this.changeDelayCheck); + + #line default + #line hidden + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 51: + this.total_Hour = ((System.Windows.Controls.TextBlock)(target)); + return; + case 52: + this.total_Minute = ((System.Windows.Controls.TextBlock)(target)); + return; + case 53: + this.total_Second = ((System.Windows.Controls.TextBlock)(target)); + return; + case 54: + + #line 733 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_RemoveSummary); + + #line default + #line hidden + return; + case 55: + this.total_quangCan = ((System.Windows.Controls.TextBlock)(target)); + return; + case 56: + this.total_boQuaCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 57: + this.total_dutDay = ((System.Windows.Controls.TextBlock)(target)); + return; + case 58: + this.total_cauLoi = ((System.Windows.Controls.TextBlock)(target)); + return; + case 59: + this.total_soCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 60: + this.total_doTaiChe = ((System.Windows.Controls.TextBlock)(target)); + return; + case 61: + this.total_tienBanCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 62: + this.total_tienSuaCan = ((System.Windows.Controls.TextBlock)(target)); + return; + case 63: + this.tb_TotalFish1 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 64: + this.tb_TotalFish2 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 65: + this.tb_TotalFish3 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 66: + this.tb_TotalFish4 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 67: + this.paging_ListFish = ((System.Windows.Controls.Grid)(target)); + return; + case 68: + + #line 965 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.sort_PrevPage); + + #line default + #line hidden + return; + case 69: + this.tb_pageSummaryFish = ((System.Windows.Controls.TextBox)(target)); + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeSortPage); + + #line default + #line hidden + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.LostFocus += new System.Windows.RoutedEventHandler(this.changeSortPage); + + #line default + #line hidden + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 70: + + #line 982 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.sort_NextPage); + + #line default + #line hidden + return; + case 71: + this.action_Sort = ((System.Windows.Controls.Grid)(target)); + return; + case 72: + + #line 1005 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortSTT); + + #line default + #line hidden + return; + case 73: + this.sortDown_STT = ((System.Windows.Controls.Image)(target)); + return; + case 74: + this.sortUp_STT = ((System.Windows.Controls.Image)(target)); + return; + case 75: + this.cb_SelectLevel = ((System.Windows.Controls.ComboBox)(target)); + + #line 1013 "..\..\MainWindow.xaml" + this.cb_SelectLevel.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeLevelSelect); + + #line default + #line hidden + return; + case 76: + + #line 1025 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortMoney); + + #line default + #line hidden + return; + case 77: + this.sortDown_Money = ((System.Windows.Controls.Image)(target)); + return; + case 78: + this.sortUp_Money = ((System.Windows.Controls.Image)(target)); + return; + case 79: + this.cb_SelectSize = ((System.Windows.Controls.ComboBox)(target)); + + #line 1033 "..\..\MainWindow.xaml" + this.cb_SelectSize.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeSizeSelect); + + #line default + #line hidden + return; + case 80: + + #line 1045 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortShadow); + + #line default + #line hidden + return; + case 81: + this.sortDown_Shadow = ((System.Windows.Controls.Image)(target)); + return; + case 82: + this.sortUp_Shadow = ((System.Windows.Controls.Image)(target)); + return; + case 83: + this.notFoundSortData = ((System.Windows.Controls.Border)(target)); + return; + case 84: + this.ic_SummaryFish = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 85: + this.notiStep = ((System.Windows.Controls.TextBlock)(target)); + return; + case 86: + this.fishingDone = ((System.Windows.Controls.Grid)(target)); + return; + case 87: + this.fishingDoneName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 88: + this.fishingDoneVM = ((System.Windows.Controls.Image)(target)); + return; + case 89: + this.fishingDonePrice = ((System.Windows.Controls.TextBlock)(target)); + return; + case 90: + this.fishingDoneMoney = ((System.Windows.Controls.Image)(target)); + return; + case 91: + this.ic_Notification = ((System.Windows.Controls.ItemsControl)(target)); + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 15: + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.selectAuto); + + #line default + #line hidden + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Emulator); + + #line default + #line hidden + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_EmulatorOut); + + #line default + #line hidden + break; + case 16: + + #line 117 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Label)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.change_NameEmu); + + #line default + #line hidden + break; + case 17: + + #line 129 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Label)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.saveChangeNameEmu); + + #line default + #line hidden + break; + case 37: + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).GotFocus += new System.Windows.RoutedEventHandler(this.startChangeMaxSF); + + #line default + #line hidden + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).LostFocus += new System.Windows.RoutedEventHandler(this.changeMaxSF); + + #line default + #line hidden + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + break; + case 38: + + #line 465 "..\..\MainWindow.xaml" + ((System.Windows.Controls.CheckBox)(target)).Checked += new System.Windows.RoutedEventHandler(this.CheckBoxFSChanged); + + #line default + #line hidden + + #line 465 "..\..\MainWindow.xaml" + ((System.Windows.Controls.CheckBox)(target)).Unchecked += new System.Windows.RoutedEventHandler(this.CheckBoxFSChanged); + + #line default + #line hidden + break; + } + } + } +} + diff --git a/Auto_Demo/obj/Release/MainWindow.g.i.cs b/Auto_Demo/obj/Release/MainWindow.g.i.cs new file mode 100644 index 0000000..282d198 --- /dev/null +++ b/Auto_Demo/obj/Release/MainWindow.g.i.cs @@ -0,0 +1,1269 @@ +#pragma checksum "..\..\MainWindow.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "314E1F1C647B02FC447C9BA6E066F3D525ACFD24D4F23E6BEED045047E3D297C" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo; +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo { + + + /// + /// MainWindow + /// + public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 13 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.MainWindow root; + + #line default + #line hidden + + + #line 36 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image img_logo; + + #line default + #line hidden + + + #line 43 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_MinimizeSecondary; + + #line default + #line hidden + + + #line 44 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_MinimizePrimary; + + #line default + #line hidden + + + #line 50 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 51 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 52 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 54 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 67 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Button button_AddDevice; + + #line default + #line hidden + + + #line 82 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer sv_ListEmu; + + #line default + #line hidden + + + #line 83 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_Auto; + + #line default + #line hidden + + + #line 215 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_RemoveEmuGroup; + + #line default + #line hidden + + + #line 216 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu1; + + #line default + #line hidden + + + #line 217 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu2; + + #line default + #line hidden + + + #line 219 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_RemoveEmu; + + #line default + #line hidden + + + #line 223 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border bg_buttonAuto; + + #line default + #line hidden + + + #line 259 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label ic_Play; + + #line default + #line hidden + + + #line 261 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label ic_Pause; + + #line default + #line hidden + + + #line 360 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Hour; + + #line default + #line hidden + + + #line 363 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Minute; + + #line default + #line hidden + + + #line 364 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock game_Session; + + #line default + #line hidden + + + #line 412 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image get_Position; + + #line default + #line hidden + + + #line 413 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_StatusGetPosition; + + #line default + #line hidden + + + #line 414 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border button_StopGetPosition; + + #line default + #line hidden + + + #line 432 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_FishSize; + + #line default + #line hidden + + + #line 496 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFastFS; + + #line default + #line hidden + + + #line 523 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFishingRod; + + #line default + #line hidden + + + #line 550 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListFishingRod2; + + #line default + #line hidden + + + #line 580 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isCheckedChangeFishingRod; + + #line default + #line hidden + + + #line 586 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_stepChangeFishingRod; + + #line default + #line hidden + + + #line 598 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isReGetInfoRod; + + #line default + #line hidden + + + #line 615 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_DelayFishingTest; + + #line default + #line hidden + + + #line 631 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_ListLanguage; + + #line default + #line hidden + + + #line 649 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox cb_isSaveExclamation; + + #line default + #line hidden + + + #line 662 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Slider slider_SpeedAuto; + + #line default + #line hidden + + + #line 663 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_ValueSpeedName; + + #line default + #line hidden + + + #line 673 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_DelayCheck; + + #line default + #line hidden + + + #line 727 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Hour; + + #line default + #line hidden + + + #line 729 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Minute; + + #line default + #line hidden + + + #line 731 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_Second; + + #line default + #line hidden + + + #line 775 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_quangCan; + + #line default + #line hidden + + + #line 791 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_boQuaCa; + + #line default + #line hidden + + + #line 815 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_dutDay; + + #line default + #line hidden + + + #line 831 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_cauLoi; + + #line default + #line hidden + + + #line 855 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_soCa; + + #line default + #line hidden + + + #line 871 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_doTaiChe; + + #line default + #line hidden + + + #line 895 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_tienBanCa; + + #line default + #line hidden + + + #line 911 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock total_tienSuaCan; + + #line default + #line hidden + + + #line 932 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish1; + + #line default + #line hidden + + + #line 935 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish2; + + #line default + #line hidden + + + #line 938 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish3; + + #line default + #line hidden + + + #line 941 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_TotalFish4; + + #line default + #line hidden + + + #line 959 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid paging_ListFish; + + #line default + #line hidden + + + #line 979 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_pageSummaryFish; + + #line default + #line hidden + + + #line 997 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid action_Sort; + + #line default + #line hidden + + + #line 1010 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_STT; + + #line default + #line hidden + + + #line 1011 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_STT; + + #line default + #line hidden + + + #line 1013 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_SelectLevel; + + #line default + #line hidden + + + #line 1030 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_Money; + + #line default + #line hidden + + + #line 1031 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_Money; + + #line default + #line hidden + + + #line 1033 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ComboBox cb_SelectSize; + + #line default + #line hidden + + + #line 1050 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortDown_Shadow; + + #line default + #line hidden + + + #line 1051 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image sortUp_Shadow; + + #line default + #line hidden + + + #line 1054 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border notFoundSortData; + + #line default + #line hidden + + + #line 1057 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_SummaryFish; + + #line default + #line hidden + + + #line 1096 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock notiStep; + + #line default + #line hidden + + + #line 1097 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid fishingDone; + + #line default + #line hidden + + + #line 1108 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock fishingDoneName; + + #line default + #line hidden + + + #line 1109 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image fishingDoneVM; + + #line default + #line hidden + + + #line 1111 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock fishingDonePrice; + + #line default + #line hidden + + + #line 1112 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image fishingDoneMoney; + + #line default + #line hidden + + + #line 1118 "..\..\MainWindow.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ItemsControl ic_Notification; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/mainwindow.xaml", System.UriKind.Relative); + + #line 1 "..\..\MainWindow.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.root = ((Auto_Demo.MainWindow)(target)); + + #line 10 "..\..\MainWindow.xaml" + this.root.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + return; + case 2: + + #line 35 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showDashboard); + + #line default + #line hidden + return; + case 3: + this.img_logo = ((System.Windows.Controls.Image)(target)); + return; + case 4: + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.minimize_App); + + #line default + #line hidden + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Minimize); + + #line default + #line hidden + + #line 41 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_MinimizeOut); + + #line default + #line hidden + return; + case 5: + this.icon_MinimizeSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_MinimizePrimary = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.close_App); + + #line default + #line hidden + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 48 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 8: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 9: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 10: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 11: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 12: + this.button_AddDevice = ((System.Windows.Controls.Button)(target)); + + #line 67 "..\..\MainWindow.xaml" + this.button_AddDevice.Click += new System.Windows.RoutedEventHandler(this.open_PopupAddDevice); + + #line default + #line hidden + return; + case 13: + this.sv_ListEmu = ((System.Windows.Controls.ScrollViewer)(target)); + return; + case 14: + this.ic_Auto = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 18: + + #line 213 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_RemoveEmu); + + #line default + #line hidden + return; + case 19: + this.icon_RemoveEmuGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 20: + this.icon_RemoveEmu1 = ((System.Windows.Shapes.Path)(target)); + return; + case 21: + this.icon_RemoveEmu2 = ((System.Windows.Shapes.Path)(target)); + return; + case 22: + this.icon_RemoveEmu = ((System.Windows.Shapes.Path)(target)); + return; + case 23: + this.bg_buttonAuto = ((System.Windows.Controls.Border)(target)); + + #line 223 "..\..\MainWindow.xaml" + this.bg_buttonAuto.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.startAuto); + + #line default + #line hidden + return; + case 24: + this.ic_Play = ((System.Windows.Controls.Label)(target)); + return; + case 25: + this.ic_Pause = ((System.Windows.Controls.Label)(target)); + return; + case 26: + + #line 279 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.stopAuto); + + #line default + #line hidden + return; + case 27: + + #line 320 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSetting); + + #line default + #line hidden + return; + case 28: + + #line 335 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSummary); + + #line default + #line hidden + return; + case 29: + + #line 352 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.showTabSummary); + + #line default + #line hidden + return; + case 30: + this.game_Hour = ((System.Windows.Controls.TextBlock)(target)); + return; + case 31: + this.game_Minute = ((System.Windows.Controls.TextBlock)(target)); + return; + case 32: + this.game_Session = ((System.Windows.Controls.TextBlock)(target)); + return; + case 33: + this.get_Position = ((System.Windows.Controls.Image)(target)); + + #line 412 "..\..\MainWindow.xaml" + this.get_Position.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.getLocation); + + #line default + #line hidden + return; + case 34: + this.tb_StatusGetPosition = ((System.Windows.Controls.TextBlock)(target)); + return; + case 35: + this.button_StopGetPosition = ((System.Windows.Controls.Border)(target)); + + #line 414 "..\..\MainWindow.xaml" + this.button_StopGetPosition.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.stopGetPosition); + + #line default + #line hidden + return; + case 36: + this.ic_FishSize = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 39: + this.cb_ListFastFS = ((System.Windows.Controls.ComboBox)(target)); + + #line 496 "..\..\MainWindow.xaml" + this.cb_ListFastFS.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeModeFS); + + #line default + #line hidden + return; + case 40: + this.cb_ListFishingRod = ((System.Windows.Controls.ComboBox)(target)); + + #line 523 "..\..\MainWindow.xaml" + this.cb_ListFishingRod.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeFishingRod1); + + #line default + #line hidden + return; + case 41: + this.cb_ListFishingRod2 = ((System.Windows.Controls.ComboBox)(target)); + + #line 550 "..\..\MainWindow.xaml" + this.cb_ListFishingRod2.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeFishingRod2); + + #line default + #line hidden + return; + case 42: + this.cb_isCheckedChangeFishingRod = ((System.Windows.Controls.CheckBox)(target)); + + #line 580 "..\..\MainWindow.xaml" + this.cb_isCheckedChangeFishingRod.Checked += new System.Windows.RoutedEventHandler(this.isChangeFishingRodChanged); + + #line default + #line hidden + + #line 580 "..\..\MainWindow.xaml" + this.cb_isCheckedChangeFishingRod.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeFishingRodChanged); + + #line default + #line hidden + return; + case 43: + this.tb_stepChangeFishingRod = ((System.Windows.Controls.TextBox)(target)); + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeStepChange); + + #line default + #line hidden + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.LostFocus += new System.Windows.RoutedEventHandler(this.changeStepChange); + + #line default + #line hidden + + #line 586 "..\..\MainWindow.xaml" + this.tb_stepChangeFishingRod.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 44: + this.cb_isReGetInfoRod = ((System.Windows.Controls.CheckBox)(target)); + + #line 598 "..\..\MainWindow.xaml" + this.cb_isReGetInfoRod.Checked += new System.Windows.RoutedEventHandler(this.isChangeReGetInfoRod); + + #line default + #line hidden + + #line 598 "..\..\MainWindow.xaml" + this.cb_isReGetInfoRod.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeReGetInfoRod); + + #line default + #line hidden + return; + case 45: + this.tb_DelayFishingTest = ((System.Windows.Controls.TextBox)(target)); + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeDelayFishingTest); + + #line default + #line hidden + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.LostFocus += new System.Windows.RoutedEventHandler(this.changeDelayFishingTest); + + #line default + #line hidden + + #line 615 "..\..\MainWindow.xaml" + this.tb_DelayFishingTest.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 46: + this.cb_ListLanguage = ((System.Windows.Controls.ComboBox)(target)); + + #line 631 "..\..\MainWindow.xaml" + this.cb_ListLanguage.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeLanguage); + + #line default + #line hidden + return; + case 47: + this.cb_isSaveExclamation = ((System.Windows.Controls.CheckBox)(target)); + + #line 649 "..\..\MainWindow.xaml" + this.cb_isSaveExclamation.Checked += new System.Windows.RoutedEventHandler(this.isChangeSaveExclamation); + + #line default + #line hidden + + #line 649 "..\..\MainWindow.xaml" + this.cb_isSaveExclamation.Unchecked += new System.Windows.RoutedEventHandler(this.isChangeSaveExclamation); + + #line default + #line hidden + return; + case 48: + this.slider_SpeedAuto = ((System.Windows.Controls.Slider)(target)); + + #line 662 "..\..\MainWindow.xaml" + this.slider_SpeedAuto.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.speedAutoChange); + + #line default + #line hidden + return; + case 49: + this.tb_ValueSpeedName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 50: + this.tb_DelayCheck = ((System.Windows.Controls.TextBox)(target)); + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeDelayCheck); + + #line default + #line hidden + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.LostFocus += new System.Windows.RoutedEventHandler(this.changeDelayCheck); + + #line default + #line hidden + + #line 673 "..\..\MainWindow.xaml" + this.tb_DelayCheck.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 51: + this.total_Hour = ((System.Windows.Controls.TextBlock)(target)); + return; + case 52: + this.total_Minute = ((System.Windows.Controls.TextBlock)(target)); + return; + case 53: + this.total_Second = ((System.Windows.Controls.TextBlock)(target)); + return; + case 54: + + #line 733 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_RemoveSummary); + + #line default + #line hidden + return; + case 55: + this.total_quangCan = ((System.Windows.Controls.TextBlock)(target)); + return; + case 56: + this.total_boQuaCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 57: + this.total_dutDay = ((System.Windows.Controls.TextBlock)(target)); + return; + case 58: + this.total_cauLoi = ((System.Windows.Controls.TextBlock)(target)); + return; + case 59: + this.total_soCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 60: + this.total_doTaiChe = ((System.Windows.Controls.TextBlock)(target)); + return; + case 61: + this.total_tienBanCa = ((System.Windows.Controls.TextBlock)(target)); + return; + case 62: + this.total_tienSuaCan = ((System.Windows.Controls.TextBlock)(target)); + return; + case 63: + this.tb_TotalFish1 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 64: + this.tb_TotalFish2 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 65: + this.tb_TotalFish3 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 66: + this.tb_TotalFish4 = ((System.Windows.Controls.TextBlock)(target)); + return; + case 67: + this.paging_ListFish = ((System.Windows.Controls.Grid)(target)); + return; + case 68: + + #line 965 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.sort_PrevPage); + + #line default + #line hidden + return; + case 69: + this.tb_pageSummaryFish = ((System.Windows.Controls.TextBox)(target)); + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.GotFocus += new System.Windows.RoutedEventHandler(this.startChangeSortPage); + + #line default + #line hidden + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.LostFocus += new System.Windows.RoutedEventHandler(this.changeSortPage); + + #line default + #line hidden + + #line 979 "..\..\MainWindow.xaml" + this.tb_pageSummaryFish.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + return; + case 70: + + #line 982 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.sort_NextPage); + + #line default + #line hidden + return; + case 71: + this.action_Sort = ((System.Windows.Controls.Grid)(target)); + return; + case 72: + + #line 1005 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortSTT); + + #line default + #line hidden + return; + case 73: + this.sortDown_STT = ((System.Windows.Controls.Image)(target)); + return; + case 74: + this.sortUp_STT = ((System.Windows.Controls.Image)(target)); + return; + case 75: + this.cb_SelectLevel = ((System.Windows.Controls.ComboBox)(target)); + + #line 1013 "..\..\MainWindow.xaml" + this.cb_SelectLevel.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeLevelSelect); + + #line default + #line hidden + return; + case 76: + + #line 1025 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortMoney); + + #line default + #line hidden + return; + case 77: + this.sortDown_Money = ((System.Windows.Controls.Image)(target)); + return; + case 78: + this.sortUp_Money = ((System.Windows.Controls.Image)(target)); + return; + case 79: + this.cb_SelectSize = ((System.Windows.Controls.ComboBox)(target)); + + #line 1033 "..\..\MainWindow.xaml" + this.cb_SelectSize.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.changeSizeSelect); + + #line default + #line hidden + return; + case 80: + + #line 1045 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Grid)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.changeSortShadow); + + #line default + #line hidden + return; + case 81: + this.sortDown_Shadow = ((System.Windows.Controls.Image)(target)); + return; + case 82: + this.sortUp_Shadow = ((System.Windows.Controls.Image)(target)); + return; + case 83: + this.notFoundSortData = ((System.Windows.Controls.Border)(target)); + return; + case 84: + this.ic_SummaryFish = ((System.Windows.Controls.ItemsControl)(target)); + return; + case 85: + this.notiStep = ((System.Windows.Controls.TextBlock)(target)); + return; + case 86: + this.fishingDone = ((System.Windows.Controls.Grid)(target)); + return; + case 87: + this.fishingDoneName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 88: + this.fishingDoneVM = ((System.Windows.Controls.Image)(target)); + return; + case 89: + this.fishingDonePrice = ((System.Windows.Controls.TextBlock)(target)); + return; + case 90: + this.fishingDoneMoney = ((System.Windows.Controls.Image)(target)); + return; + case 91: + this.ic_Notification = ((System.Windows.Controls.ItemsControl)(target)); + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 15: + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.selectAuto); + + #line default + #line hidden + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Emulator); + + #line default + #line hidden + + #line 86 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_EmulatorOut); + + #line default + #line hidden + break; + case 16: + + #line 117 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Label)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.change_NameEmu); + + #line default + #line hidden + break; + case 17: + + #line 129 "..\..\MainWindow.xaml" + ((System.Windows.Controls.Label)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.saveChangeNameEmu); + + #line default + #line hidden + break; + case 37: + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).GotFocus += new System.Windows.RoutedEventHandler(this.startChangeMaxSF); + + #line default + #line hidden + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).LostFocus += new System.Windows.RoutedEventHandler(this.changeMaxSF); + + #line default + #line hidden + + #line 462 "..\..\MainWindow.xaml" + ((System.Windows.Controls.TextBox)(target)).PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumberValidationTextBox); + + #line default + #line hidden + break; + case 38: + + #line 465 "..\..\MainWindow.xaml" + ((System.Windows.Controls.CheckBox)(target)).Checked += new System.Windows.RoutedEventHandler(this.CheckBoxFSChanged); + + #line default + #line hidden + + #line 465 "..\..\MainWindow.xaml" + ((System.Windows.Controls.CheckBox)(target)).Unchecked += new System.Windows.RoutedEventHandler(this.CheckBoxFSChanged); + + #line default + #line hidden + break; + } + } + } +} + diff --git a/Auto_Demo/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/Auto_Demo/obj/Release/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..484c798 Binary files /dev/null and b/Auto_Demo/obj/Release/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/Auto_Demo/obj/Release/animations/toggle_select_device.baml b/Auto_Demo/obj/Release/animations/toggle_select_device.baml new file mode 100644 index 0000000..0569333 Binary files /dev/null and b/Auto_Demo/obj/Release/animations/toggle_select_device.baml differ diff --git a/Auto_Demo/obj/Release/components/CMessageBox.baml b/Auto_Demo/obj/Release/components/CMessageBox.baml new file mode 100644 index 0000000..fcf5db9 Binary files /dev/null and b/Auto_Demo/obj/Release/components/CMessageBox.baml differ diff --git a/Auto_Demo/obj/Release/components/CMessageBox.g.cs b/Auto_Demo/obj/Release/components/CMessageBox.g.cs new file mode 100644 index 0000000..89a8a39 --- /dev/null +++ b/Auto_Demo/obj/Release/components/CMessageBox.g.cs @@ -0,0 +1,219 @@ +#pragma checksum "..\..\..\components\CMessageBox.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6280BB50D46E792480CF7BA9200C3FDD1849830443F8318D085D4A2DBE2C0DBB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// CMessageBox + /// + public partial class CMessageBox : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.components.CMessageBox window_main; + + #line default + #line hidden + + + #line 21 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Title; + + #line default + #line hidden + + + #line 24 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 25 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 26 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 28 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 39 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Content; + + #line default + #line hidden + + + #line 61 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_CancelButton; + + #line default + #line hidden + + + #line 74 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_OKButton; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/cmessagebox.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\CMessageBox.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.window_main = ((Auto_Demo.components.CMessageBox)(target)); + + #line 7 "..\..\..\components\CMessageBox.xaml" + this.window_main.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + return; + case 2: + this.tb_Title = ((System.Windows.Controls.TextBlock)(target)); + return; + case 3: + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_cancelButton); + + #line default + #line hidden + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 4: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 5: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 8: + this.tb_Content = ((System.Windows.Controls.TextBlock)(target)); + return; + case 9: + + #line 50 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_cancelButton); + + #line default + #line hidden + return; + case 10: + this.tb_CancelButton = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + + #line 63 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_okButton); + + #line default + #line hidden + return; + case 12: + this.tb_OKButton = ((System.Windows.Controls.TextBlock)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/components/CMessageBox.g.i.cs b/Auto_Demo/obj/Release/components/CMessageBox.g.i.cs new file mode 100644 index 0000000..89a8a39 --- /dev/null +++ b/Auto_Demo/obj/Release/components/CMessageBox.g.i.cs @@ -0,0 +1,219 @@ +#pragma checksum "..\..\..\components\CMessageBox.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "6280BB50D46E792480CF7BA9200C3FDD1849830443F8318D085D4A2DBE2C0DBB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// CMessageBox + /// + public partial class CMessageBox : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.components.CMessageBox window_main; + + #line default + #line hidden + + + #line 21 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Title; + + #line default + #line hidden + + + #line 24 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 25 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 26 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 28 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 39 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Content; + + #line default + #line hidden + + + #line 61 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_CancelButton; + + #line default + #line hidden + + + #line 74 "..\..\..\components\CMessageBox.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_OKButton; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/cmessagebox.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\CMessageBox.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.window_main = ((Auto_Demo.components.CMessageBox)(target)); + + #line 7 "..\..\..\components\CMessageBox.xaml" + this.window_main.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + return; + case 2: + this.tb_Title = ((System.Windows.Controls.TextBlock)(target)); + return; + case 3: + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_cancelButton); + + #line default + #line hidden + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 22 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 4: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 5: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 8: + this.tb_Content = ((System.Windows.Controls.TextBlock)(target)); + return; + case 9: + + #line 50 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_cancelButton); + + #line default + #line hidden + return; + case 10: + this.tb_CancelButton = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + + #line 63 "..\..\..\components\CMessageBox.xaml" + ((System.Windows.Controls.Border)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.click_okButton); + + #line default + #line hidden + return; + case 12: + this.tb_OKButton = ((System.Windows.Controls.TextBlock)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/components/notification.baml b/Auto_Demo/obj/Release/components/notification.baml new file mode 100644 index 0000000..6f0ec9c Binary files /dev/null and b/Auto_Demo/obj/Release/components/notification.baml differ diff --git a/Auto_Demo/obj/Release/components/notification.g.cs b/Auto_Demo/obj/Release/components/notification.g.cs new file mode 100644 index 0000000..9d483ed --- /dev/null +++ b/Auto_Demo/obj/Release/components/notification.g.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\components\notification.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "7F5943FE4D8647659FF29F08DC94382E52B779C7A98CF4A83CD561E3DDF45E09" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// notification + /// + public partial class notification : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\components\notification.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.components.notification root; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/notification.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\notification.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.root = ((Auto_Demo.components.notification)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/components/notification.g.i.cs b/Auto_Demo/obj/Release/components/notification.g.i.cs new file mode 100644 index 0000000..9d483ed --- /dev/null +++ b/Auto_Demo/obj/Release/components/notification.g.i.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\components\notification.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "7F5943FE4D8647659FF29F08DC94382E52B779C7A98CF4A83CD561E3DDF45E09" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// notification + /// + public partial class notification : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\components\notification.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.components.notification root; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/notification.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\notification.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.root = ((Auto_Demo.components.notification)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/components/test.baml b/Auto_Demo/obj/Release/components/test.baml new file mode 100644 index 0000000..8bed082 Binary files /dev/null and b/Auto_Demo/obj/Release/components/test.baml differ diff --git a/Auto_Demo/obj/Release/components/test.g.cs b/Auto_Demo/obj/Release/components/test.g.cs new file mode 100644 index 0000000..4bf6a7a --- /dev/null +++ b/Auto_Demo/obj/Release/components/test.g.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\components\test.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "54AA5303588B431B8EBEB4047CC401263A91F48863EE9EEDCAE78090797B7539" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// test + /// + public partial class test : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 22 "..\..\..\components\test.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_sizeMax; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/test.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\test.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.tb_sizeMax = ((System.Windows.Controls.TextBox)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/components/test.g.i.cs b/Auto_Demo/obj/Release/components/test.g.i.cs new file mode 100644 index 0000000..4bf6a7a --- /dev/null +++ b/Auto_Demo/obj/Release/components/test.g.i.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\components\test.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "54AA5303588B431B8EBEB4047CC401263A91F48863EE9EEDCAE78090797B7539" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.components; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.components { + + + /// + /// test + /// + public partial class test : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 22 "..\..\..\components\test.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_sizeMax; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/components/test.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\components\test.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.tb_sizeMax = ((System.Windows.Controls.TextBox)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/custom/button.baml b/Auto_Demo/obj/Release/custom/button.baml new file mode 100644 index 0000000..84d6fd1 Binary files /dev/null and b/Auto_Demo/obj/Release/custom/button.baml differ diff --git a/Auto_Demo/obj/Release/custom/button_viewbox.baml b/Auto_Demo/obj/Release/custom/button_viewbox.baml new file mode 100644 index 0000000..2c945bc Binary files /dev/null and b/Auto_Demo/obj/Release/custom/button_viewbox.baml differ diff --git a/Auto_Demo/obj/Release/custom/checkbox.baml b/Auto_Demo/obj/Release/custom/checkbox.baml new file mode 100644 index 0000000..e1a14e3 Binary files /dev/null and b/Auto_Demo/obj/Release/custom/checkbox.baml differ diff --git a/Auto_Demo/obj/Release/custom/scroll_combobox.baml b/Auto_Demo/obj/Release/custom/scroll_combobox.baml new file mode 100644 index 0000000..876caf3 Binary files /dev/null and b/Auto_Demo/obj/Release/custom/scroll_combobox.baml differ diff --git a/Auto_Demo/obj/Release/custom/scroll_null.baml b/Auto_Demo/obj/Release/custom/scroll_null.baml new file mode 100644 index 0000000..da3e359 Binary files /dev/null and b/Auto_Demo/obj/Release/custom/scroll_null.baml differ diff --git a/Auto_Demo/obj/Release/custom/scrollbar.baml b/Auto_Demo/obj/Release/custom/scrollbar.baml new file mode 100644 index 0000000..01cf45d Binary files /dev/null and b/Auto_Demo/obj/Release/custom/scrollbar.baml differ diff --git a/Auto_Demo/obj/Release/custom/select.baml b/Auto_Demo/obj/Release/custom/select.baml new file mode 100644 index 0000000..8bb92de Binary files /dev/null and b/Auto_Demo/obj/Release/custom/select.baml differ diff --git a/Auto_Demo/obj/Release/custom/slider.baml b/Auto_Demo/obj/Release/custom/slider.baml new file mode 100644 index 0000000..2972290 Binary files /dev/null and b/Auto_Demo/obj/Release/custom/slider.baml differ diff --git a/Auto_Demo/obj/Release/draw/Window1.baml b/Auto_Demo/obj/Release/draw/Window1.baml new file mode 100644 index 0000000..efb9a12 Binary files /dev/null and b/Auto_Demo/obj/Release/draw/Window1.baml differ diff --git a/Auto_Demo/obj/Release/draw/Window1.g.cs b/Auto_Demo/obj/Release/draw/Window1.g.cs new file mode 100644 index 0000000..a7dc526 --- /dev/null +++ b/Auto_Demo/obj/Release/draw/Window1.g.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\draw\Window1.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "E08875ED7FCBC439CE6A135EA9479EC048F649DD653B9C7E63FB15D96A9B41C9" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// Window1 + /// + public partial class Window1 : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 84 "..\..\..\draw\Window1.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer scroll; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/window1.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\Window1.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.scroll = ((System.Windows.Controls.ScrollViewer)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw/Window1.g.i.cs b/Auto_Demo/obj/Release/draw/Window1.g.i.cs new file mode 100644 index 0000000..a7dc526 --- /dev/null +++ b/Auto_Demo/obj/Release/draw/Window1.g.i.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\draw\Window1.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "E08875ED7FCBC439CE6A135EA9479EC048F649DD653B9C7E63FB15D96A9B41C9" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// Window1 + /// + public partial class Window1 : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 84 "..\..\..\draw\Window1.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer scroll; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/window1.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\Window1.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.scroll = ((System.Windows.Controls.ScrollViewer)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw/draw.baml b/Auto_Demo/obj/Release/draw/draw.baml new file mode 100644 index 0000000..6b315c4 Binary files /dev/null and b/Auto_Demo/obj/Release/draw/draw.baml differ diff --git a/Auto_Demo/obj/Release/draw/draw.g.cs b/Auto_Demo/obj/Release/draw/draw.g.cs new file mode 100644 index 0000000..4bce5b8 --- /dev/null +++ b/Auto_Demo/obj/Release/draw/draw.g.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\draw\draw.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "52343F5059AD1A83E0749BCCBFDE9DF8CB6AB102782208C5FE5FAE35D0D844DB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// draw + /// + public partial class draw : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.test.draw win_Draw; + + #line default + #line hidden + + + #line 11 "..\..\..\draw\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/draw.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\draw.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.test.draw)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw/draw.g.i.cs b/Auto_Demo/obj/Release/draw/draw.g.i.cs new file mode 100644 index 0000000..4bce5b8 --- /dev/null +++ b/Auto_Demo/obj/Release/draw/draw.g.i.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\draw\draw.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "52343F5059AD1A83E0749BCCBFDE9DF8CB6AB102782208C5FE5FAE35D0D844DB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// draw + /// + public partial class draw : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.test.draw win_Draw; + + #line default + #line hidden + + + #line 11 "..\..\..\draw\draw.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/draw.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\draw.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.test.draw)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw/rounded.baml b/Auto_Demo/obj/Release/draw/rounded.baml new file mode 100644 index 0000000..6b2f33a Binary files /dev/null and b/Auto_Demo/obj/Release/draw/rounded.baml differ diff --git a/Auto_Demo/obj/Release/draw/rounded.g.cs b/Auto_Demo/obj/Release/draw/rounded.g.cs new file mode 100644 index 0000000..dfa38b4 --- /dev/null +++ b/Auto_Demo/obj/Release/draw/rounded.g.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw\rounded.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "60212AC6F0405B807846E2E27F185A3F2E87668A4CA0033BE964E118DCFCA8CB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw { + + + /// + /// rounded + /// + public partial class rounded : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw.rounded win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound; + + #line default + #line hidden + + + #line 11 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound2; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/rounded.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\rounded.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw.rounded)(target)); + return; + case 2: + this.drawRound = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.drawRound2 = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw/rounded.g.i.cs b/Auto_Demo/obj/Release/draw/rounded.g.i.cs new file mode 100644 index 0000000..dfa38b4 --- /dev/null +++ b/Auto_Demo/obj/Release/draw/rounded.g.i.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw\rounded.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "60212AC6F0405B807846E2E27F185A3F2E87668A4CA0033BE964E118DCFCA8CB" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw { + + + /// + /// rounded + /// + public partial class rounded : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw.rounded win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound; + + #line default + #line hidden + + + #line 11 "..\..\..\draw\rounded.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound2; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/rounded.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\rounded.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw.rounded)(target)); + return; + case 2: + this.drawRound = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.drawRound2 = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw/size_fish.baml b/Auto_Demo/obj/Release/draw/size_fish.baml new file mode 100644 index 0000000..e42c935 Binary files /dev/null and b/Auto_Demo/obj/Release/draw/size_fish.baml differ diff --git a/Auto_Demo/obj/Release/draw/size_fish.g.cs b/Auto_Demo/obj/Release/draw/size_fish.g.cs new file mode 100644 index 0000000..3d75e7f --- /dev/null +++ b/Auto_Demo/obj/Release/draw/size_fish.g.cs @@ -0,0 +1,75 @@ +#pragma checksum "..\..\..\draw\size_fish.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "53448B9163CEC696EB30D4F38D39CBFA705C7CA11A58CE4D343696F0D2F429E1" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw { + + + /// + /// size_fish + /// + public partial class size_fish : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/size_fish.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\size_fish.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw/size_fish.g.i.cs b/Auto_Demo/obj/Release/draw/size_fish.g.i.cs new file mode 100644 index 0000000..3d75e7f --- /dev/null +++ b/Auto_Demo/obj/Release/draw/size_fish.g.i.cs @@ -0,0 +1,75 @@ +#pragma checksum "..\..\..\draw\size_fish.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "53448B9163CEC696EB30D4F38D39CBFA705C7CA11A58CE4D343696F0D2F429E1" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw { + + + /// + /// size_fish + /// + public partial class size_fish : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw/size_fish.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw\size_fish.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw_window/FishSizeBorder.baml b/Auto_Demo/obj/Release/draw_window/FishSizeBorder.baml new file mode 100644 index 0000000..410b983 Binary files /dev/null and b/Auto_Demo/obj/Release/draw_window/FishSizeBorder.baml differ diff --git a/Auto_Demo/obj/Release/draw_window/FishSizeBorder.g.cs b/Auto_Demo/obj/Release/draw_window/FishSizeBorder.g.cs new file mode 100644 index 0000000..b05d85e --- /dev/null +++ b/Auto_Demo/obj/Release/draw_window/FishSizeBorder.g.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw_window\FishSizeBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "50245DBB0178D40F362AC404F6FEAD5DFDFF9AB403313C942F40BA3329D9EC75" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// FishSizeBorder + /// + public partial class FishSizeBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.FishSizeBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + + #line 11 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Size; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/fishsizeborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\FishSizeBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.FishSizeBorder)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.tb_Size = ((System.Windows.Controls.TextBlock)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw_window/FishSizeBorder.g.i.cs b/Auto_Demo/obj/Release/draw_window/FishSizeBorder.g.i.cs new file mode 100644 index 0000000..b05d85e --- /dev/null +++ b/Auto_Demo/obj/Release/draw_window/FishSizeBorder.g.i.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw_window\FishSizeBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "50245DBB0178D40F362AC404F6FEAD5DFDFF9AB403313C942F40BA3329D9EC75" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// FishSizeBorder + /// + public partial class FishSizeBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.FishSizeBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + + #line 11 "..\..\..\draw_window\FishSizeBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_Size; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/fishsizeborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\FishSizeBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.FishSizeBorder)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.tb_Size = ((System.Windows.Controls.TextBlock)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw_window/RoundBorder.baml b/Auto_Demo/obj/Release/draw_window/RoundBorder.baml new file mode 100644 index 0000000..ebaf074 Binary files /dev/null and b/Auto_Demo/obj/Release/draw_window/RoundBorder.baml differ diff --git a/Auto_Demo/obj/Release/draw_window/RoundBorder.g.cs b/Auto_Demo/obj/Release/draw_window/RoundBorder.g.cs new file mode 100644 index 0000000..277b3b6 --- /dev/null +++ b/Auto_Demo/obj/Release/draw_window/RoundBorder.g.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw_window\RoundBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "DEAF3618B790C095806E21A757133B30F94C0459F60097854AD44BAE5F489129" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// RoundBorder + /// + public partial class RoundBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.RoundBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound; + + #line default + #line hidden + + + #line 11 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound2; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/roundborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\RoundBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.RoundBorder)(target)); + return; + case 2: + this.drawRound = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.drawRound2 = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw_window/RoundBorder.g.i.cs b/Auto_Demo/obj/Release/draw_window/RoundBorder.g.i.cs new file mode 100644 index 0000000..277b3b6 --- /dev/null +++ b/Auto_Demo/obj/Release/draw_window/RoundBorder.g.i.cs @@ -0,0 +1,111 @@ +#pragma checksum "..\..\..\draw_window\RoundBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "DEAF3618B790C095806E21A757133B30F94C0459F60097854AD44BAE5F489129" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// RoundBorder + /// + public partial class RoundBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.RoundBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound; + + #line default + #line hidden + + + #line 11 "..\..\..\draw_window\RoundBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawRound2; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/roundborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\RoundBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.RoundBorder)(target)); + return; + case 2: + this.drawRound = ((System.Windows.Controls.Border)(target)); + return; + case 3: + this.drawRound2 = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw_window/SquareBorder.baml b/Auto_Demo/obj/Release/draw_window/SquareBorder.baml new file mode 100644 index 0000000..f842cc4 Binary files /dev/null and b/Auto_Demo/obj/Release/draw_window/SquareBorder.baml differ diff --git a/Auto_Demo/obj/Release/draw_window/SquareBorder.g.cs b/Auto_Demo/obj/Release/draw_window/SquareBorder.g.cs new file mode 100644 index 0000000..7888b88 --- /dev/null +++ b/Auto_Demo/obj/Release/draw_window/SquareBorder.g.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\draw_window\SquareBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "3F63A766E3549B069DF1D4AFE8284CD9ABB7D8A1EEB7CD546E089BDB0748232B" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// SquareBorder + /// + public partial class SquareBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\SquareBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.SquareBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\SquareBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/squareborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\SquareBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.SquareBorder)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/draw_window/SquareBorder.g.i.cs b/Auto_Demo/obj/Release/draw_window/SquareBorder.g.i.cs new file mode 100644 index 0000000..7888b88 --- /dev/null +++ b/Auto_Demo/obj/Release/draw_window/SquareBorder.g.i.cs @@ -0,0 +1,100 @@ +#pragma checksum "..\..\..\draw_window\SquareBorder.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "3F63A766E3549B069DF1D4AFE8284CD9ABB7D8A1EEB7CD546E089BDB0748232B" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.draw_window; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.draw_window { + + + /// + /// SquareBorder + /// + public partial class SquareBorder : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 7 "..\..\..\draw_window\SquareBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.draw_window.SquareBorder win_Draw; + + #line default + #line hidden + + + #line 10 "..\..\..\draw_window\SquareBorder.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Border drawLine; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/draw_window/squareborder.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\draw_window\SquareBorder.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.win_Draw = ((Auto_Demo.draw_window.SquareBorder)(target)); + return; + case 2: + this.drawLine = ((System.Windows.Controls.Border)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/obj/Release/icons/add-square.baml b/Auto_Demo/obj/Release/icons/add-square.baml new file mode 100644 index 0000000..f377b30 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/add-square.baml differ diff --git a/Auto_Demo/obj/Release/icons/chevron-down.baml b/Auto_Demo/obj/Release/icons/chevron-down.baml new file mode 100644 index 0000000..4855ae2 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/chevron-down.baml differ diff --git a/Auto_Demo/obj/Release/icons/chevron-up.baml b/Auto_Demo/obj/Release/icons/chevron-up.baml new file mode 100644 index 0000000..84cf1a7 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/chevron-up.baml differ diff --git a/Auto_Demo/obj/Release/icons/edit-name.baml b/Auto_Demo/obj/Release/icons/edit-name.baml new file mode 100644 index 0000000..c6816a2 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/edit-name.baml differ diff --git a/Auto_Demo/obj/Release/icons/icon_add.baml b/Auto_Demo/obj/Release/icons/icon_add.baml new file mode 100644 index 0000000..d5296e2 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/icon_add.baml differ diff --git a/Auto_Demo/obj/Release/icons/noti-error.baml b/Auto_Demo/obj/Release/icons/noti-error.baml new file mode 100644 index 0000000..f180000 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/noti-error.baml differ diff --git a/Auto_Demo/obj/Release/icons/noti-info.baml b/Auto_Demo/obj/Release/icons/noti-info.baml new file mode 100644 index 0000000..feef103 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/noti-info.baml differ diff --git a/Auto_Demo/obj/Release/icons/noti-success.baml b/Auto_Demo/obj/Release/icons/noti-success.baml new file mode 100644 index 0000000..58ab94a Binary files /dev/null and b/Auto_Demo/obj/Release/icons/noti-success.baml differ diff --git a/Auto_Demo/obj/Release/icons/noti-warning.baml b/Auto_Demo/obj/Release/icons/noti-warning.baml new file mode 100644 index 0000000..6b35fc8 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/noti-warning.baml differ diff --git a/Auto_Demo/obj/Release/icons/pause-auto.baml b/Auto_Demo/obj/Release/icons/pause-auto.baml new file mode 100644 index 0000000..f185aeb Binary files /dev/null and b/Auto_Demo/obj/Release/icons/pause-auto.baml differ diff --git a/Auto_Demo/obj/Release/icons/play-auto.baml b/Auto_Demo/obj/Release/icons/play-auto.baml new file mode 100644 index 0000000..e11b8a9 Binary files /dev/null and b/Auto_Demo/obj/Release/icons/play-auto.baml differ diff --git a/Auto_Demo/obj/Release/icons/save-name.baml b/Auto_Demo/obj/Release/icons/save-name.baml new file mode 100644 index 0000000..6cce43f Binary files /dev/null and b/Auto_Demo/obj/Release/icons/save-name.baml differ diff --git a/Auto_Demo/obj/Release/popups/add_device.baml b/Auto_Demo/obj/Release/popups/add_device.baml new file mode 100644 index 0000000..b6359fb Binary files /dev/null and b/Auto_Demo/obj/Release/popups/add_device.baml differ diff --git a/Auto_Demo/obj/Release/popups/add_device.g.cs b/Auto_Demo/obj/Release/popups/add_device.g.cs new file mode 100644 index 0000000..8e6dfdd --- /dev/null +++ b/Auto_Demo/obj/Release/popups/add_device.g.cs @@ -0,0 +1,346 @@ +#pragma checksum "..\..\..\popups\add_device.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "03765F9F2B40CB5EA1661B2DFDB9772E486BC6C3A30F38655A6DE3A5F6409336" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.popups; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.popups { + + + /// + /// add_device + /// + public partial class add_device : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 8 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.popups.add_device window_main; + + #line default + #line hidden + + + #line 31 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 32 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 33 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 35 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 64 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid grid; + + #line default + #line hidden + + + #line 73 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image img_IconEmulator; + + #line default + #line hidden + + + #line 79 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_SelectName; + + #line default + #line hidden + + + #line 80 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock label_ID; + + #line default + #line hidden + + + #line 81 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_SelectID; + + #line default + #line hidden + + + #line 98 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label lb_ButonOpen; + + #line default + #line hidden + + + #line 99 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label lb_ButtonClose; + + #line default + #line hidden + + + #line 163 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_Name; + + #line default + #line hidden + + + #line 178 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Button button_AddDevice; + + #line default + #line hidden + + + #line 189 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rectangle; + + #line default + #line hidden + + + #line 190 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListBox lb_ListDevice; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/popups/add_device.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\popups\add_device.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.window_main = ((Auto_Demo.popups.add_device)(target)); + + #line 10 "..\..\..\popups\add_device.xaml" + this.window_main.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + + #line 11 "..\..\..\popups\add_device.xaml" + this.window_main.Loaded += new System.Windows.RoutedEventHandler(this.load_Data); + + #line default + #line hidden + return; + case 2: + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.close_Popup); + + #line default + #line hidden + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 3: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 4: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 5: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + + #line 58 "..\..\..\popups\add_device.xaml" + ((System.Windows.Shapes.Rectangle)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 8: + this.grid = ((System.Windows.Controls.Grid)(target)); + + #line 64 "..\..\..\popups\add_device.xaml" + this.grid.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 9: + this.img_IconEmulator = ((System.Windows.Controls.Image)(target)); + return; + case 10: + this.tb_SelectName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + this.label_ID = ((System.Windows.Controls.TextBlock)(target)); + return; + case 12: + this.tb_SelectID = ((System.Windows.Controls.TextBlock)(target)); + return; + case 13: + this.lb_ButonOpen = ((System.Windows.Controls.Label)(target)); + + #line 98 "..\..\..\popups\add_device.xaml" + this.lb_ButonOpen.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 14: + this.lb_ButtonClose = ((System.Windows.Controls.Label)(target)); + + #line 99 "..\..\..\popups\add_device.xaml" + this.lb_ButtonClose.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 15: + this.tb_Name = ((System.Windows.Controls.TextBox)(target)); + return; + case 16: + this.button_AddDevice = ((System.Windows.Controls.Button)(target)); + + #line 178 "..\..\..\popups\add_device.xaml" + this.button_AddDevice.Click += new System.Windows.RoutedEventHandler(this.bt_AddDevice); + + #line default + #line hidden + return; + case 17: + this.rectangle = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 18: + this.lb_ListDevice = ((System.Windows.Controls.ListBox)(target)); + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 19: + + #line 233 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.TextBox)(target)).TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.changeNameCustom); + + #line default + #line hidden + break; + case 20: + + #line 247 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.bt_AddDeviceCustom); + + #line default + #line hidden + break; + } + } + } +} + diff --git a/Auto_Demo/obj/Release/popups/add_device.g.i.cs b/Auto_Demo/obj/Release/popups/add_device.g.i.cs new file mode 100644 index 0000000..8e6dfdd --- /dev/null +++ b/Auto_Demo/obj/Release/popups/add_device.g.i.cs @@ -0,0 +1,346 @@ +#pragma checksum "..\..\..\popups\add_device.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "03765F9F2B40CB5EA1661B2DFDB9772E486BC6C3A30F38655A6DE3A5F6409336" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.popups; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.popups { + + + /// + /// add_device + /// + public partial class add_device : System.Windows.Window, System.Windows.Markup.IComponentConnector, System.Windows.Markup.IStyleConnector { + + + #line 8 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal Auto_Demo.popups.add_device window_main; + + #line default + #line hidden + + + #line 31 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas icon_ClosePrimaryGroup; + + #line default + #line hidden + + + #line 32 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary1; + + #line default + #line hidden + + + #line 33 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_ClosePrimary2; + + #line default + #line hidden + + + #line 35 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Path icon_CloseSecondary; + + #line default + #line hidden + + + #line 64 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Grid grid; + + #line default + #line hidden + + + #line 73 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Image img_IconEmulator; + + #line default + #line hidden + + + #line 79 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_SelectName; + + #line default + #line hidden + + + #line 80 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock label_ID; + + #line default + #line hidden + + + #line 81 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock tb_SelectID; + + #line default + #line hidden + + + #line 98 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label lb_ButonOpen; + + #line default + #line hidden + + + #line 99 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Label lb_ButtonClose; + + #line default + #line hidden + + + #line 163 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBox tb_Name; + + #line default + #line hidden + + + #line 178 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Button button_AddDevice; + + #line default + #line hidden + + + #line 189 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rectangle; + + #line default + #line hidden + + + #line 190 "..\..\..\popups\add_device.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ListBox lb_ListDevice; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/popups/add_device.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\popups\add_device.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.window_main = ((Auto_Demo.popups.add_device)(target)); + + #line 10 "..\..\..\popups\add_device.xaml" + this.window_main.MouseDown += new System.Windows.Input.MouseButtonEventHandler(this.Window_MouseMove); + + #line default + #line hidden + + #line 11 "..\..\..\popups\add_device.xaml" + this.window_main.Loaded += new System.Windows.RoutedEventHandler(this.load_Data); + + #line default + #line hidden + return; + case 2: + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.close_Popup); + + #line default + #line hidden + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseEnter += new System.Windows.Input.MouseEventHandler(this.hover_Close); + + #line default + #line hidden + + #line 29 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Viewbox)(target)).MouseLeave += new System.Windows.Input.MouseEventHandler(this.hover_CloseOut); + + #line default + #line hidden + return; + case 3: + this.icon_ClosePrimaryGroup = ((System.Windows.Controls.Canvas)(target)); + return; + case 4: + this.icon_ClosePrimary1 = ((System.Windows.Shapes.Path)(target)); + return; + case 5: + this.icon_ClosePrimary2 = ((System.Windows.Shapes.Path)(target)); + return; + case 6: + this.icon_CloseSecondary = ((System.Windows.Shapes.Path)(target)); + return; + case 7: + + #line 58 "..\..\..\popups\add_device.xaml" + ((System.Windows.Shapes.Rectangle)(target)).MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 8: + this.grid = ((System.Windows.Controls.Grid)(target)); + + #line 64 "..\..\..\popups\add_device.xaml" + this.grid.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 9: + this.img_IconEmulator = ((System.Windows.Controls.Image)(target)); + return; + case 10: + this.tb_SelectName = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + this.label_ID = ((System.Windows.Controls.TextBlock)(target)); + return; + case 12: + this.tb_SelectID = ((System.Windows.Controls.TextBlock)(target)); + return; + case 13: + this.lb_ButonOpen = ((System.Windows.Controls.Label)(target)); + + #line 98 "..\..\..\popups\add_device.xaml" + this.lb_ButonOpen.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 14: + this.lb_ButtonClose = ((System.Windows.Controls.Label)(target)); + + #line 99 "..\..\..\popups\add_device.xaml" + this.lb_ButtonClose.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.toggle_ListSelectDevice); + + #line default + #line hidden + return; + case 15: + this.tb_Name = ((System.Windows.Controls.TextBox)(target)); + return; + case 16: + this.button_AddDevice = ((System.Windows.Controls.Button)(target)); + + #line 178 "..\..\..\popups\add_device.xaml" + this.button_AddDevice.Click += new System.Windows.RoutedEventHandler(this.bt_AddDevice); + + #line default + #line hidden + return; + case 17: + this.rectangle = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 18: + this.lb_ListDevice = ((System.Windows.Controls.ListBox)(target)); + return; + } + this._contentLoaded = true; + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 19: + + #line 233 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.TextBox)(target)).TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.changeNameCustom); + + #line default + #line hidden + break; + case 20: + + #line 247 "..\..\..\popups\add_device.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.bt_AddDeviceCustom); + + #line default + #line hidden + break; + } + } + } +} + diff --git a/Auto_Demo/obj/Release/test/Window1.g.cs b/Auto_Demo/obj/Release/test/Window1.g.cs new file mode 100644 index 0000000..02fd5a8 --- /dev/null +++ b/Auto_Demo/obj/Release/test/Window1.g.cs @@ -0,0 +1,89 @@ +#pragma checksum "..\..\..\test\Window1.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "E08875ED7FCBC439CE6A135EA9479EC048F649DD653B9C7E63FB15D96A9B41C9" +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using Auto_Demo.test; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace Auto_Demo.test { + + + /// + /// Window1 + /// + public partial class Window1 : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + + #line 84 "..\..\..\test\Window1.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ScrollViewer scroll; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/Auto_Demo;component/test/window1.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\test\Window1.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.scroll = ((System.Windows.Controls.ScrollViewer)(target)); + return; + } + this._contentLoaded = true; + } + } +} + diff --git a/Auto_Demo/packages.config b/Auto_Demo/packages.config new file mode 100644 index 0000000..e5da557 --- /dev/null +++ b/Auto_Demo/packages.config @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/popups/add_device.xaml b/Auto_Demo/popups/add_device.xaml new file mode 100644 index 0000000..c2d5192 --- /dev/null +++ b/Auto_Demo/popups/add_device.xaml @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Auto_Demo/popups/add_device.xaml.cs b/Auto_Demo/popups/add_device.xaml.cs new file mode 100644 index 0000000..11095fd --- /dev/null +++ b/Auto_Demo/popups/add_device.xaml.cs @@ -0,0 +1,305 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Shapes; +using System.Diagnostics; +using Thread = System.Threading.Thread; +using KAutoHelper; +using System.Windows.Media.Animation; +using Auto_Demo.services; +using Auto_Demo.services.config; + +namespace Auto_Demo.popups +{ + /// + /// Interaction logic for add_device.xaml + /// + /// + public class Device + { + public int id { get; set; } + public string title { get; set; } + public string type { get; set; } + public string icon { get; set; } + //public string className { get; set; } + //public string text { get; set; } + public bool isCustom { get; set; } + + public Device() + { + this.isCustom = false; + } + } + + public partial class add_device : Window + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + + private int heightPopup = 300; + private int widthPopup = 380; + private string nameCustomDevice = ""; + private string typeSelect = ""; + Storyboard sb_SelectDeviceShow; + Storyboard sb_SelectDeviceHidden; + database db = new database(); + public add_device() + { + InitializeComponent(); + window_main.Width = this.widthPopup; + window_main.Height = this.heightPopup; + initConfig(); + } + + private void initConfig() + { + Application curApp = Application.Current; + Window mainWindow = curApp.MainWindow; + this.Left = mainWindow.Left + (mainWindow.Width - this.widthPopup) / 2; + this.Top = mainWindow.Top + (mainWindow.Height - this.heightPopup) / 2; + } + + private void Window_MouseMove(object sender, MouseButtonEventArgs e) + { + if (e.ChangedButton == MouseButton.Left) + { + this.DragMove(); + } + } + + private void close_Popup(object sender, MouseButtonEventArgs e) + { + Thread.Sleep(200); + Close(); + } + + private void hover_Close(object sender, MouseEventArgs e) + { + icon_ClosePrimary1.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_ClosePrimary2.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_CloseSecondary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + + icon_ClosePrimaryGroup.Opacity = 1; + icon_CloseSecondary.Opacity = 0.5; + } + + private void hover_CloseOut(object sender, MouseEventArgs e) + { + icon_ClosePrimary1.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_ClosePrimary2.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#EF4444"); + icon_CloseSecondary.Stroke = (SolidColorBrush)new BrushConverter().ConvertFromString("#FFFFFF"); + + icon_ClosePrimaryGroup.Opacity = 0.7; + icon_CloseSecondary.Opacity = 1; + } + + private void load_Data(object sender, RoutedEventArgs e) + { + List listDevice = new List(); + Device customDevice = new Device() { id = 0, title = "", type = "custom", icon = "../images/android.png", isCustom = true }; + listDevice.Add(customDevice); + + var processes = Process.GetProcesses().Where(p => !string.IsNullOrEmpty(p.MainWindowTitle)).ToList(); + foreach (var process in processes) + { + if (process.ProcessName == "HD-Player") + { + Device info = new Device() { id = process.Id, title = process.MainWindowTitle, type = "bluestacks", icon = "../images/bluestacks.png" }; + listDevice.Add(info); + } + else if (process.ProcessName == "dnplayer") + { + Device info = new Device() { id = process.Id, title = process.MainWindowTitle, type = "ldplayer", icon = "../images/ldplayer.png" }; + listDevice.Add(info); + } + else if (process.ProcessName == "Nox") + { + Device info = new Device() { id = process.Id, title = process.MainWindowTitle, type = "nox", icon = "../images/nox.png" }; + listDevice.Add(info); + } + else if (process.ProcessName == "MEmu") + { + Device info = new Device() { id = process.Id, title = process.MainWindowTitle, type = "memu", icon = "../images/memu.png" }; + listDevice.Add(info); + } + } + + lb_ListDevice.ItemsSource = listDevice; + lb_ListDevice.SelectionChanged += selectDevice; + sb_SelectDeviceShow = this.FindResource("lb_device_down") as Storyboard; + sb_SelectDeviceHidden = this.FindResource("lb_device_up") as Storyboard; + } + + void selectDevice(object sender, SelectionChangedEventArgs e) + { + Device deviceSelect = lb_ListDevice.SelectedItem as Device; + if (!deviceSelect.isCustom) + { + tb_SelectName.Text = deviceSelect.title; + tb_SelectID.Text = deviceSelect.id.ToString(); + label_ID.Text = "ID: "; + //tb_ClassName.Text = deviceSelect.className; + //tb_Text.Text = deviceSelect.text; + var uriSource = new Uri(deviceSelect.icon, UriKind.Relative); + img_IconEmulator.Source = new BitmapImage(uriSource); + typeSelect = deviceSelect.type; + Thread.Sleep(200); + isShowSelectDevice = false; + sb_SelectDeviceHidden.Begin(); + } + } + + private Process getProcessByTitle(string title) + { + var processes = Process.GetProcesses().Where(p => !string.IsNullOrEmpty(p.MainWindowTitle)).ToList(); + foreach (var process in processes) + { + if (process.MainWindowTitle == title) + { + return process; + } + } + return null; + } + + private void bt_AddDeviceCustom(object sender, RoutedEventArgs e) + { + + IntPtr win = KAutoHelper.AutoControl.FindWindowHandle(null, nameCustomDevice); + if (win == IntPtr.Zero) + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Không tìm thấy thiết bị", content = "vui kiểm tra lại tên giả lập, bảo đảm rằng tên giả lập là duy nhất", type = "error", timeStrat = DateTime.Now }; + } else + { + tb_SelectName.Text = nameCustomDevice; + tb_SelectID.Text = getProcessByTitle(nameCustomDevice).Id.ToString(); + label_ID.Text = "ID: "; + //tb_ClassName.Text = ""; + //tb_Text.Text = ""; + var uriSource = new Uri("../images/android.png", UriKind.Relative); + img_IconEmulator.Source = new BitmapImage(uriSource); + typeSelect = "custom"; + Thread.Sleep(200); + isShowSelectDevice = false; + sb_SelectDeviceHidden.Begin(); + } + } + + bool isShowSelectDevice = false; + private void toggle_ListSelectDevice(object sender, MouseButtonEventArgs e) + { + if (isShowSelectDevice) + { + sb_SelectDeviceHidden.Begin(); + isShowSelectDevice = !isShowSelectDevice; + } else + { + sb_SelectDeviceShow.Begin(); + isShowSelectDevice = !isShowSelectDevice; + } + } + + private void bt_AddDevice(object sender, RoutedEventArgs e) + { + if (tb_Name.Text == "") + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Tên không được để trống", content = "vui lòng nhập tên phân biệt cho thiết bị", type = "error", timeStrat = DateTime.Now }; + } + //else if (tb_ClassName.Text == "") + //{ + // new Notification() { id = Guid.NewGuid().ToString(), title = "Class name không được để trống", content = "vui lòng nhập class name của thiết bị", type = "error", timeStrat = DateTime.Now }; + //} + //else if (tb_Text.Text == "") + //{ + // new Notification() { id = Guid.NewGuid().ToString(), title = "Text control không được để trống", content = "vui lòng nhập text control của thiết bị", type = "error", timeStrat = DateTime.Now }; + //} + else if (tb_SelectID.Text == "") + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Thiết bị không được để trống", content = "vui lòng chọn một thiết bị", type = "error", timeStrat = DateTime.Now }; + } else + { + Guid id = Guid.NewGuid(); + string txtQuery = $"INSERT INTO Auto (_id,name,emulator_id,emulator_name,emulator_type) VALUES ('{id.ToString()}', '{tb_Name.Text}', '{tb_SelectID.Text}', '{tb_SelectName.Text}', '{typeSelect}')"; + Guid id_FishingRod = Guid.NewGuid(); + string txtQueryConfigFishingRod = $"INSERT INTO FishingRod (_id,auto_id,fishing_rod_1,fishing_rod_2,change_fishing_rod,step_change,get_info_rod) VALUES ('{id_FishingRod}', '{id}', 1, 2, 0, 5, 1)"; + Guid id_ConfigAuto = Guid.NewGuid(); + string txtQueryConfigAuto = $"INSERT INTO Config (_id,auto_id,delay_fishing_test,speed,save_exclamation,delay_check) VALUES ('{id_ConfigAuto}', '{id}', 16, 100, 0, 100)"; + try + { + // Khởi tạo cấu hình thiết bị + db.ExecuteQuery(txtQuery); + string _id = id.ToString(); + string name = tb_Name.Text; + string emulator_id = tb_SelectID.Text; + string emulator_name = tb_SelectName.Text; + //string className = tb_ClassName.Text; + //string text = tb_Text.Text; + string emulator_type = typeSelect; + new emulator(_id, name, emulator_id, emulator_name, emulator_type, true); + emulator.changeActive(_id); + + // Khởi tạo cài đặt cần câu + db.ExecuteQuery(txtQueryConfigFishingRod); + new FishingRodConfig(id_FishingRod.ToString(), id.ToString(), 1, 2, 0, 5, 1, true); + + // Khởi tạo cài đặt auto + db.ExecuteQuery(txtQueryConfigAuto); + new ConfigAuto(id_ConfigAuto.ToString(), id.ToString(), 16, -1, 100, 0, 100, true); + + // Khởi tạo cài đặt bỏ bóng cá + List listSize = new List(); + + for (int size = 1; size < 7; size++) + { + try + { + Guid id_SizeFish = Guid.NewGuid(); + string txtQueryConfigSizeFish = $"INSERT INTO FishSize (_id,auto_id,size,min,max,status,setting) VALUES ('{id_SizeFish}', '{id}', {size}, {1 + (size -1) * 30}, {size * 30}, 0, 'custom')"; + db.ExecuteQuery(txtQueryConfigSizeFish); + FishSize fishSize = new FishSize(id_SizeFish.ToString(), size, 1 + (size - 1) * 30, size * 30, 0, id.ToString()); + listSize.Add(fishSize); + } catch + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Cấu hình cài đặt thất bại", content = "Đã có lỗi xảy ra trong quá trình cấu hình cài đặt auto, vui lòng xoá thiết vừa thêm và thử lại", type = "error", timeStrat = DateTime.Now }; + break; + } + } + + new ConfigFishSize(listSize, id.ToString(), "custom", -1, true); + new fastConfigFishSize(_id, name); + + wnd.IsDashboard = false; + + // Khởi tạo auto + new Auto(id.ToString(), emulator_type, emulator_name, true); + new Notification() { id = Guid.NewGuid().ToString(), title = "Thêm thiết bị auto thành công", content = "hãy nhớ setting thiết bị trước khi tiến hành chạy auto", type = "success", timeStrat = DateTime.Now }; + } + catch + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Thêm thiết bị auto thất bại", content = "Đã có một lỗi dữ liệu xảy ra khi thêm mới thiết bị!", type = "error", timeStrat = DateTime.Now }; + } + + + Thread.Sleep(200); + Close(); + } + } + + private void changeNameCustom(object sender, TextChangedEventArgs e) + { + TextBox textBox = sender as TextBox; + if (textBox != null) + { + nameCustomDevice = textBox.Text; + } + } + } +} diff --git a/Auto_Demo/services/Auto.cs b/Auto_Demo/services/Auto.cs new file mode 100644 index 0000000..f35b9e0 --- /dev/null +++ b/Auto_Demo/services/Auto.cs @@ -0,0 +1,3786 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Threading; +using AutoItX3Lib; + +using System.Runtime.InteropServices; +using System.Drawing; +using KAutoHelper; +using System.Diagnostics; +using Tesseract; +using Auto_Demo.services.ml; +using Auto_Demo.services.config; +using System.Drawing.Imaging; +using Auto_Demo.draw_window; +using Point = System.Drawing.Point; +using System.IO; + +namespace Auto_Demo.services +{ + + public class Auto + { + [DllImport("user32.dll", SetLastError = true)] + public static extern IntPtr GetDC(IntPtr hwnd); + [DllImport("User32.dll")] + public static extern void ReleaseDC(IntPtr hwnd, IntPtr dc); + + public static AutoItX3 autoit = new AutoItX3(); + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public static ObservableCollection _ListAuto = new ObservableCollection(); + + public string auto_id { get; set; } + public string emulator_type { get; set; } + public bool isAuto { get; set; } + public string nameAuto { get; set; } + + + public int acceptError { get; set; } + public bool isGetAcceptError { get; set; } + public int maxPercentAcceptError { get; set; } + public int totalAcceptError { get; set; } + + + public bool check_BuoysAreaDone { get; set; } + public bool skipFish { get; set; } + public int shadowSize { get; set; } + public bool isPullRod { get; set; } + + public int currentSizeShadowFish { get; set; } + + public string messageNotiStep { get; set; } + public int typeNotiStep { get; set; } + public string nameFishNotiStep { get; set; } + public string colorLevelFishNotiStep { get; set; } + public int priceFishNotiStep { get; set; } + public int sizeFishNotiStep { get; set; } + public bool isVMFishNotiStep { get; set; } + + + //public string classHandle { get; set; } + //public string textHandle { get; set; } + + public int handleWidth { get; set; } + public int handleHeight { get; set; } + public int idRodUsing { get; set; } + + public List detect_ExclamationArea { get; set; } + public List detect_SensorArea1 { get; set; } + public List detect_SensorArea2 { get; set; } + public List detect_NameArea { get; set; } + public List detect_NameNoFishingArea { get; set; } + public List detect_BuoysArea { get; set; } + public List detect_CheckSizeArea { get; set; } + public List detect_KVBanDau { get; set; } + // public List detect_trucDoc { get; set; } + + public List colorDefault_ExclamationArea { get; set; } + public List colorDefault_SensorArea1 { get; set; } + public List colorDefault_SensorArea2 { get; set; } + public bool useSensor { get; set; } + + public List siteMapFishingRod { get; set; } + public FishingRodDetect currentFishingRod { get; set; } + public int totalFishing { get; set; } + + public Bitmap lastImgCheck { get; set; } + public Bitmap OKImgCheck { get; set; } + public double firstDifference { get; set; } + + public Image img_checkPhao { get; set; } + public Bitmap img_getAreaBongCa { get; set; } + public int countCheckDutDay { get; set; } + + public SummaryTotal summaryTotal { get; set; } + public SummaryTotalTime totalTime { get; set; } + public List summaryFish { get; set; } + public SummaryFishSort summaryFishSort { get; set; } + public int totalFailed { get; set; } + + public int hashCheck { get; set; } + public int hashCheckDoc { get; set; } + public int maxCheck { get; set; } + + + public int nguong_ChenhLechAll { get; set; } + public int nguong_ChenhLechDoc { get; set; } + public List list_ColorCheckAfter { get; set; } + public int soLanCheckChamThan { get; set; } + public int countMauKhongDoi { get; set; } + + public List kv_BoQuaCheckBong { get; set; } + + //thời tiết + public string weather { get; set; } + public List list_PointWeather { get; set; } + + //lấy toạ độ + public int statusGetPosition { get; set; } + public bool isGetPosition { get; set; } + public List _ListDraw { get; set; } + public List _ListRounded { get; set; } + public List _ListDrawSize { get; set; } + public int totalShowDraw { get; set; } + + + + + //public string title = "(MEmu)"; + public IntPtr handle { get; set; } + + public Auto(string _auto_id, string _emulator_type, string _nameAuto, bool isNew = false) + { + auto_id = _auto_id; + emulator_type = _emulator_type; + isAuto = false; + nameAuto = _nameAuto; + messageNotiStep = "Chưa auto..."; + typeNotiStep = 0; + summaryTotal = new SummaryTotal(0, 0, 0, 0, 0, 0, 0, 0); + summaryFishSort = new SummaryFishSort(); + + //classHandle = _classHandle; + //textHandle = _textHandle; + + _ListAuto.Add(this); + initSummaryTotalDefault(); + initSummaryFish(); + + if (isNew) + { + wnd.updateAuto(auto_id); + } + } + + public IntPtr gethWnd(string name) + { + IntPtr hWnd = IntPtr.Zero; + foreach (Process pList in Process.GetProcesses()) + { + if (pList.MainWindowTitle == name) + { + hWnd = pList.MainWindowHandle; + } + } + return hWnd; + } + + public void initSummaryTotalDefault() + { + totalTime = new SummaryTotalTime(); + summaryTotal = new SummaryTotal(0, 0, 0, 0, 0, 0, 0, 0); + App.Current.Dispatcher.Invoke(() => + { + + }); + } + + public void initSummaryFish() + { + summaryFish = new List(); + } + + public void initHandle(bool isGetPositionCheck = false) + { + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + isGetPosition = isGetPositionCheck; + isAuto = true; + Debug.WriteLine("save_exclamation: " + configAuto.save_exclamation); + if (configAuto.save_exclamation != 1 || detect_ExclamationArea == null) + { + detect_ExclamationArea = new List(); + detect_SensorArea1 = new List(); + detect_SensorArea2 = new List(); + useSensor = true; + list_ColorCheckAfter = new List(); + colorDefault_ExclamationArea = new List(); + colorDefault_SensorArea1 = new List(); + colorDefault_SensorArea1 = new List(); + OKImgCheck = null; + } + if (configAuto.save_exclamation != 1 || detect_CheckSizeArea == null) + { + detect_CheckSizeArea = new List(); + detect_BuoysArea = new List(); + detect_KVBanDau = new List(); + check_BuoysAreaDone = false; + kv_BoQuaCheckBong = new List { new pointXY(0, 0), new pointXY(0, 0) }; + } + + detect_NameArea = new List(); + detect_NameNoFishingArea = new List(); + totalShowDraw = 0; + + if(list_PointWeather == null) + { + list_PointWeather = new List(); + } + + if (siteMapFishingRod == null) + { + siteMapFishingRod = new List(); + } + + if (_ListDraw == null) + { + _ListDraw = new List(); + } + + if (_ListRounded == null) + { + _ListRounded = new List(); + } + + if(_ListDrawSize == null) + { + _ListDrawSize = new List(); + } + + currentFishingRod = null; + weather = "default"; + + if (emulator_type == "memu" || emulator_type == "nox" || emulator_type == "ldplayer") + { + IntPtr win = AutoControl.FindWindowHandle(null, nameAuto); + Debug.WriteLine("nameAuto" + win); + handle = AutoControl.FindHandle(gethWnd(nameAuto), "subWin", null); + Debug.WriteLine("handle" + handle); + Image handleGetSize = CaptureHelper.CaptureWindow(handle); + //handleGetSize.Save($"data/a.png"); + handleWidth = handleGetSize.Width; + handleHeight = handleGetSize.Height; + } else if (emulator_type == "bluestacks") + { + IntPtr win = AutoControl.FindWindowHandle(null, nameAuto); + handle = AutoControl.FindHandle(win, "BlueStacksApp", null); + Image handleGetSize = CaptureHelper.CaptureWindow(handle); + handleWidth = handleGetSize.Width; + handleHeight = handleGetSize.Height; + } + + if (!isGetPosition) + { + loadTime(); + totalFishing = 0; + shadowSize = 0; + currentSizeShadowFish = 0; + + isGetAcceptError = false; + maxPercentAcceptError = 0; + totalAcceptError = 0; + acceptError = 82; + totalFailed = 0; + } + } + + public Task newTaskAuto() + { + Task auto = new Task(() => + { + Delay(200); + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Bắt đầu auto..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + + + + Debug.WriteLine("aaaa"); + checkNotFishing(); + initHandle(); + //Delay(1000); + + openBagRod(); + FishingRodConfig configRod = FishingRodConfig._ListFishingRodConfig.SingleOrDefault(r => r.auto_id == auto_id); + if (siteMapFishingRod.Count == 0 || configRod.get_info_rod) + { + siteMapFishingRod = new List(); + getSiteMapFishingRod(); + } + else + { + selectFishingRod(getIdRod()); + } + while (!checkDisplayBag()) { + Delay(200); + if (!isAuto) { break; } + } + + + while (true) + { + skipFish = false; + isPullRod = false; + if (!isAuto) { return; } + //App.Current.Dispatcher.Invoke(() => + //{}); + + + // Lấy toạ độ tên khi không câu + getAreaNameNoFishing(); + while (!checkDisplayBag()) { + Delay(50); + if (!isAuto) { break; } + } + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_ButtonTossSentence); + Delay(3000); + //getPhaoCau(); + if (!isAuto) { return; } + App.Current.Dispatcher.Invoke(() => + { + if (detect_NameArea.Count != 2 && detect_ExclamationArea.Count == 0) + { + messageNotiStep = "Quăng câu... chờ lấy toạ độ dấu chấm than, phao câu"; + } + else + { + messageNotiStep = "Quăng câu... chờ bóng cá"; + } + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + // Lấy toạ độ tên khi đang câu + getAreaName(); + if (!isAuto) { return; } + + // Kiểm tra sửa cần + if (checkDetectAreaWithColor(detect_NameNoFishingArea, "#FFFFFF", 0.5)) + { + fixFishing(); + } else + { + ConfigFishSize configSize = ConfigFishSize._ListConfigFishSize.SingleOrDefault(r => r.auto_id == auto_id); + int count = configSize.listSize.Where(x => x.isChecked == true).ToList().Count; + //Debug.WriteLine("bỏ bóng: " + count + configSize.mode_setting); + if (configSize.mode_setting == "auto" || count > 0) + { + filterShadowFish(); + } + + App.Current.Dispatcher.Invoke(() => + { + wnd.setSummaryTotal(auto_id, ++summaryTotal.quangCan, 1); + }); + fishing(); + Debug.WriteLine("out"); + if (!skipFish) + { + checkCanCau(); + } + Debug.WriteLine("out 2"); + } + } + }); + return auto; + } + + public void getAreaNameNoFishing() + { + if (detect_NameNoFishingArea.Count != 2) + { + List areaRes = new List(); + do + { + Bitmap img_handleCheck = (Bitmap)CaptureHelper.CaptureWindow(handle); + areaRes = getColorRelativeArea(img_handleCheck, "#00FF00", 15); + //drawArea(areaRes, nameAuto); + Delay(400); + if (!isAuto) { break; } + + } while (areaRes.Count != 2); + double maxSizeArea = (double)(handleHeight * handleWidth) / (double)100 * (double)5; + if ((double)getTotalPixelArea(areaRes) < maxSizeArea) + { + detect_NameNoFishingArea = areaRes; + } + } + } + + public void getAreaName() + { + if (detect_NameArea.Count != 2 && detect_NameNoFishingArea.Count > 0) + { + List areaRes = new List(); + int countGetArea = 0; + int widthNameNoFish = detect_NameNoFishingArea[1].x - detect_NameNoFishingArea[0].x; + int widthName = 0; + do + { + Bitmap img_handleCheck = (Bitmap)CaptureHelper.CaptureWindow(handle); + areaRes = getColorRelativeArea(img_handleCheck, "#00FF00", 15); + if (areaRes.Count > 0) + { + + widthName = areaRes[1].x - areaRes[0].x; + } else + { + stopAuto(); + App.Current.Dispatcher.Invoke(() => + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi cấu hình toạ độ cảm biến", content = $"Hệ thống không thể lấy được toạ độ, vui lòng cấu hình thủ công hoặc chạy lại auto", type = "error", timeStrat = DateTime.Now }; + }); + } + countGetArea++; + Delay(400); + if (!isAuto) { break; } + } while ((areaRes.Count != 2 || countGetArea > 20) && widthName < widthNameNoFish); + + // nếu quá 20 mà ko lấy đc khu vực tên thì sẽ dừng auto và báo lỗi + if (countGetArea > 20) + { + stopAuto(); + App.Current.Dispatcher.Invoke(() => + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Lỗi cấu hình toạ độ cảm biến", content = $"Hệ thống không thể lấy được toạ độ, vui lòng cấu hình thủ công hoặc chạy lại auto", type = "error", timeStrat = DateTime.Now }; + }); + } + else + { + double maxSizeAreaName = (double)(handleHeight * handleWidth) / (double)100 * (double)5; + if ((double)getTotalPixelArea(areaRes) < maxSizeAreaName) + { + //drawArea(areaRes, nameAuto); + detect_NameArea = areaRes; + } + } + } + } + + public void fishing() + { + if (!isAuto) { return; } + Debug.WriteLine("1: " + useSensor); + if (useSensor) + { + if(detect_SensorArea1.Count == 0 && detect_SensorArea2.Count == 0) + { + setDetectSensorArea(detect_NameArea[0].x, detect_NameArea[0].y, detect_NameArea[1].x, detect_NameArea[1].y); + } + //drawArea(detect_SensorArea1, nameAuto); + //drawArea(detect_SensorArea2, nameAuto); + drawArea(detect_KVBanDau, nameAuto, "#FFFFFF"); + //drawArea(detect_trucDoc, nameAuto, "#FFFFFF"); + //colorDefault_SensorArea1 = getAllColorArea(detect_SensorArea1); + //colorDefault_SensorArea2 = getAllColorArea(detect_SensorArea2); + bool check = false; + + // Lấy ảnh check phao câu + img_checkPhao = (CaptureHelper.CaptureWindow(handle)); + Delay(8000); + hashCheck = 0; + hashCheckDoc = 0; + maxCheck = 0; + soLanCheckChamThan = 0; + countMauKhongDoi = 0; + //ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + while (true) + { + //checkDetectSensorArea() + if (!isAuto || skipFish) { break; } + check = testND(); + if (check || checkDisplayBag()) + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + isPullRod = true; + checkDutDay(); + break; + } + //GC.Collect(); + Thread.Sleep(50); + } + } + else + { + //checkWeather(); + lastImgCheck = getImageByListPixelXY(detect_ExclamationArea); + //firstDifference = 0; + colorDefault_ExclamationArea = getAllColorArea(detect_ExclamationArea); + //drawArea(detect_ExclamationArea, nameAuto); + bool check = false; + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((configAuto.delay_fishing_test - 3) * 1000); + Debug.WriteLine("CHECK..."); + if (!isAuto) { return; } + + while (true) + { + if (!isAuto || skipFish) { return; } + check = checkD(); + if (check || checkDisplayBag()) + { + if (check) + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + isPullRod = true; + checkDutDay(); + //getCoordinatesBuoys(); + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Dựt cần..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + } + break; + } + Thread.Sleep(configAuto.delay_check); + } + } + } + + public void checkCanCau() + { + if (!isAuto) { return; } + while (!checkDoneFishing() && !checkDisplayBag()) { + Delay(200); + if (!isAuto) { return; } + } + if (checkDoneFishing()) + { + actionAfterFishing(); + updateSlotCurrentRod(); + } else + { + if (countCheckDutDay >= 3) + { + //updateSlotCurrentRod(); + App.Current.Dispatcher.Invoke(() => + { + wnd.setSummaryTotal(auto_id, ++summaryTotal.dutDay, 3); + }); + } else + { + totalFailed++; + App.Current.Dispatcher.Invoke(() => + { + wnd.setSummaryTotal(auto_id, ++summaryTotal.cauLoi, 4); + }); + if(totalFailed > 2) + { + isAuto = false; + newTaskAuto().Start(); + } + } + Delay(1000); + } + if (!isAuto) { return; } + + if (getSlotCurrentRod() == 0) + { + fixFishing(); + } + } + + public void getCoordinatesBuoys(Bitmap img_Check) + { + Task get = new Task(() => + { + Debug.WriteLine("check_BuoysAreaDone: " + check_BuoysAreaDone); + if (!check_BuoysAreaDone) + { + //Bitmap img_handleCheck = (Bitmap)CaptureHelper.CaptureWindow(handle); + List detect_BuoysAreaTemp = getKVPhaoCau(img_Check); + Debug.WriteLine("3: " + detect_BuoysAreaTemp.Count); + if (checkPercentBitmapCompareScreen(detect_BuoysAreaTemp, 2)) + { + Debug.WriteLine("5a: "); + + detect_BuoysArea = detect_BuoysAreaTemp; + //img_checkPhao.Save($"data/img_cap/area-phao/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + //drawArea(detect_BuoysArea, nameAuto, "#FFFFFF"); + getLocationBuoys(img_checkPhao); + } + } + }); + get.Start(); + } + + public void stopAuto() + { + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Dừng auto..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + isAuto = false; + Thread.Sleep(100); + if (getColorPercentXYToHex(EnumAuto.point_CloseBag) == "#FFFFFF") + { + controlClickPercentXY(EnumAuto.point_CloseBag); + } + Thread.Sleep(100); + if (getColorPercentXYToHex(EnumAuto.point_closeInfoFishingRod) == "#AD8E87") + { + controlClickPercentXY(EnumAuto.point_closeInfoFishingRod); + } + Thread.Sleep(100); + if (getColorPercentXYToHex(EnumAuto.point_IsBagDisplay) != "#E44142") + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + } + Thread.Sleep(1000); + if (getColorPercentXYToHex(EnumAuto.point_IsBagDisplay) != "#E44142") + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + } + + } + + // ------- Func -------- // + + // ------- Func AUTO -------- // + + // Sau khi cá cắn câu + public void actionAfterFishing() + { + getInfoFish(); + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_ButtonStore); + totalFishing++; + if(getStepChangeRod() != -1 && totalFishing % getStepChangeRod() == 0) + { + while (!checkDisplayBag()) { Delay(200); } + changeFishingRod(); + } + while (!checkDisplayBag()) { Delay(200); } + } + + // mở ba balô + public void openBagRod() + { + Debug.WriteLine("aaaa"); + Delay(1000); + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_Bag); + while (!checkDisplayTabVehicle()) + { + if (!isAuto) { break; } + } + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_TabRod); + while (!checkDisplayTabRod()) + { + if (!isAuto) { break; } + } + } + + // sửa cần câu + public void fixFishing() + { + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Đang sửa cần câu..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + openBagRod(); + //Delay(1000); + //if (!isAuto) { return; } + FishingRodDetect rod1 = siteMapFishingRod.Single(r => r.id == currentFishingRod.id); + double new_Y = rod1.point.y + 18.2; + percentXY checkPoint = new percentXY(rod1.point.x, new_Y); + if (getColorPercentXYToHex(checkPoint) == "#F15E4E") + { + int countTimeFix = 0; + + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(checkPoint); + while (!checkDisplayButtonOKFixRod()) { + Delay(200); + countTimeFix++; + if (!isAuto || countTimeFix > 30) { break; } + } + + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_ButtonFixRod); + Delay(100); + while (!checkDisplayButtonOKFixRod()) { + Delay(200); + countTimeFix++; + if (!isAuto || countTimeFix > 60) { break; } + } + + if (countTimeFix > 60) + { + reFixFishing(); + return; + } else + { + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_ButtonFixRod); + App.Current.Dispatcher.Invoke(() => + { + summaryTotal.tienSuaCan += rod1.repairCost; + wnd.setSummaryTotal(auto_id, summaryTotal.tienSuaCan, 8); + }); + Delay(1000); + if (!isAuto) { return; } + + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_CloseBag); + siteMapFishingRod.Where(rod => rod.id == currentFishingRod.id).ToList().ForEach(s => s.remaining = s.slot); + Delay(2000); + } + } + } + + public void reFixFishing() + { + Thread.Sleep(100); + if (getColorPercentXYToHex(EnumAuto.point_closeInfoFishingRod) == "#AD8E87") + { + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_closeInfoFishingRod); + } + Thread.Sleep(100); + if (getColorPercentXYToHex(EnumAuto.point_CloseBag) == "#FFFFFF") + { + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_CloseBag); + } + } + + // sửa cần câu trước khi chọn cần câu + public void fixFishingFast(percentXY point_FixRod) + { + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Đang sửa cần câu..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(point_FixRod); + while (!checkDisplayButtonOKFixRod()) { + Delay(100); + if (!isAuto) { return; } + } + + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_ButtonFixRod); + while (!checkDisplayButtonOKFixRod()) { + Delay(100); + if (!isAuto) { return; } + } + + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_ButtonFixRod); + siteMapFishingRod.Where(rod => rod.id == currentFishingRod.id).ToList().ForEach(s => s.remaining = s.slot); + Delay(2000); + } + + // Đổi cần câu + public void changeFishingRod() + { + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Chuẩn bị đổi cần câu..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + openBagRod(); + Delay(1000); + selectFishingRod(getIdRod()); + } + + // ------- Func Set -------- // + + // Chọn cần câu + public void selectFishingRod(int idRod) + { + if (!isAuto) { return; } + + try + { + currentFishingRod = siteMapFishingRod.Single(r => r.id == idRod); + percentXY point_CheckFixRod = new percentXY(currentFishingRod.point.x, currentFishingRod.point.y); + + point_CheckFixRod.y += 18.2; + if (getColorPercentXYToHex(point_CheckFixRod) == "#F15E4E") + { + fixFishingFast(point_CheckFixRod); + } + + + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Chọn cần câu..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + Delay(300); + percentXY point_Check = new percentXY(currentFishingRod.point.x, currentFishingRod.point.y); + point_Check.x -= 5.73; + string checkColor = getColorPercentXYToHex(point_Check); + if (checkColor != "#82FB28") + { + // Select cần câu + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(point_Check); + } + else + { + // Cần câu đã được chọn + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_CloseBag); + } + } catch { + App.Current.Dispatcher.Invoke(() => + { + new Notification() { id = Guid.NewGuid().ToString(), title = "Không tìm thấy cần câu đúng với cài đặt", content = $"Đảm bảo {FishingRod._ListFishingRod[idRod - 1].label} đang nằm trong 6 ô đầu tiên của tab công cụ trong ba lô", type = "error", timeStrat = DateTime.Now }; + }); + isAuto = false; + } + } + + // Update độ bền cần câu sau khi câu thành công + public void updateSlotCurrentRod() + { + siteMapFishingRod.Where(rod => rod.id == currentFishingRod.id).ToList().ForEach(s => s.remaining = s.remaining - 1); + } + + // Set toạ độ cho 2 ô cảm biến ban đầu + public void setDetectSensorArea(int xMin, int yMin, int xMax, int yMax) + { + int widthNameArea = xMax - xMin; + double widthPercentSensor1 = 1.74; + double widthPercentSensor2 = 2.43; + double saiSo = 1; + + + int widthDetectSensorArea1 = percentToPixelWidth(widthPercentSensor1); + int widthDetectSensorArea2 = percentToPixelWidth(widthPercentSensor2); + + // Tính toán sai số cảm biến + int middleAxis = handleWidth / 2; + int xCenter = xMin + (widthNameArea / 2); + int doLech = Math.Abs(middleAxis - xCenter); + int percent25 = percentToPixelWidth(25); + if (doLech <= percent25) + { + saiSo = (double)(doLech) / (double)(percent25); + } + int saiSoDetect = percentToPixelWidth(saiSo); + saiSoDetect = xCenter < middleAxis ? saiSoDetect : -saiSoDetect; + + int detectSensor1_xMin = xMin + (int)((double)widthNameArea / (double)2) - (int)((double)widthDetectSensorArea1 / (double)2) - saiSoDetect; + int detectSensor1_yMin = yMin - percentToPixelHeight(6.17); + int detectSensor1_xMax = detectSensor1_xMin + widthDetectSensorArea1; + int detectSensor1_yMax = detectSensor1_yMin + 3; + detect_SensorArea1.Clear(); + detect_SensorArea1.Add(new pointXY(detectSensor1_xMin, detectSensor1_yMin)); + detect_SensorArea1.Add(new pointXY(detectSensor1_xMax, detectSensor1_yMax)); + + int detectSensor2_xMin = xMin + (int)((double)widthNameArea / (double)2) - (int)((double)widthDetectSensorArea2 / (double)2) - saiSoDetect; + //int detectSensor2_yMin = yMin - percentToPixelHeight(12.34); + double phanTramName = (double)(detect_NameArea[1].y - detect_NameArea[0].y) / (double)handleHeight * (double)100; + double phanTramHeightCheck = phanTramName * 7; + int detectSensor2_yMin = yMin - percentToPixelHeight(phanTramHeightCheck); + int detectSensor2_xMax = detectSensor2_xMin + widthDetectSensorArea2; + int detectSensor2_yMax = detectSensor2_yMin + 3; + detect_SensorArea2.Clear(); + detect_SensorArea2.Add(new pointXY(detectSensor2_xMin, detectSensor2_yMin)); + detect_SensorArea2.Add(new pointXY(detectSensor2_xMax, detectSensor2_yMax)); + + detect_KVBanDau.Clear(); + double tiLe = (double)10 / (double)540; + int boKCTen = (int)(tiLe * (double)handleHeight); + Debug.WriteLine("boKCTen: " + boKCTen); + detect_KVBanDau.Add(new pointXY(detectSensor1_xMin + 1, detectSensor2_yMin)); + detect_KVBanDau.Add(new pointXY(detectSensor1_xMax + 1, yMin - boKCTen)); + + int saiSoNguong = 38; + if (wnd.totalMinuteGame >= 480 && wnd.totalMinuteGame < 1080) + { + saiSoNguong = 15; + } + nguong_ChenhLechAll = (detect_KVBanDau[1].x - detect_KVBanDau[0].x) * (detect_KVBanDau[1].y - detect_KVBanDau[0].y) * saiSoNguong; + nguong_ChenhLechDoc = (detect_KVBanDau[1].x - detect_KVBanDau[0].x) * (detect_KVBanDau[1].y - detect_KVBanDau[0].y) * 14; + Debug.WriteLine("nguong_ChenhLechAll: " + nguong_ChenhLechAll); + Debug.WriteLine("name: " + (detect_NameArea[1].y - detect_NameArea[0].y)); + + //detect_trucDoc.Clear(); + //int center_TrucDoc = (int)((detectSensor1_xMax - detectSensor1_xMin) / 2) + detectSensor1_xMin + 1; + //detect_trucDoc.Add(new pointXY(center_TrucDoc, detectSensor2_yMin)); + //detect_trucDoc.Add(new pointXY(center_TrucDoc, yMin - boKCTen)); + } + + public List setDetectBuoysArea(Bitmap img_checkArea) + { + //img_checkArea.Save($"data/img_cap/area-phao/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + int xMax = 0; + int xMin = 99999; + int yMax = 0; + int yMin = 99999; + List res = new List(); + int x, y; + for (x = 0; x < img_checkArea.Width; x++) + { + for (y = 0; y < img_checkArea.Height; y++) + { + Color pixelColor = img_checkArea.GetPixel(x, y); + // DUY123 + if (colorComparisonList(pixelColor, EnumAuto.list_ColorColorFish, 1)) + { + xMax = x > xMax ? x : xMax; + xMin = x < xMin ? x : xMin; + yMax = y > yMax ? y : yMax; + yMin = y < yMin ? y : yMin; + } + } + } + if (xMax > 0) + { + res.Add(new pointXY(xMin, yMin)); + res.Add(new pointXY(xMax, yMax)); + } + try + { + res[0].x -= 20; + res[0].y -= 40; + res[1].x += 20; + //res[1].y += 5; + Debug.WriteLine("x1: " + res[0].x); + Debug.WriteLine("y1: " + res[0].y); + Debug.WriteLine("x2: " + res[1].x); + Debug.WriteLine("y2: " + res[1].y); + //drawArea(res, auto_id); + } catch { } + return res; + } + + public bool filterColorFish(Color color) + { + bool check = color.GetBrightness() < 0.5; + //Debug.WriteLine("check: " + check); + //int gray = (int)((double)(0.2126 * color.R) + (double)(0.7152 * color.G) + (double)(0.0722 * color.R)); + //int avg = (int)((double)(color.R + color.G + color.R) / (double)3); + //bool check_1 = color.R < 70 && color.G < 130 && color.B < 140 && color.R >= 0 && color.G >= 0 && color.B >= 10; + //bool check_2 = gray < 100; + //bool check_3 = Math.Abs(color.R - avg) < 25 && Math.Abs(color.G - avg) < 25 && Math.Abs(color.B - avg) < 25; + return check; + } + + public bool filterColorFishRain(Color color) + { + bool check1 = color.R < 60 && color.G < 60 && color.B < 60; + bool check2 = Math.Abs(color.R - color.G) < 6 && Math.Abs(color.G - color.B) < 6 && Math.Abs(color.R - color.B) < 6; + return check1 && check2; + } + + public bool filterColorFishRain2(Color color) + { + bool check1 = color.R < 30 && color.G < 30 && color.B < 30; + bool check2 = Math.Abs(color.R - color.G) < 3 && color.G < color.B; + return check1 && check2; + } + + public List getKVPhaoCau(Bitmap bitmap_Check) + { + int xMax = 0; + int yMax = 0; + int xMin = 0; + int yMin = 0; + + List> listGomCum = new List>(); + List colorNoCheck = new List(); + int maxBoQuaColor = 0; + pointXY startPoint = new pointXY(0, 0); + pointXY endPoint = new pointXY(0, 0); + int too = 0; + for (int x = 75; x < bitmap_Check.Width - 75; x++) + { + for (int y = 75; y < bitmap_Check.Height - 75; y++) + { + Color colorPixel = bitmap_Check.GetPixel(x, y); + + bool noCheck = colorComparisonList(colorPixel, colorNoCheck, 2); + bool check = false; + if (wnd.totalMinuteGame >= 480 && wnd.totalMinuteGame < 1080) + { + check = colorComparisonList(colorPixel, EnumAuto.list_ColorFishNgay, 5); + //if(!check && wnd.totalMinuteGame >= 1020 && wnd.totalMinuteGame < 1080) + //{ + // check = filterColorFishRain(colorPixel) || filterColorFishRain2(colorPixel); + //} + } + else if (wnd.totalMinuteGame >= 1200 || wnd.totalMinuteGame < 240) + { + check = colorComparisonList(colorPixel, EnumAuto.list_ColorFishDem, 5); + //if (!check && wnd.totalMinuteGame >= 1200 && wnd.totalMinuteGame < 120) + //{ + // check = filterColorFishRain(colorPixel) || filterColorFishRain2(colorPixel); + //} + } + else if (wnd.totalMinuteGame >= 240 && wnd.totalMinuteGame < 480) + { + check = colorComparisonList(colorPixel, EnumAuto.list_ColorFishChuyenNgay, 20) || filterColorFishRain(colorPixel) || filterColorFishRain2(colorPixel); + } + else if (wnd.totalMinuteGame >= 1080 && wnd.totalMinuteGame < 1200) + { + check = colorComparisonList(colorPixel, EnumAuto.list_ColorFishChuyenDem, 20) || filterColorFishRain(colorPixel) || filterColorFishRain2(colorPixel); + } + if (check && !noCheck) + { + //Debug.WriteLine("cx: " + HexConverter(colorPixel)); + Color c1 = bitmap_Check.GetPixel(x, y - 60); + Color c2 = bitmap_Check.GetPixel(x, y + 60); + Color c3 = bitmap_Check.GetPixel(x - 60, y); + Color c4 = bitmap_Check.GetPixel(x + 60, y); + int cx1 = c1.R + c1.G + c1.B; + int cx2 = c2.R + c2.G + c2.B; + int cx3 = c3.R + c3.G + c3.B; + int cx4 = c4.R + c4.G + c4.B; + //Debug.WriteLine("4g: " + cx1 + " -- " + cx2 + " -- " + cx3 + " -- " + cx4 + " -- "); + int colorPixelNumber = colorPixel.R + colorPixel.G + colorPixel.B; + + if (colorPixelNumber != cx1 && colorComparison(c1, c2, 10) && colorComparison(c2, c3, 10) && colorComparison(c3, c4, 10)) + { + //Debug.WriteLine("cx: " + HexConverter(colorPixel)); + //Debug.WriteLine("xy: " + x + " -- " + y); + if (KhoangCach(new pointXY(xMax, yMax), new pointXY(x, y)) > 80) + { + //if(listGomCum.Count > 0) + //{ + // double kcc = KhoangCach(listGomCum[listGomCum.Count - 1][0], new pointXY(listGomCum[listGomCum.Count - 1][1].x, listGomCum[listGomCum.Count - 1][0].y)); + // if(kcc > 3) + // { + // drawArea(listGomCum[listGomCum.Count - 1], nameAuto); + // } + //} + + List newCum = new List { new pointXY(x, y), new pointXY(x, y) }; + too = 0; + listGomCum.Add(newCum); + xMin = x; + yMin = y; + xMax = x; + yMax = y; + //Debug.WriteLine("TACHS1: " + listGomCum.Count + " -- " + xMax + " - " + yMax); + } + else + { + too++; + xMax = x > xMax ? x : xMax; + yMax = y > yMax ? y : yMax; + listGomCum[listGomCum.Count - 1][1].x = xMax; + listGomCum[listGomCum.Count - 1][1].y = yMax; + } + } + else + { + if (maxBoQuaColor > 20) + { + colorNoCheck.Add(colorPixel); + //Debug.WriteLine("colorPixel No: " + HexConverter(colorPixel)); + maxBoQuaColor = 0; + } + else + { + maxBoQuaColor++; + } + } + } + } + } + List listDraw = new List(); + Debug.WriteLine("TACHS: " + listGomCum.Count); + List areaPhao = new List { new pointXY(0, 0), new pointXY(0, 0) }; + double kcCum = 0; + foreach (List area in listGomCum) + { + double currentKCCum = KhoangCach(area[0], area[1]); + if (currentKCCum > kcCum) + { + areaPhao[0].x = area[0].x; + areaPhao[0].y = area[0].y; + areaPhao[1].x = area[1].x; + areaPhao[1].y = area[1].y; + kcCum = currentKCCum; + } + } + try + { + areaPhao[0].x -= 20; + areaPhao[0].y -= 40; + areaPhao[1].x += 20; + } + catch { } + //drawArea(areaPhao, nameAuto); + return areaPhao; + } + + //public void getLocationBuoys(Image img_check) + //{ + // int widthCheck = detect_BuoysArea[1].x - detect_BuoysArea[0].x; + // int heightCheck = detect_BuoysArea[1].y - detect_BuoysArea[0].y; + // Bitmap bitmap_check = MakeGrayscale3(CropImage(img_check, detect_BuoysArea[0].x, detect_BuoysArea[0].y, widthCheck, heightCheck)); + // Color colorMax = getColorMaxInBitmap(bitmap_check); + // //string colorMaxHex = HexConverter(colorMax); + // Bitmap black_white_Img = new Bitmap(bitmap_check.Width, bitmap_check.Height); + // for (int x = 0; x < bitmap_check.Width; x++) + // { + // for (int y = 0; y < bitmap_check.Height; y++) + // { + // Color colorPixel = bitmap_check.GetPixel(x, y); + // if(colorComparison(colorPixel, colorMax, 23)) + // { + // black_white_Img.SetPixel(x, y, Color.FromArgb(255, 255, 255)); + // } else + // { + // black_white_Img.SetPixel(x, y, Color.FromArgb(0, 0, 0)); + // } + // } + // } + // black_white_Img.Save($"data/img_cap/area-phao/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + //} + + public void getLocationBuoys(Image img_check) + { + //(detect_BuoysArea, nameAuto); + int widthCheck = detect_BuoysArea[1].x - detect_BuoysArea[0].x; + int heightCheck = detect_BuoysArea[1].y - detect_BuoysArea[0].y; + Bitmap bitmap_check = CropImage(img_check, detect_BuoysArea[0].x, detect_BuoysArea[0].y, widthCheck, heightCheck); + List colorMax = getListColorMaxInBitmap(bitmap_check, 60); + Debug.WriteLine("D1: " + colorMax.Count); + Bitmap black_white_Img = new Bitmap(bitmap_check.Width, bitmap_check.Height); + for (int x = 0; x < bitmap_check.Width; x++) + { + for (int y = 0; y < bitmap_check.Height; y++) + { + Color colorPixel = bitmap_check.GetPixel(x, y); + if (colorComparisonList(colorPixel, colorMax, 2) || colorComparisonList(colorPixel, EnumAuto.list_ColorXoayNuoc, 15)) + { + black_white_Img.SetPixel(x, y, Color.FromArgb(255, 255, 255)); + } + else + { + black_white_Img.SetPixel(x, y, Color.FromArgb(0, 0, 0)); + } + } + } + //bitmap_check.Save($"data/img_cap/area-phao/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + List> gomCum = new List>(); + for (int x = 0; x < black_white_Img.Width; x++) + { + for (int y = 0; y < black_white_Img.Height; y++) + { + Color colorPixel = black_white_Img.GetPixel(x, y); + if(colorPixel.R == 0) + { + if(gomCum.Count == 0) + { + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + } else + { + bool isAdd = false; + foreach (List cum in gomCum) + { + if (KhoangCach(cum[cum.Count - 1], new pointXY(x, y)) < 25) + { + cum.Add(new pointXY(x, y)); + isAdd = true; + break; + } + } + if(!isAdd) + { + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + } + } + } + + } + } + List res = new List(); + int saiLech = 10000; + Debug.WriteLine("gom: " + gomCum.Count); + foreach (List cum in gomCum) + { + int saiLechCurrent = Math.Abs(100 - cum.Count); + if (saiLechCurrent < saiLech) + { + saiLech = saiLechCurrent; + res = cum; + } + } + Debug.WriteLine(res.Count); + if(res.Count != 0) + { + Debug.WriteLine("4: "); + res = getAroundArea(res); + // lấy tâm phao + int buoysCenter_x = detect_BuoysArea[0].x + res[0].x + (int)((res[1].x - res[0].x) / 2); + int buoysCenter_y = detect_BuoysArea[0].y + res[0].y + (int)((res[1].y - res[0].y) / 2); + pointXY buoysCenter = new pointXY(buoysCenter_x, buoysCenter_y); + check_BuoysAreaDone = true; + + // Set khu vực kiểm tra kích thước cá + int R1 = (int)((double)handleWidth / (double)100 * (double)EnumAuto.R1); + int R2 = (int)((double)handleWidth / (double)100 * (double)EnumAuto.R2); + int checkSize_TL_x = buoysCenter_x - R2 < 0 ? 0 : buoysCenter_x - R2; + int checkSize_TL_y = buoysCenter_y - R2 < 0 ? 0 : buoysCenter_y - R2; + pointXY checkSize_TL = new pointXY(checkSize_TL_x, checkSize_TL_y); + int checkSize_BR_x = buoysCenter_x + R2 >= handleWidth ? handleWidth : buoysCenter_x + R2; + int checkSize_BR_y = buoysCenter_y + R2 >= handleHeight ? handleHeight : buoysCenter_y + R2; + pointXY checkSize_BR = new pointXY(checkSize_BR_x, checkSize_BR_y); + detect_CheckSizeArea = new List { checkSize_TL, checkSize_BR }; + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Nhận diện toạ độ phao câu thành công"; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + + // vẽ tâm phao lên màn hình + pointXY drawBuoys_TL = new pointXY(buoysCenter_x - 3, buoysCenter_y - 3); + pointXY drawBuoys_BR = new pointXY(buoysCenter_x + 3, buoysCenter_y + 3); + List drawBuoys = new List { drawBuoys_TL, drawBuoys_BR }; + drawArea(drawBuoys, nameAuto, "#FFFFFF"); + + int R1Doi = R1 / 2; + + kv_BoQuaCheckBong[0].x = buoysCenter_x - R1Doi; + kv_BoQuaCheckBong[1].x = buoysCenter_x + R1Doi; + + Debug.WriteLine("R1: " + (int)(R1 / 2)); + kv_BoQuaCheckBong[0].y = buoysCenter_y - R1Doi; + kv_BoQuaCheckBong[1].y = buoysCenter_y + R1Doi; + + if (kv_BoQuaCheckBong.Count > 0) + { + pointXY point1 = new pointXY(kv_BoQuaCheckBong[0].x - 20, kv_BoQuaCheckBong[0].y - 20); + pointXY point2 = new pointXY(kv_BoQuaCheckBong[1].x + 20, kv_BoQuaCheckBong[0].y - 20); + pointXY point3 = new pointXY(kv_BoQuaCheckBong[0].x - 20, kv_BoQuaCheckBong[1].y + 20); + pointXY point4 = new pointXY(kv_BoQuaCheckBong[1].x + 20, kv_BoQuaCheckBong[1].y + 20); + list_PointWeather = new List { point1, point2, point3, point4 }; + } + //drawArea(kv_BoQuaCheckBong, nameAuto); + //drawRoundBorder(buoysCenter, R1, R2, nameAuto); + } + try + { + using (Graphics g = Graphics.FromImage(black_white_Img)) + { + int width = res[1].x - res[0].x; + int height = res[1].y - res[0].y; + g.DrawRectangle(new Pen(Brushes.Red, 1), new Rectangle(res[0].x, res[0].y, width, height)); + } + } + catch { } + //black_white_Img.Save($"data/img_cap/area-phao/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + //img_check.Save($"data/img_cap/area-phao/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + } + + public bool checkColorInFishSize(Bitmap img_Check, List area_Check) + { + bool check = false; + for (int x = area_Check[0].x; x < area_Check[1].x; x++) + { + if (!isAuto || check) { break; } + for (int y = area_Check[0].y; y < area_Check[1].y; y++) + { + Color color = img_Check.GetPixel(x, y); + if (HexConverter(color) == "#00FF00" || HexConverter(color) == "#FFFFFF") + { + check = true; + break; + } + } + } + Debug.WriteLine("check: " + check); + return check; + } + + public int getSizeFish() + { + int res = 0; + int countCheck = 0; + //int widthArea = detect_CheckSizeArea[1].x - detect_CheckSizeArea[0].x; + //int heightArea = detect_CheckSizeArea[1].y - detect_CheckSizeArea[0].y; + //int totalPixel = widthArea * heightArea; + List listColorAfter = new List(); + int min = percentToPixelWidth(EnumAuto.minSizeFish); + for (int i = 0; countCheck < 2; i++) + { + if (!isAuto) { return 0; } + if (isPullRod) + { + res = 0; + break; + } else + { + int count = 0; + Bitmap img_handleCheck = (Bitmap)CaptureHelper.CaptureWindow(handle); + Color colorWater = img_handleCheck.GetPixel(kv_BoQuaCheckBong[0].x, kv_BoQuaCheckBong[0].y); + //Debug.WriteLine("colorWater: " + HexConverter(colorWater)); + //List areaSize = new List { new pointXY(0, 0), new pointXY(0, 0) }; + //int max_X = 0; + //int max_Y = 0; + //int min_X = 99999; + //int min_Y = 99999; + + List> gomCum = new List>(); + List gomCumCount = new List(); + List gomCumColor = new List(); + for (int x = detect_CheckSizeArea[0].x; x < detect_CheckSizeArea[1].x; x++) + { + if (!isAuto) { break; } + for (int y = detect_CheckSizeArea[0].y; y < detect_CheckSizeArea[1].y; y++) + { + if (!isAuto) { break; } + + Color colorpixel = img_handleCheck.GetPixel(x, y); + bool noCheckCenter = (x < kv_BoQuaCheckBong[0].x || x > kv_BoQuaCheckBong[1].x) || (y < kv_BoQuaCheckBong[0].y || y > kv_BoQuaCheckBong[1].y); + if (!colorComparison(colorWater, colorpixel, 5) && noCheckCenter && colorpixel.GetBrightness() < colorWater.GetBrightness()) + { + Color c1 = img_handleCheck.GetPixel(x, y - 60 >= 0 ? y - 60 : 0); + Color c2 = img_handleCheck.GetPixel(x, y + 60 < img_handleCheck.Height ? y + 60 : img_handleCheck.Height - 1); + Color c3 = img_handleCheck.GetPixel(x - 60 >= 0 ? x - 60 : 0, y); + Color c4 = img_handleCheck.GetPixel(x + 60 < img_handleCheck.Width ? x + 60 : img_handleCheck.Width - 1, y); + int cx1 = c1.R + c1.G + c1.B; + int cx2 = c2.R + c2.G + c2.B; + int cx3 = c3.R + c3.G + c3.B; + int cx4 = c4.R + c4.G + c4.B; + //bool checkAround = (cx1 == cx2) || (cx1 == cx3) || (cx1 == cx4) || (cx2 == cx3) || (cx2 == cx4) || (cx3 == cx4); + //bool checkAround2 = (cx1 == cx2) && (cx2 == cx3) && (cx3 == cx4); + bool checkAround3 = (colorComparison(c1, c2, 10)) && (colorComparison(c2, c3, 10)) && (colorComparison(c3, c4, 10)); + bool checkAround4 = ((colorComparison(c1, c2, 10)) && (colorComparison(c2, c3, 10))) || ((colorComparison(c2, c3, 10)) && (colorComparison(c3, c4, 10))) || ((colorComparison(c3, c4, 10)) && (colorComparison(c4, c1, 10))); + if (wnd.totalMinuteGame >= 480 && wnd.totalMinuteGame < 1080) + { + bool check = (colorComparisonList(colorpixel, EnumAuto.list_ColorFishNgay, 5) || checkColorFishNgay(colorpixel)) && checkAround4; + if (check) + { + if (gomCum.Count == 0) + { + Debug.WriteLine("aX: " + x); + Debug.WriteLine("aY: " + y); + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + gomCumCount.Add(1); + gomCumColor.Add(colorpixel); + } + else + { + bool isAdd = false; + int index = 0; + foreach (List cum in gomCum) + { + if (Math.Abs(cum[1].x - x) < 10) + { + cum[0].x = x < cum[0].x ? x : cum[0].x; + cum[0].y = y < cum[0].y ? y : cum[0].y; + + cum[1].x = x > cum[1].x ? x : cum[1].x; + cum[1].y = y > cum[1].y ? y : cum[1].y; + + gomCumCount[index] = gomCumCount[index] + 1; + isAdd = true; + break; + } + index++; + } + if (!isAdd) + { + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + gomCumCount.Add(1); + gomCumColor.Add(colorpixel); + } + } + count++; + } + } else if (wnd.totalMinuteGame >= 1200 || wnd.totalMinuteGame < 240) + { + bool check = colorComparisonList(colorpixel, EnumAuto.list_ColorFishDem, 5) && checkAround4; + if (check) + { + if (gomCum.Count == 0) + { + Debug.WriteLine("aX: " + x); + Debug.WriteLine("aY: " + y); + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + gomCumCount.Add(1); + gomCumColor.Add(colorpixel); + } + else + { + bool isAdd = false; + int index = 0; + foreach (List cum in gomCum) + { + if (Math.Abs(cum[1].x - x) < 10) + { + cum[0].x = x < cum[0].x ? x : cum[0].x; + cum[0].y = y < cum[0].y ? y : cum[0].y; + + cum[1].x = x > cum[1].x ? x : cum[1].x; + cum[1].y = y > cum[1].y ? y : cum[1].y; + + gomCumCount[index] = gomCumCount[index] + 1; + isAdd = true; + break; + } + index++; + } + if (!isAdd) + { + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + gomCumCount.Add(1); + gomCumColor.Add(colorpixel); + } + } + count++; + } + } else if (wnd.totalMinuteGame >= 240 && wnd.totalMinuteGame < 480) + { + if ((colorComparisonList(colorpixel, EnumAuto.list_ColorFishChuyenNgay, 20) || filterColorFishRain(colorpixel) || filterColorFishRain2(colorpixel)) && checkAround3) + { + if (gomCum.Count == 0) + { + Debug.WriteLine("aX: " + x); + Debug.WriteLine("aY: " + y); + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + gomCumCount.Add(1); + gomCumColor.Add(colorpixel); + } + else + { + bool isAdd = false; + int index = 0; + foreach (List cum in gomCum) + { + if (Math.Abs(cum[1].x - x) < 10) + { + cum[0].x = x < cum[0].x ? x : cum[0].x; + cum[0].y = y < cum[0].y ? y : cum[0].y; + + cum[1].x = x > cum[1].x ? x : cum[1].x; + cum[1].y = y > cum[1].y ? y : cum[1].y; + + gomCumCount[index] = gomCumCount[index] + 1; + isAdd = true; + break; + } + index++; + } + if (!isAdd) + { + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + gomCumCount.Add(1); + gomCumColor.Add(colorpixel); + } + } + count++; + } + } else if (wnd.totalMinuteGame >= 1080 && wnd.totalMinuteGame < 1200) + { + if ((colorComparisonList(colorpixel, EnumAuto.list_ColorFishChuyenDem, 20) || filterColorFishRain(colorpixel) || filterColorFishRain2(colorpixel)) && checkAround3) + { + if (gomCum.Count == 0) + { + Debug.WriteLine("aX: " + x); + Debug.WriteLine("aY: " + y); + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + gomCumCount.Add(1); + gomCumColor.Add(colorpixel); + } + else + { + bool isAdd = false; + int index = 0; + foreach (List cum in gomCum) + { + if (Math.Abs(cum[1].x - x) < 10) + { + cum[0].x = x < cum[0].x ? x : cum[0].x; + cum[0].y = y < cum[0].y ? y : cum[0].y; + + cum[1].x = x > cum[1].x ? x : cum[1].x; + cum[1].y = y > cum[1].y ? y : cum[1].y; + + gomCumCount[index] = gomCumCount[index] + 1; + isAdd = true; + break; + } + index++; + } + if (!isAdd) + { + List newCum = new List(); + newCum.Add(new pointXY(x, y)); + newCum.Add(new pointXY(x, y)); + gomCum.Add(newCum); + gomCumCount.Add(1); + gomCumColor.Add(colorpixel); + } + } + count++; + } + } + } + } + } + if (count > min) + { + int index = 0; + bool findSize = false; + foreach (List area in gomCum) + { + int next = 30; + int nextSize_TL_X = area[0].x - next >= 0 ? area[0].x - next : 0; + int nextSize_TL_Y = area[0].y - next >= 0 ? area[0].y - next : 0; + pointXY nextSize_TL = new pointXY(nextSize_TL_X, nextSize_TL_Y); + int nextSize_BR_X = area[1].x + next < img_handleCheck.Width ? area[1].x + next : img_handleCheck.Width - 1; + int nextSize_BR_Y = area[1].y + next < img_handleCheck.Height ? area[1].y + next : img_handleCheck.Height - 1; + pointXY nextSize_BR = new pointXY(nextSize_BR_X, nextSize_BR_Y); + List checkNextSite = new List { nextSize_TL, nextSize_BR }; + + int countPixel = 0; + for (int x = checkNextSite[0].x; x < checkNextSite[1].x; x++) + { + if (!isAuto) { break; } + for (int y = checkNextSite[0].y; y < checkNextSite[1].y; y++) + { + Color color = img_handleCheck.GetPixel(x, y); + if (colorComparison(color, gomCumColor[index], 5)) + { + countPixel++; + } + } + + } + double kc = pixelToPercentWidth((int)KhoangCach(area[0], area[1])); + if (!checkColorInFishSize(img_handleCheck, area) && gomCumCount[index] > min && kc > 1.4 && kc < 8) + { + res = gomCumCount[index] > res ? gomCumCount[index] : res; + res = countPixel > res ? countPixel : res; + findSize = true; + if (countCheck == 1) + { + drawAreaSize(area, nameAuto, res); + removeDrawSize(); + } + } + index++; + } + + if (findSize) + { + //drawArea(areaSize, nameAuto); + countCheck++; + } + + } else { + + Debug.WriteLine("minCount: " + count); + } + Delay(100); + } + } + + return res; + } + + public bool checkColorFishNgay(Color color) + { + float hue = color.GetHue(); + float brightness = color.GetBrightness(); + if (hue > 188 && hue < 193 && brightness < 42) + { + return true; + } else + { + return false; + } + } + + double KhoangCach(pointXY d1, pointXY d2) + { + double kc; + kc = Math.Sqrt((d1.x - d2.x) * (d1.x - d2.x) + (d1.y - d2.y) * (d1.y - d2.y)); + return kc; + } + + public void getColor() + { + initHandle(); + Task get = new Task(() => + { + using (StreamWriter sw = new StreamWriter("../../text/color.txt")) + { + // doc va hien thi cac dong trong file cho toi + // khi tien toi cuoi file. + while (isAuto) + { + Bitmap img_handleCheck = (Bitmap)CaptureHelper.CaptureWindow(handle); + Color co = img_handleCheck.GetPixel(284, 284); + //Debug.WriteLine($"{HexConverter(co)} ---- {co.R}-{co.G}-{co.B}"); + sw.WriteLine($"{HexConverter(co)} --- {co.R}-{co.G}-{co.B} --- {co.R + co.G + co.B} --- {co.ToArgb()}"); + Delay(1000); + } + sw.Close(); + } + + }); + get.Start(); + } + + // ------- Func Check -------- // + + // Kiểm tra xem đã hiện nút bảo quản hay chưa + public bool checkDoneFishing() + { + string check_Color = getColorPercentXYToHex(EnumAuto.point_ButtonStore); + return check_Color == "#41C5F3" ? true : false; + } + + // Kiểm tra xem có đang hiện nút space (không câu ca) hay không + public bool checkDisplayBag() + { + //Thread.Sleep(500); + if (getColorPercentXYToHex(EnumAuto.point_IsBagDisplay) == "#E44142") + { + return true; + } else + { + return false; + } + } + + // Kiểm tra xem có đang hiện nút sửa chửa ok không + public bool checkDisplayButtonOKFixRod() + { + Delay(500); + if (getColorPercentXYToHex(EnumAuto.point_ButtonFixRod) == "#41C5F3") + { + return true; + } + else + { + return false; + } + } + + // Kiểm tra xem đã hiện tab cần câu hay chưa + public bool checkDisplayTabRod() + { + Delay(200); + if (getColorPercentXYToHex(EnumAuto.point_TabRod) == "#FFFFFF") + { + return true; + } + else + { + return false; + } + } + + // Kiểm tra xem đã hiện tab phương tiện hay chưa + public bool checkDisplayTabVehicle() + { + Delay(200); + if (getColorPercentXYToHex(EnumAuto.point_TabVehicle) == "#FFFFFF") + { + return true; + } + else + { + return false; + } + } + + // Kiểm tra xem đã hiện button close Balo hay chưa? + public bool checkDisplayButtonCloseBag() + { + Delay(200); + if (getColorPercentXYToHex(EnumAuto.point_CloseBag) == "#FFFFFF") + { + return true; + } + else + { + return false; + } + } + + public void checkNotFishing() + { + Task get = new Task(() => + { + int count = 0; + int countBalo = 0; + int countButtonFixRod = 0; + while (true) + { + if (!isAuto) { break; } + if (getColorPercentXYToHex(EnumAuto.point_IsBagDisplay) == "#E44142") + { + count++; + if(count > 10) + { + break; + } + } else + { + count = 0; + } + if (getColorPercentXYToHex(EnumAuto.point_CloseBag) == "#FFFFFF") + { + countBalo++; + if (countBalo > 20) + { + break; + } + } + else + { + countBalo = 0; + } + if (getColorPercentXYToHex(EnumAuto.point_ButtonFixRod) == "#41C5F3") + { + countButtonFixRod++; + if (countButtonFixRod > 5) + { + break; + } + } + else + { + countButtonFixRod = 0; + } + Delay(1000); + } + if(count > 10 && isAuto && !isGetPosition) + { + // Gọi lại hàm chạy auto + stopAuto(); + newTaskAuto().Start(); + } else if (countBalo > 20 && !isGetPosition) + { + controlClickPercentXY(EnumAuto.point_CloseBag); + stopAuto(); + newTaskAuto().Start(); + } + else if (countButtonFixRod > 5 && !isGetPosition) + { + controlClickPercentXY(EnumAuto.point_ButtonFixRod); + while (!checkDisplayButtonCloseBag()) + { + if (!isAuto) { break; } + } + controlClickPercentXY(EnumAuto.point_CloseBag); + stopAuto(); + newTaskAuto().Start(); + } + }); + get.Start(); + } + + public bool testND() + { + Image img = CaptureHelper.CaptureWindow(handle); + Bitmap img_Check = getImageByListPixelXY(detect_KVBanDau, img); + + Bitmap img_CheckGray = MakeGrayscale3(img_Check); + int current_HashCheck = 0; + int center_TrucDoc = (int)(img_Check.Width / 2); + List list_ColorCheck = new List(); + int i = 0; + int khac = 0; + for (int x = 0; x < img_Check.Width; x++) + { + for (int y = 0; y < img_Check.Height; y++) + { + + Color pixelColorGray = img_CheckGray.GetPixel(x, y); + if (center_TrucDoc == x) + { + Color pixelColor = img_Check.GetPixel(x, y); + //list_ColorCheck.Add(pixelColor); + //Color pixelColorDoc = img_Check.GetPixel(center_TrucDoc, y); + if (list_ColorCheckAfter.Count > i) + { + //Debug.WriteLine("list_Color: " + (HexConverter(list_ColorCheckAfter[i]))); + //Debug.WriteLine("pixelColor: " + (HexConverter(pixelColor))); + //Debug.WriteLine("pixelColor: " + (list_ColorCheckAfter[i].ToArgb() != pixelColor.ToArgb())); + if (!colorComparison(list_ColorCheckAfter[i], pixelColor, 10) && !colorComparison(pixelColor, Color.FromArgb(254, 254, 254), 10)) + { + khac++; + } + list_ColorCheckAfter[i] = pixelColor; + } + else + { + list_ColorCheckAfter.Add(pixelColor); + } + i++; + } + current_HashCheck += (pixelColorGray.R + pixelColorGray.G + pixelColorGray.B); + } + } + int chenhLech = Math.Abs(current_HashCheck - hashCheck); + if(chenhLech < 1000 && nguong_ChenhLechAll > 5000) + { + countMauKhongDoi++; + if(countMauKhongDoi > 30) + { + nguong_ChenhLechAll = 5000; + Debug.WriteLine("Đổi ngưỡng"); + } + } else + { + countMauKhongDoi = 0; + } + + //Color beforeColor = Color.FromArgb(0, 0, 0); + //int doDaiDaiMau = 0; + //bool done = false; + + //int chenhLechDoc = Math.Abs(current_HashTrucDoc - hashCheckDoc); + if (hashCheck == 0) { + hashCheck = current_HashCheck; + return false; + } else + { + hashCheck = current_HashCheck; + //int gioiHan = (int)((double)img_Check.Height - 5); + + //Debug.WriteLine("khac: " + khac); + //Debug.WriteLine("gioiHan: " + (img_Check.Height - 5)); + //Debug.WriteLine("gioiHan: " + gioiHan); + //img_Check.Save($"data/img_cap/2020/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}---{chenhLech}.png"); + if (chenhLech > nguong_ChenhLechAll && khac < (img_Check.Height - 1) && khac != 0) + { + //Debug.WriteLine("gioiHan: " + (img_Check.Height - 1)); + Debug.WriteLine("LÊN: " + khac); + Debug.WriteLine("chenhLechAAA: " + chenhLech); + //Debug.WriteLine("list_ColorCheckKhac: " + list_ColorCheckKhac.Count); + //Debug.WriteLine("all_ColorCheckKhac: " + all_ColorCheckKhac.Count); + //Debug.WriteLine("gioiHan: " + (img_Check.Height - 1)); + getDetectExclamationArea((Bitmap)img, img_Check); + //Debug.WriteLine(HexConverter(colorMax)); + return true; + + } else + { + //Debug.WriteLine("gioiHan: " + (khac < (img_Check.Height - 1))); + Debug.WriteLine("chenhLech: " + chenhLech); + if (chenhLech > 3000) + { + Debug.WriteLine("chenhLech: " + chenhLech); + Debug.WriteLine("khac: " + khac); + } + //Debug.WriteLine("Height: " + img_Check.Height); + return false; + } + } + } + + + // Kiểm tra cá cắn câu bằng 2 ô cảm biến + public bool checkDetectSensorArea(Bitmap img_handleCheck = null, bool isUpdateExclamationArea = false) + { + Debug.WriteLine("Zooo"); + int colorMax1 = 0; + int colorMax2 = 0; + string hexColorMax1 = ""; + string hexColorMax2 = ""; + if(img_handleCheck == null) + { + img_handleCheck = (Bitmap)(CaptureHelper.CaptureWindow(handle)); + } + List allColorPixel1 = new List(); + List allColorPixel2 = new List(); + List colorPixelUnique1 = new List(); + List colorPixelUnique2 = new List(); + + // Kiểm tra cắn câu ô nhận diện 1 (ô phía dưới) + for (int x = detect_SensorArea1[0].x; x <= detect_SensorArea1[1].x; x++) + { + for (int y = detect_SensorArea1[0].y; y <= detect_SensorArea1[1].y; y++) + { + Color pixelColor = img_handleCheck.GetPixel(x, y); + string hexColor = HexConverter(pixelColor); + allColorPixel1.Add(hexColor); + if (!colorPixelUnique1.Contains(hexColor)) + { + colorPixelUnique1.Add(hexColor); + } + } + } + foreach (string color in colorPixelUnique1) + { + int count = allColorPixel1.Where(x => x.Equals(color)).Count(); + if (count > colorMax1) + { + colorMax1 = count; + hexColorMax1 = color; + } + } + + + + // Kiểm tra cắn câu ô nhận diện 2 (ô phía trên) + for (int x = detect_SensorArea2[0].x; x <= detect_SensorArea2[1].x; x++) + { + for (int y = detect_SensorArea2[0].y; y <= detect_SensorArea2[1].y; y++) + { + Color pixelColor = img_handleCheck.GetPixel(x, y); + string hexColor = HexConverter(pixelColor); + allColorPixel2.Add(hexColor); + if (!colorPixelUnique2.Contains(hexColor)) + { + colorPixelUnique2.Add(hexColor); + } + } + } + + foreach (string color in colorPixelUnique2) + { + int count = allColorPixel2.Where(x => x.Equals(color)).Count(); + if (count > colorMax2) + { + colorMax2 = count; + hexColorMax2 = color; + } + } + + double phanTram1 = (double)colorMax1 / (double)allColorPixel1.Count; + double phanTram2 = (double)colorMax2 / (double)allColorPixel2.Count; + Debug.WriteLine("phanTram1: " + phanTram1); + Debug.WriteLine("phanTram2: " + phanTram2); + + bool fishingCheck1 = false; + if (phanTram1 > 0.3 && phanTram1 <= 1) + { + Color color_1 = ColorTranslator.FromHtml(hexColorMax1); + if (!colorComparison(color_1, EnumAuto.color_NoCheck, 30)) + { + bool notDefault1 = !colorDefault_SensorArea1.Contains(hexColorMax1); + fishingCheck1 = notDefault1 && !EnumAuto.list_ColorNoCheckFish.Contains(hexColorMax1); + } + } + + bool fishingCheck2 = false; + if(phanTram2 > 0.3 && phanTram2 <= 1) + { + Color color_2 = ColorTranslator.FromHtml(hexColorMax2); + if (!colorComparison(color_2, EnumAuto.color_NoCheck, 30)) + { + bool notDefault2 = !colorDefault_SensorArea2.Contains(hexColorMax2); + fishingCheck2 = notDefault2 && !EnumAuto.list_ColorNoCheckFish.Contains(hexColorMax2); + } + } + //if (fishingCheck1) + //{ + // getDetectExclamationArea(img_handleCheck, hexColorMax1); + //} + //else if (fishingCheck2) + //{ + // getDetectExclamationArea(img_handleCheck, hexColorMax2); + //} + return fishingCheck1 || fishingCheck2; + } + + public bool checkD() + { + Bitmap currenImgCheck = getImageByListPixelXY(detect_ExclamationArea); + + // kiểm tra trùng màu cá + int center_x = currenImgCheck.Width / 2; + int center_y = currenImgCheck.Height - 1; + Color pixelCenter = currenImgCheck.GetPixel(center_x, center_y); + if(colorComparisonList(pixelCenter, EnumAuto.list_ColorColorFish, 1)) + { + return false; + } else + { + int phanTram = checkSame(OKImgCheck, MakeGrayW(currenImgCheck, pixelCenter)); + if (phanTram >= acceptError - 2) + { + //currenImgCheck.Save($"data/img_cap/pro/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + //MakeGrayW(currenImgCheck, pixelCenter).Save($"data/img_cap/pro/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + acceptError = acceptError < phanTram || acceptError <= 78 ? acceptError : phanTram; + Image imgFull = CaptureHelper.CaptureWindow(handle); + //imgFull.Save($"data/img_cap/phao-pro/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + if (!check_BuoysAreaDone) + { + + //imgFull.Save($"data/img_cap/phao-pro/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + getCoordinatesBuoys((Bitmap)imgFull); + } + currenImgCheck.Dispose(); + return true; + } + else + { + currenImgCheck.Dispose(); + return false; + } + } + } + + public int checkSame(Bitmap img1, Bitmap img2) + { + int count = 0; + for(int x = 0; x < img1.Width; x++) + { + for (int y = 0; y < img1.Height; y++) + { + if(img1.GetPixel(x, y).R == img2.GetPixel(x, y).R) + { + count++; + } + } + } + double size = (double)(img1.Width * img1.Height); + + int phanTram = (int)((double)((double)count / size) * (double)100); + return phanTram; + } + + public Bitmap MakeGrayW(Bitmap original, Color pixelCenter) + { + Bitmap imgGray = new Bitmap(original.Width, original.Height); + byte centerR = pixelCenter.R; + byte centerG = pixelCenter.G; + byte centerB = pixelCenter.B; + + byte centerGray = (byte)(0.2126 * centerR + 0.7152 * centerG + 0.0722 * centerB); + + + for (int x = 0; x < original.Width; x++) + { + for (int y = 0; y < original.Height; y++) + { + Color pixel = original.GetPixel(x, y); + byte R = pixel.R; + byte G = pixel.G; + byte B = pixel.B; + + byte gray = (byte)(0.2126 * R + 0.7152 * G + 0.0722 * B); + if(gray > centerGray - 5 && gray < centerGray + 5) + { + imgGray.SetPixel(x, y, Color.FromArgb(255, 255, 255)); + } else + { + imgGray.SetPixel(x, y, Color.FromArgb(0, 0, 0)); + } + } + } + return imgGray; + } + + // ảnh nhị phân + public Bitmap MakeWhiteBlack(Bitmap original, int threshold = 180) + { + Bitmap imgGray = new Bitmap(original.Width, original.Height); + + + for (int x = 0; x < original.Width; x++) + { + for (int y = 0; y < original.Height; y++) + { + Color pixel = original.GetPixel(x, y); + byte R = pixel.R; + byte G = pixel.G; + byte B = pixel.B; + + byte gray = (byte)(0.2126 * R + 0.7152 * G + 0.0722 * B); + if (gray > threshold) + { + imgGray.SetPixel(x, y, Color.FromArgb(255, 255, 255)); + } + else + { + imgGray.SetPixel(x, y, Color.FromArgb(0, 0, 0)); + } + } + } + return imgGray; + } + + // chuyển ảnh sang thang độ xám + public static Bitmap MakeGrayscale3(Bitmap original) + { + //create a blank bitmap the same size as original + Bitmap newBitmap = new Bitmap(original.Width, original.Height); + + //get a graphics object from the new image + using (Graphics g = Graphics.FromImage(newBitmap)) + { + + //create the grayscale ColorMatrix + ColorMatrix colorMatrix = new ColorMatrix( + new float[][] + { + new float[] {.3f, .3f, .3f, 0, 0}, + new float[] {.59f, .59f, .59f, 0, 0}, + new float[] {.11f, .11f, .11f, 0, 0}, + new float[] {0, 0, 0, 1, 0}, + new float[] {0, 0, 0, 0, 1} + }); + + //create some image attributes + using (ImageAttributes attributes = new ImageAttributes()) + { + + //set the color matrix attribute + attributes.SetColorMatrix(colorMatrix); + + //draw the original image on the new image + //using the grayscale color matrix + g.DrawImage(original, new Rectangle(0, 0, original.Width, original.Height), + 0, 0, original.Width, original.Height, GraphicsUnit.Pixel, attributes); + } + } + return newBitmap; + } + + // Kiểm tra xem một khu vực nào đó có chứa quá threshold % 1 màu sắc nào đó (dùng để kiểm tra sửa cần, đứt dây) + public bool checkDetectAreaWithColor(List checkArea, string color, double threshold) + { + if (checkArea.Count == 0) + { + return false; + } + else + { + int count = 0; + Bitmap img_handleCheck = (Bitmap)(CaptureHelper.CaptureWindow(handle)); + + // Kiểm tra màu + for (int x = checkArea[0].x; x <= checkArea[1].x; x++) + { + for (int y = checkArea[0].y; y <= checkArea[1].y; y++) + { + Color pixelColor = img_handleCheck.GetPixel(x, y); + string hexColor = HexConverter(pixelColor); + if (hexColor == color) + { + count++; + } + } + } + double thresholdColor = (double)count / (double)getTotalPixelArea(checkArea); + return thresholdColor > threshold ? true : false; + } + } + + // Kiểm tra xem một khu vực nào đó có chứa quá threshold px 1 màu sắc nào đó (dùng để kiểm toạ độ nút xem thông tin cần câu) + public bool checkDetectAreaWithColorPixel(List checkArea, string color, int threshold) + { + int count = 0; + Bitmap img_handle = (Bitmap)(CaptureHelper.CaptureWindow(handle)); + pointXY point_TL = percentToPixel(checkArea[0]); + pointXY point_BR = percentToPixel(checkArea[1]); + + for (int x = point_TL.x; x <= point_BR.x; x++) + { + for (int y = point_TL.y; y <= point_BR.y; y++) + { + Color pixelColor = img_handle.GetPixel(x, y); + string hexColor = HexConverter(pixelColor); + if (hexColor == color) + { + count++; + } + } + } + return count > threshold ? true : false; + } + + // ------- Func Get -------- // + + // Lấy toạ độ 1 khu vực bằng màu sắc + public static List getColorArea(Bitmap img_handleCheck, string hexColor) + { + int xMax = 0; + int xMin = 99999; + int yMax = 0; + int yMin = 99999; + List res = new List(); + int x, y; + for (x = 0; x < img_handleCheck.Width; x++) + { + for (y = 0; y < img_handleCheck.Height; y++) + { + Color pixelColor = img_handleCheck.GetPixel(x, y); + if (HexConverter(pixelColor) == hexColor) + { + xMax = x > xMax ? x : xMax; + xMin = x < xMin ? x : xMin; + yMax = y > yMax ? y : yMax; + yMin = y < yMin ? y : yMin; + } + } + } + if (xMax > 0) + { + res.Add(new pointXY(xMin, yMin)); + res.Add(new pointXY(xMax, yMax)); + } + return res; + } + + // Lấy toạ độ bao quanh 1 khu vực hình + public static List getAroundArea(List area) + { + int xMax = 0; + int xMin = 99999; + int yMax = 0; + int yMin = 99999; + List res = new List(); + int x, y; + foreach(pointXY point in area) + { + xMax = point.x > xMax ? point.x : xMax; + xMin = point.x < xMin ? point.x : xMin; + yMax = point.y > yMax ? point.y : yMax; + yMin = point.y < yMin ? point.y : yMin; + } + if (xMax > 0) + { + res.Add(new pointXY(xMin, yMin)); + res.Add(new pointXY(xMax, yMax)); + } + return res; + } + + // Lấy toạ độ 1 khu vực bằng màu sắc tương đối + public List getColorRelativeArea(Bitmap img_handleCheck, string hexColor, int difference) + { + int xMax = 0; + int xMin = 99999; + int yMax = 0; + int yMin = 99999; + List res = new List(); + int x, y; + Color color_Check = ColorTranslator.FromHtml(hexColor); + for (x = 0; x < img_handleCheck.Width; x++) + { + for (y = 0; y < img_handleCheck.Height; y++) + { + Color pixelColor = img_handleCheck.GetPixel(x, y); + if (colorComparison(pixelColor, color_Check, difference)) + { + xMax = x > xMax ? x : xMax; + xMin = x < xMin ? x : xMin; + yMax = y > yMax ? y : yMax; + yMin = y < yMin ? y : yMin; + } + } + } + if (xMax > 0) + { + res.Add(new pointXY(xMin, yMin)); + res.Add(new pointXY(xMax, yMax)); + } + return res; + } + + //Lọc bóng cá + public void filterShadowFish() + { + Debug.WriteLine("check_BuoysAreaDone: " + check_BuoysAreaDone); + if (check_BuoysAreaDone) + { + Task get = new Task(() => + { + ConfigFishSize configSize = ConfigFishSize._ListConfigFishSize.SingleOrDefault(r => r.auto_id == auto_id); + Delay(6000); + int sizeFish = getSizeFish(); + Debug.WriteLine("sizeFish: " + sizeFish); + shadowSize = sizeFish; + if (configSize.mode_auto_count_check == -1 || ConfigFishSize.checkDisableAll(configSize.auto_id)) + { + currentSizeShadowFish = sizeFish; + if (sizeFish <= configSize.listSize[0].max) + { + if (configSize.listSize[0].isChecked) + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + skipFish = true; + Debug.WriteLine("bỏ qua"); + } + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = $"Phát hiện bóng cá 1 (kích thước: {sizeFish})" + (configSize.listSize[0].isChecked ? " → bỏ qua" : ""); + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + if (configSize.listSize[0].isChecked) { + wnd.setSummaryTotal(auto_id, ++summaryTotal.boQuaCa, 2); + } + }); + } + else if (sizeFish <= configSize.listSize[1].max) + { + if (configSize.listSize[1].isChecked) + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + skipFish = true; + } + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = $"Phát hiện bóng cá 2 (kích thước: {sizeFish})" + (configSize.listSize[1].isChecked ? " → bỏ qua" : ""); + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + if (configSize.listSize[1].isChecked) { + wnd.setSummaryTotal(auto_id, ++summaryTotal.boQuaCa, 2); + } + }); + } + else if (sizeFish <= configSize.listSize[2].max) + { + if (configSize.listSize[2].isChecked) + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + skipFish = true; + } + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = $"Phát hiện bóng cá 3 (kích thước: {sizeFish})" + (configSize.listSize[2].isChecked ? " → bỏ qua" : ""); + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + if (configSize.listSize[2].isChecked) + { + wnd.setSummaryTotal(auto_id, ++summaryTotal.boQuaCa, 2); + } + }); + } + else if (sizeFish <= configSize.listSize[3].max) + { + if (configSize.listSize[3].isChecked) + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + skipFish = true; + } + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = $"Phát hiện bóng cá 4 (kích thước: {sizeFish})" + (configSize.listSize[3].isChecked ? " → bỏ qua" : ""); + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + if (configSize.listSize[3].isChecked) + { + wnd.setSummaryTotal(auto_id, ++summaryTotal.boQuaCa, 2); + } + }); + } + else if (sizeFish <= configSize.listSize[4].max) + { + if (configSize.listSize[4].isChecked) + { + controlClickPercentXY(EnumAuto.point_ButtonSpace); + skipFish = true; + } + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = $"Phát hiện bóng cá 5 (kích thước: {sizeFish})" + (configSize.listSize[4].isChecked ? " → bỏ qua" : ""); + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + if (configSize.listSize[4].isChecked) + { + wnd.setSummaryTotal(auto_id, ++summaryTotal.boQuaCa, 2); + } + }); + } else + { + messageNotiStep = $"Phát hiện bóng cá (kích thước: {sizeFish})"; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + } + } else + { + currentSizeShadowFish = sizeFish; + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = $"Phát hiện bóng cá (kích thước: {sizeFish})"; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + } + }); + get.Start(); + } else + { + shadowSize = 0; + } + } + + // Lấy toạ độ dấu chấm than (chạy nền khi câu xong lần đầu) + public void getDetectExclamationArea(Bitmap img_handleCheck, Bitmap bitmapChamThan) + { + Task get = new Task(() => + { + if (detect_ExclamationArea.Count != 2) + { + //img_handleCheck.Save($"data/img_cap/phao-pro/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + //bitmapChamThan.Save($"data/img_cap/phao-pro/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + int center = (int)(bitmapChamThan.Width / 2); + List colorPixelUnique = new List(); + List colorPixelAll = new List(); + + string colorMax = ""; + int colorMaxCount = 0; + for (int y = 0; y < bitmapChamThan.Height - 1; y++) + { + Color color = bitmapChamThan.GetPixel(center, y); + string hexColor = HexConverter(color); + if (!colorPixelUnique.Contains(hexColor)) + { + colorPixelUnique.Add(hexColor); + } + colorPixelAll.Add(hexColor); + } + foreach(string color in colorPixelUnique) + { + int count = 0; + foreach (string colorAll in colorPixelAll) + { + if (colorAll == color) + { + count++; + } + } + //Debug.WriteLine("Color Unique: " + color); + if (count > colorMaxCount) + { + //Debug.WriteLine("count: " + count); + colorMaxCount = count; + colorMax = color; + //Debug.WriteLine("maxxColor: " + colorMax); + } + } + //foreach (Color color in list_ColorCheckKhac) + //{ + // Debug.WriteLine(HexConverter(color)); + // int count = 0; + // foreach(Color colorK in all_ColorCheckKhac) + // { + // if(colorComparison(color, colorK, 15)) + // { + // count++; + // } + // } + // if (count > colorMaxCount) + // { + // Debug.WriteLine("count: " + count); + // colorMaxCount = count; + // colorMax = color; + // Debug.WriteLine("maxxColor: " + HexConverter(colorMax)); + // } + //} + + List areaRes = getColorRelativeArea(img_handleCheck, colorMax, 10); + + // Công thêm để tránh 100% + int congThem = 4; + areaRes[0].x -= 6; + areaRes[0].y -= congThem + 6; + areaRes[1].x += 6; + areaRes[1].y += congThem + 8; + + double maxSizeAreaName = (double)(handleHeight * handleWidth) / (double)100 * (double)10; + //Debug.WriteLine("maxSizeAreaName: " + maxSizeAreaName); + //Debug.WriteLine("areaRes: " + getTotalPixelArea(areaRes)); + if ((double)getTotalPixelArea(areaRes) < maxSizeAreaName) + { + areaRes[1].y = (int)((double)areaRes[0].y + (double)(areaRes[1].y - areaRes[0].y) / (double)2); + detect_ExclamationArea = areaRes; + + Image imageCheckOK = (Image)img_handleCheck; + Bitmap img_handleCheck_Clone = CropImage(img_handleCheck, 0, 0, img_handleCheck.Width, img_handleCheck.Height); + getCoordinatesBuoys(img_handleCheck_Clone); + int cropWidth = areaRes[1].x - areaRes[0].x; + int cropHeight = areaRes[1].y - areaRes[0].y; + + Bitmap cropOKCheck = CropImage(img_handleCheck, areaRes[0].x, areaRes[0].y, cropWidth, cropHeight); + // kiểm tra trùng màu cá + int center_x = cropOKCheck.Width / 2; + int center_y = cropOKCheck.Height - 1; + Color pixelCenter = cropOKCheck.GetPixel(center_x, center_y); + OKImgCheck = MakeGrayW(cropOKCheck, pixelCenter); + //cropOKCheck.Save($"data/img_cap/pro/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + //img_handleCheck.Save($"data/img_cap/pro/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + + int x = detect_ExclamationArea[0].x; + int y = detect_ExclamationArea[0].y; + int width = detect_ExclamationArea[1].x - x; + int height = detect_ExclamationArea[1].y - y; + useSensor = false; + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Nhận diện toạ độ dấu chấm than thành công"; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + removeDraw(); + drawArea(detect_ExclamationArea, nameAuto, "#86EFAC"); + } + } + }); + get.Start(); + } + + // Lấy danh sách màu của một khu vực (dùng để làm bộ màu mặc định) + public List getAllColorArea(List checkArea) + { + Bitmap img_handle = (Bitmap)(CaptureHelper.CaptureWindow(handle)); + int x1 = checkArea[0].x > 0 ? checkArea[0].x : 0; + int y1 = checkArea[0].y > 0 ? checkArea[0].y : 0; + int x2 = checkArea[1].x < img_handle.Width - 1 ? checkArea[1].x : img_handle.Width - 1; + int y2 = checkArea[1].y < img_handle.Height - 1 ? checkArea[1].y : img_handle.Height - 1; + List res = new List(); + for (int x = x1; x <= x2; x++) + { + for (int y = y1; y <= y2; y++) + { + Color pixelColor = img_handle.GetPixel(x, y); + string hexColor = HexConverter(pixelColor); + if (!res.Contains(hexColor)) + { + res.Add(hexColor); + } + } + } + return res; + } + + // Lấy id cần câu + public int getIdRod() + { + FishingRodConfig configRod = FishingRodConfig._ListFishingRodConfig.SingleOrDefault(r => r.auto_id == auto_id); + if(currentFishingRod == null) + { + return configRod.fishing_rod_1; + } else if(currentFishingRod.id == configRod.fishing_rod_2) + { + return configRod.fishing_rod_1; + } else + { + return configRod.fishing_rod_2; + } + } + + // Lấy thông tin step đổi cần câu + public int getStepChangeRod() + { + FishingRodConfig configRod = FishingRodConfig._ListFishingRodConfig.SingleOrDefault(r => r.auto_id == auto_id); + if (configRod.change_fishing_rod) + { + return configRod.step_change; + } else + { + return -1; + } + } + + // Lấy thông tin ngôn ngữ + //public void getLanguage() + //{ + // Bitmap img_RAW = getImageByListPercentXY(EnumAuto.area_LanguageCheck); + // List areaCheck = getColorRelativeArea(img_RAW, "#FFFFFF", 0); + // percentXY TL = pixelToPercent(areaCheck[0]); + // percentXY BR = pixelToPercent(areaCheck[1]); + // percentXY img_Language_TL = new percentXY(EnumAuto.area_LanguageCheck[0].x + TL.x, EnumAuto.area_LanguageCheck[0].y + TL.y); + // percentXY img_Language_BR = new percentXY(EnumAuto.area_LanguageCheck[1].x - BR.x, EnumAuto.area_LanguageCheck[1].y - BR.y); + // List area = new List { img_Language_TL, img_Language_BR }; + // Bitmap img_Language = ResizeBitmapReadText(getImageByListPercentXY(area)); + + // MakeWhiteBlack(img_Language).Save($"data/img_cap/language/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + //} + public void getLanguage() + { + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + if(configAuto.language == -1) + { + Bitmap img_Language = ResizeBitmapReadText(getImageByListPercentXY(EnumAuto.area_LanguageCheck)); + Bitmap img_Check = MakeWhiteBlack(img_Language); + //img_Check.Save($"data/img_cap/language/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + string name = OCR(img_Check); + int id = ImageToText.getIdLanguage(name); + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Nhận diện ngôn ngữ trong game: " + (id == 0 ? "Tiếng Việt" : "English"); + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + ConfigAuto.changeLanguage(id, configAuto.auto_id, true); + }); + } + } + + // Check thời tiết + public void checkWeather() + { + Task get = new Task(() => + { + int countCheck = 0; + for(int i = 0; i < 5; i++) + { + int timer = 0; + while (true && timer <= 10) + { + Delay(100); + Bitmap currentImage = (Bitmap)(CaptureHelper.CaptureWindow(handle)); + if (getTotalColorArea(currentImage)) + { + countCheck++; + break; + } + timer++; + } + Debug.WriteLine("---------------"); + } + Debug.WriteLine("countCheck: " + countCheck); + if(countCheck >= 4) + { + Debug.WriteLine("weather: mưa"); + } else + { + Debug.WriteLine("weather: bình thường"); + } + }); + get.Start(); + } + + public bool getTotalColorArea(Bitmap currentImage) + { + foreach(pointXY position in list_PointWeather) + { + int totalColor = 0; + Color color = Color.FromArgb(0, 0, 0); + pointXY point_TL = position; + pointXY point_BR = new pointXY(point_TL.x + 20, point_TL.y + 10); + List area = new List { point_TL, point_BR }; + //int totalColorPrve = 0; + //int totalColorCurrent = 0; + for (int x = point_TL.x; x < point_BR.x; x++) + { + for (int y = point_TL.y; y < point_BR.y; y++) + { + Color colorCurrent = currentImage.GetPixel(x, y); + //totalColorCurrent += colorCurrent.ToArgb(); + if(color.ToArgb() != colorCurrent.ToArgb()) + { + totalColor++; + color = colorCurrent; + } + } + } + Debug.WriteLine("totalColor: " + totalColor); + //int chenhLech = Math.Abs(totalColorPrve - totalColorCurrent); + if (totalColor > 3) + { + return true; + } + } + return false; + } + + // Lấy danh sách siteMap túi cành câu + public void getSiteMapFishingRod(bool checkStopGetPoition = false) + { + if (!isAuto) { return; } + + getLanguage(); + siteMapFishingRod = new List(); + int index = 0; + Delay(400); + + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Nhận diện thông tin cần câu..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + if (!isAuto) { return; } + + foreach (List point in EnumAuto.list_FishingRod) + { + if(checkStopGetPoition && !isGetPosition) { + siteMapFishingRod = new List(); + isAuto = false; + isGetPosition = false; + controlClickPercentXY(EnumAuto.point_closeInfoFishingRod); + break; + } + if (!isAuto) { break; } + index++; + if (checkDetectAreaWithColorPixel(point, "#82BDCD", 10) || checkDetectAreaWithColorPixel(point, "#3B465C", 10)) + { + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(point[0]); + while (getColorPercentXYToHex(EnumAuto.point_PopupInfoRodShow) != "#E7DACB") + { + Delay(100); + if (!isAuto) { break; } + } + Bitmap img_Name = ResizeBitmapReadText(getImageByListPercentXY(EnumAuto.area_NameFishingRod)); + Bitmap img_Check = MakeWhiteBlack(img_Name); + //img_Check.Save($"data/img_cap/name_rod/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + string name = OCRRod(img_Check); + + Debug.WriteLine(name); + bool isLanguageVI = languageConfig.getLanguageByAutoId(auto_id) == 0; + FishingRodDetect infoFishingRod = isLanguageVI ? ImageToText.getFishingName(name) : ImageToText.getFishingNameEN(name); + infoFishingRod.index = index; + infoFishingRod.point = point[0]; + siteMapFishingRod.Add(infoFishingRod); + + Delay((100 - configAuto.speed) * 40); + controlClickPercentXY(EnumAuto.point_closeInfoFishingRod); + Delay(600); + } + } + //siteMapFishingRod = siteMapFishingRod.Distinct().ToList(); + if (checkStopGetPoition && !isGetPosition) { + siteMapFishingRod = new List(); + isAuto = false; + isGetPosition = false; + return; + } + siteMapFishingRod = siteMapFishingRod.GroupBy(t => t.id).Select(g => g.First()).ToList(); + selectFishingRod(getIdRod()); + } + + public void getInfoFish() + { + Bitmap img = (Bitmap)CaptureHelper.CaptureWindow(handle); + Task get = new Task(() => + { + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == auto_id); + string colorLevel = getColorPercentXYToHex(EnumAuto.point_LevelFish, img); + int level = 0; + colorLevelFishNotiStep = "#E4E0C5"; + switch (colorLevel) + { + case "#E4E0C5": + level = 1; + colorLevelFishNotiStep = "#E4E0C5"; + break; + case "#A3E467": + level = 2; + colorLevelFishNotiStep = "#A3E467"; + break; + case "#59C6D9": + level = 3; + colorLevelFishNotiStep = "#59C6D9"; + break; + case "#E793E8": + level = 4; + colorLevelFishNotiStep = "#E793E8"; + break; + case "#DDEDEE": + level = 0; + colorLevelFishNotiStep = "#DDEDEE"; + break; + default: + level = 0; + colorLevelFishNotiStep = "#DDEDEE"; + break; + } + bool isVM = getColorPercentXYToHex(EnumAuto.point_checkVM, img) == "#F8D638"; + Bitmap img_Name = ResizeBitmapReadText(getImageByListPercentXY(EnumAuto.area_FishName, (Image)img)); + Bitmap img_Check = MakeWhiteBlack(img_Name, 150); + //img_Check.Save($"data/img_cap/name_fish/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + string name = OCR(img_Check); + Fish fish = Fish.getFishName(name, level, isVM, configAuto.language); + ConfigFishSize configSize = ConfigFishSize._ListConfigFishSize.SingleOrDefault(r => r.auto_id == auto_id); + if (configSize.mode_setting == "auto" && currentSizeShadowFish > 10 && currentSizeShadowFish < 8000 && fish.size > 0) + { + ConfigFishSize.changeMinMaxAuto(auto_id, fish.size, currentSizeShadowFish); + } + typeNotiStep = 1; + nameFishNotiStep = fish.name_vi; + isVMFishNotiStep = isVM; + sizeFishNotiStep = fish.size; + + //Bitmap imgCheckMoney = (Bitmap)CaptureHelper.CaptureWindow(handle); + List areaMoney = getColorRelativeArea(img, "#9BF676", 10); + if (areaMoney.Count != 0) + { + double price_TL_x = pixelToPercentWidth(areaMoney[1].x) + 0.625; + percentXY price_TL = new percentXY(price_TL_x, EnumAuto.area_FishPrice[0].y); + percentXY price_BR = new percentXY(EnumAuto.area_FishPrice[1].x, EnumAuto.area_FishPrice[1].y); + List areaCheckPrice = new List { price_TL, price_BR }; + //drawArea(areaCheckPrice, nameAuto); + Bitmap img_Price = ResizeBitmapReadText(getImageByListPercentXY(areaCheckPrice, img)); + Bitmap img_Price_Gray = MakeWhiteBlack(img_Price, 200); + + Point pt = new Point(1, 1); + Bitmap img_FloodFill = FloodFill(img_Price_Gray, pt, ColorTranslator.FromHtml("#FFFFFF"), ColorTranslator.FromHtml("#000000")); + Bitmap img_LocNhieu = LocNhieu(img_FloodFill); + //img_LocNhieu.Save($"data/img_cap/price-nhieu/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + try + { + priceFishNotiStep = OCRNumber(img_LocNhieu); + } + catch { } + Debug.WriteLine(priceFishNotiStep); + + // Câu cá thành công + + totalFailed = 0; + summaryFish.Add(new SummaryFish(summaryFish.Count + 1, fish.no, priceFishNotiStep, fish.size, fish.level, shadowSize, isVM)); + App.Current.Dispatcher.Invoke(() => + { + summaryTotal.tienBanCa += priceFishNotiStep; + wnd.setSummaryTotal(auto_id, summaryTotal.tienBanCa, 7); + wnd.sortChange(auto_id, summaryFishSort.typeSort, summaryFishSort.typeSelect); + wnd.updateTotalSummaryFish(fish.level, auto_id); + }); + //img_Price_Gray.Save($"data/img_cap/price2/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + + } else + { + priceFishNotiStep = 1; + } + App.Current.Dispatcher.Invoke(() => + { + wnd.setMassageNotiStep(auto_id, 1); + if (sizeFishNotiStep > 0) + { + if (detect_CheckSizeArea.Count > 0 && detect_ExclamationArea.Count > 0) + { + totalShowDraw++; + if(totalShowDraw > 2) + { + removeDraw(); + } + } + wnd.setSummaryTotal(auto_id, ++summaryTotal.soCa, 5); + } else + { + wnd.setSummaryTotal(auto_id, ++summaryTotal.doTaiChe, 6); + summaryFish.Add(new SummaryFish(summaryFish.Count + 1, fish.no, 1, fish.size, fish.level, shadowSize)); + wnd.sortChange(auto_id, summaryFishSort.typeSort, summaryFishSort.typeSelect); + } + }); + Delay(6000); + App.Current.Dispatcher.Invoke(() => + { + if (detect_NameArea.Count != 2 && detect_ExclamationArea.Count == 0) + { + messageNotiStep = "Quăng câu... chờ lấy toạ độ dấu chấm than, phao câu"; + } + else + { + messageNotiStep = "Quăng câu... chờ bóng cá"; + } + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + }); + get.Start(); + + } + + public void loadTime() + { + Task get = new Task(() => + { + while (isAuto) + { + totalTime.second++; + if(totalTime.second >= 60) + { + totalTime.minute++; + totalTime.second = 0; + + if(totalTime.minute >= 60) + { + totalTime.hour++; + totalTime.minute = 0; + } + } + updateTime(); + Delay(1000); + } + + }); + get.Start(); + + } + + public void updateTime() + { + Task get = new Task(() => + { + App.Current.Dispatcher.Invoke(() => + { + wnd.setTime(auto_id); + }); + }); + get.Start(); + + } + + public void checkDutDay() + { + Task check = new Task(() => + { + countCheckDutDay = 0; + while (!checkDisplayBag()) + { + countCheckDutDay++; + if(countCheckDutDay > 8) + { + countCheckDutDay = 0; + break; + } + Delay(1000); + } + }); + check.Start(); + } + + // Lấy số lần (slot) còn lại của cần câu đang dùng + public int getSlotCurrentRod() + { + FishingRodDetect currentRod = siteMapFishingRod.Single(r => r.id == currentFishingRod.id); + return currentRod.remaining; + } + + // Lấy mã màu hex từ 1 toạ độ (phần trăm) + public string getColorPercentXYToHex(percentXY point, Bitmap img = null) + { + pointXY point_Pixel = percentToPixel(point); + if(img == null) + { + img = (Bitmap)CaptureHelper.CaptureWindow(handle); + } + Color color = img.GetPixel(point_Pixel.x, point_Pixel.y); + return HexConverter(color); + } + + // Lấy Color từ 1 toạ độ (phần trăm) + public Color getColorPercentXYToColor(percentXY point) + { + pointXY point_Pixel = percentToPixel(point); + Bitmap img = (Bitmap)CaptureHelper.CaptureWindow(handle); + Color color = img.GetPixel(point_Pixel.x, point_Pixel.y); + return color; + } + + // Lấy kích thước một khu vực (pixel) + public int getTotalPixelArea(List area) + { + if(area.Count > 0) + { + int width = area[1].x - area[0].x; + int height = area[1].y - area[0].y; + return width * height; + } else { + return 0; + } + } + + // ------- Func Sử lý ảnh -------- // + + // V + private Bitmap FloodFill(Bitmap bmp, Point pt, Color targetColor, Color replacementColor) + { + Stack pixels = new Stack(); + targetColor = bmp.GetPixel(pt.X, pt.Y); + pixels.Push(pt); + + while (pixels.Count > 0) + { + if (!isAuto) { break; } + Point a = pixels.Pop(); + if (a.X < bmp.Width && a.X > 0 && + a.Y < bmp.Height && a.Y > 0)//make sure we stay within bounds + { + + if (bmp.GetPixel(a.X, a.Y) == targetColor) + { + bmp.SetPixel(a.X, a.Y, replacementColor); + pixels.Push(new Point(a.X - 1, a.Y)); + pixels.Push(new Point(a.X + 1, a.Y)); + pixels.Push(new Point(a.X, a.Y - 1)); + pixels.Push(new Point(a.X, a.Y + 1)); + } + } + } + Bitmap res = new Bitmap(bmp.Width - 2, bmp.Height - 2); + for (int x = 0; x < res.Width; x++) + { + for (int y = 0; y < res.Height; y++) + { + res.SetPixel(x, y, bmp.GetPixel(x + 1, y + 1)); + } + } + return res; + } + + // Lọc nhiễu số + public Bitmap LocNhieu(Bitmap img) + { + try + { + Color white = Color.FromArgb(255, 255, 255); + Color white2 = Color.FromArgb(255, 255, 254); + Color black = Color.FromArgb(0, 0, 0); + for (int x = 0; x < img.Width; x++) + { + if (img.GetPixel(x, 12) == white) + { + Point pt = new Point(x, 12); + img = FloodFill(img, pt, white, white2); + } + } + Bitmap res = new Bitmap(img.Width, img.Height); + + for (int x = 0; x < img.Width; x++) + { + for (int y = 0; y < img.Height; y++) + { + if (img.GetPixel(x, y) == white2) + { + res.SetPixel(x, y, white2); + } + else + { + res.SetPixel(x, y, black); + } + } + } + return res; + } catch + { + return new Bitmap(img.Width, img.Height); + } + } + + // Lấy Bitmap 1 ảnh từ toạ độ 1 khu vực + private Bitmap getImageByListPercentXY(List checkArea, Image img = null) + { + pointXY point_TL = percentToPixel(checkArea[0]); + pointXY point_BR = percentToPixel(checkArea[1]); + if(img == null) + { + img = CaptureHelper.CaptureWindow(handle); + } + try + { + Bitmap img_Crop = CaptureHelper.CropImage(img, new Rectangle(point_TL.x, point_TL.y, point_BR.x - point_TL.x, point_BR.y - point_TL.y)); + return img_Crop; + } catch { return null; } + } + + // Lấy Bitmap 1 ảnh từ toạ độ 1 khu vực pixel + private Bitmap getImageByListPixelXY(List checkArea, Image img = null) + { + pointXY point_TL = checkArea[0]; + pointXY point_BR = checkArea[1]; + if(img == null) + { + img = CaptureHelper.CaptureWindow(handle); + } + Bitmap img_Crop = CaptureHelper.CropImage(img, new Rectangle(point_TL.x, point_TL.y, point_BR.x - point_TL.x, point_BR.y - point_TL.y)); + return img_Crop; + } + + // Image to text + private string OCR(Bitmap b) + { + string res = ""; + using (var engine = new TesseractEngine(@"tessdata", "vie", EngineMode.TesseractOnly)) + { + using (var page = engine.Process(b, PageSegMode.SingleBlock)) + res = page.GetText(); + } + return res; + } + + private string OCRRod(Bitmap b) + { + string res = ""; + using (var engine = new TesseractEngine(@"tessdata", "vie", EngineMode.TesseractOnly)) + { + using (var page = engine.Process(b, PageSegMode.SingleLine)) + res = page.GetText(); + } + return res; + } + + private int OCRNumber(Bitmap b) + { + string res = "0"; + using (var engine = new TesseractEngine(@"tessdata", "number", EngineMode.TesseractOnly)) + { + using (var page = engine.Process(b, PageSegMode.SingleWord)) + res = page.GetText(); + } + return Int32.Parse(res); + } + + // Thay đổi kích thước ảnh trước khi OCR + public Bitmap ResizeBitmapReadText(Bitmap bmp) + { + double zoomRatio = (double)1280 / (double)handleWidth; + int width = (int)((double)bmp.Width * zoomRatio); + int height = (int)((double)bmp.Height * zoomRatio); + Bitmap result = new Bitmap(width, height); + using (Graphics g = Graphics.FromImage(result)) + { + g.DrawImage(bmp, 0, 0, width, height); + } + return result; + } + + public static Bitmap CropImage(Image source, int x, int y, int width, int height) + { + Rectangle crop = new Rectangle(x, y, width, height); + + var bmp = new Bitmap(crop.Width, crop.Height); + using (var gr = Graphics.FromImage(bmp)) + { + gr.DrawImage(source, new Rectangle(0, 0, bmp.Width, bmp.Height), crop, GraphicsUnit.Pixel); + } + return bmp; + } + + // ------- Func Tools -------- // + + public void Delay(int delay) + { + while(delay > 0) + { + Thread.Sleep(100); + delay = delay - 100; + if (!isAuto) + { + break; + } + } + } + + private static String HexConverter(Color c) + { + return "#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2"); + } + + // Vẽ viền màu cho 1 khu vực kích thước cá + public void drawAreaSize(List pointList, string name, int size, string color = "#FFFFFF") + { + try + { + + Application.Current.Dispatcher.Invoke((Action)delegate { + try + { + int width = pointList[1].x - pointList[0].x; + int height = pointList[1].y - pointList[0].y; + FishSizeBorder draw = new FishSizeBorder(pointList[0].x, pointList[0].y, width, height, name, color, size, auto_id); + draw.Show(); + draw.Activate(); + } + catch { } + }); + } + catch { } + } + + public void removeDrawSize() + { + Task remove = new Task(() => + { + Delay(10000); + Application.Current.Dispatcher.Invoke((Action)delegate { + foreach (FishSizeBorder item in _ListDrawSize) + { + item.Close(); + } + }); + }); + remove.Start(); + } + + // Vẽ viền màu cho 1 khu vực đầu vào pixel + public void drawArea(List pointList, string name, string color = "#FF0000") + { + try + { + + Application.Current.Dispatcher.Invoke((Action)delegate { + try + { + int width = pointList[1].x - pointList[0].x; + int height = pointList[1].y - pointList[0].y; + SquareBorder a = new SquareBorder(pointList[0].x, pointList[0].y, width, height, name, color, auto_id); + a.Show(); + a.Activate(); + } + catch { } + }); + } + catch { } + + } + + // Vẽ viền màu cho 1 khu vực đầu vào % + public void drawAreaPercent(List pointList, string name, string color = "#FF0000") + { + Application.Current.Dispatcher.Invoke((Action)delegate { + pointXY point0 = percentToPixel(pointList[0]); + pointXY point1 = percentToPixel(pointList[1]); + int width = point1.x - point0.x; + int height = point1.y - point0.y; + SquareBorder a = new SquareBorder(point0.x, point0.y, width, height, name, color, auto_id); + a.Show(); + }); + } + + // Vẽ 2 viền tròn lồng nhau + public void drawRoundBorder(pointXY pointList, int r1, int r2, string name) + { + try + { + Application.Current.Dispatcher.Invoke((Action)delegate { + RoundBorder a = new RoundBorder(pointList, r1, r2, name, auto_id); + a.Show(); + a.Activate(); + }); + } + catch { } + + } + + // Xoá toàn bộ đường viễn đã vẽ + public void removeDraw() + { + Application.Current.Dispatcher.Invoke((Action)delegate { + foreach (SquareBorder item in _ListDraw) + { + item.Close(); + } + //foreach (RoundBorder item in _ListRounded) + //{ + // item.Close(); + //} + }); + } + + // Chuyển đổ percent <--> pixel + public percentXY pixelToPercent(pointXY pixel) + { + double x = (double)(pixel.x / handleWidth) * (double)100; + double y = (double)(pixel.y / handleHeight) * (double)100; + return new percentXY(x, y); + } + + public double pixelToPercentWidth(int pixel) + { + double x = (double)pixel / (double)handleWidth * 100; + return x; + } + + public pointXY percentToPixel(percentXY percent) + { + int x = (int)((double)handleWidth / 100 * percent.x); + int y = (int)((double)handleHeight / 100 * percent.y); + return new pointXY(x, y); + } + + public int percentToPixelWidth(double percent) + { + int pixel = (int)((double)handleWidth / 100 * percent); + return pixel; + } + + public int percentToPixelHeight(double percent) + { + int pixel = (int)((double)handleHeight / 100 * percent); + return pixel; + } + + // Kiểm tra 2 hình ảnh giống nhau + public double checkImage(Bitmap img1, Bitmap img2) + { + float diff = 0; + + for (int y = 0; y < img1.Height; y++) + { + for (int x = 0; x < img1.Width; x++) + { + Color pixel1 = img1.GetPixel(x, y); + Color pixel2 = img2.GetPixel(x, y); + + diff += Math.Abs(pixel1.R - pixel2.R); + diff += Math.Abs(pixel1.G - pixel2.G); + diff += Math.Abs(pixel1.B - pixel2.B); + } + } + double res = 100 * (diff / 255) / (img1.Width * img1.Height * 3); + return res; + } + + // Click vào toạ độ phần trăm X:Y + public void controlClickPercentXY(percentXY point) + { + pointXY pointPixel = percentToPixel(point); + Debug.WriteLine("emulator_type " + emulator_type); + if(emulator_type == "memu") + { + IntPtr hWnd = IntPtr.Zero; + hWnd = AutoControl.FindWindowHandle("Qt5QWindowIcon", nameAuto); + IntPtr childhWnd = IntPtr.Zero; + childhWnd = AutoControl.FindWindowExFromParent(hWnd, "MainWindowWindow", "Qt5QWindowIcon"); + AutoControl.SendClickOnPosition(childhWnd, pointPixel.x, pointPixel.y + 31); + } else if(emulator_type == "ldplayer") + { + IntPtr hWnd = IntPtr.Zero; + hWnd = AutoControl.FindWindowHandle("LDPlayerMainFrame", nameAuto); + IntPtr childhWnd = IntPtr.Zero; + childhWnd = AutoControl.FindWindowExFromParent(hWnd, "TheRender", "RenderWindow"); + AutoControl.SendClickOnPosition(childhWnd, pointPixel.x, pointPixel.y); + } else if (emulator_type == "nox") + { + + Debug.WriteLine(nameAuto); + IntPtr hWnd = IntPtr.Zero; + hWnd = gethWnd(nameAuto); + Debug.WriteLine(hWnd); + IntPtr childhWnd = IntPtr.Zero; + List listChildhWnd = AutoControl.GetChildHandle(hWnd); + //List listChildhWnd2 = AutoControl.GetChildHandle(listChildhWnd[2]); + //Debug.WriteLine("Count: " + listChildhWnd2.Count); + //childhWnd = AutoControl.FindWindowExFromParent(hWnd, "Nox", "Qt5QWindowIcon"); + + //Debug.WriteLine("childhWnd" + childhWnd); + AutoControl.SendClickOnPosition(listChildhWnd[2], pointPixel.x, pointPixel.y + 31); + } else if(emulator_type == "bluestacks") + { + IntPtr hWnd = IntPtr.Zero; + hWnd = AutoControl.FindWindowHandle("Qt5154QWindowIcon", nameAuto); + IntPtr childhWnd = IntPtr.Zero; + childhWnd = AutoControl.FindWindowExFromParent(hWnd, "plrNativeInputWindow", "plrNativeInputWindowClass"); + AutoControl.SendClickOnPosition(childhWnd, pointPixel.x, pointPixel.y); + } + } + + // Click vào toạ độ pixel X:Y + public void controlClickPercentXY(pointXY point) + { + autoit.ControlClick(nameAuto, "", "", "LEFT", 1, point.x, point.y + 31); + } + + public void controlGetPosition() + { + statusGetPosition = 0; + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Chuẩn bị lấy toạ độ thủ công..."; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + initHandle(true); + while (!checkDisplayBag()) + { + Delay(50); + if (!isAuto || !isGetPosition) { break; } + } + openBagRod(); + if (!isGetPosition) + { + return; + } + FishingRodConfig configRod = FishingRodConfig._ListFishingRodConfig.SingleOrDefault(r => r.auto_id == auto_id); + if (siteMapFishingRod.Count == 0 || configRod.get_info_rod) + { + siteMapFishingRod = new List(); + getSiteMapFishingRod(true); + } + else + { + selectFishingRod(getIdRod()); + } + while (!checkDisplayBag()) + { + Delay(50); + if (!isAuto || !isGetPosition) { break; } + } + if (!isGetPosition) + { + controlClickPercentXY(EnumAuto.point_CloseBag); + return; + } + controlClickPercentXY(EnumAuto.point_ButtonTossSentence); + Delay(2000); + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Click chuột vào phao câu để lấy toạ độ"; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + getPositionPhao(); + } + + public void getPositionPhao() + { + Task setTime = new Task(() => + { + while (true) + { + if(!isGetPosition) + { + isAuto = false; + isGetPosition = false; + controlClickPercentXY(EnumAuto.point_ButtonSpace); + break; + } + Thread.Sleep(50); + if ((System.Windows.Forms.Control.MouseButtons & System.Windows.Forms.MouseButtons.Left) == System.Windows.Forms.MouseButtons.Left) + { + int x1 = autoit.WinGetPosX(nameAuto); + int y1 = autoit.WinGetPosY(nameAuto) + 31; + + int x2 = x1 + handleWidth; + int y2 = y1 + handleHeight; + Debug.WriteLine("x1: " + x1 + " - y1: " + y1); + Debug.WriteLine("x2: " + x2 + " - y2: " + y2); + System.Drawing.Point p = System.Windows.Forms.Cursor.Position; + if (p.X > x1 && p.X < x2 && p.Y > y1 && p.Y < y2) + { + // lấy tâm phao + int buoysCenter_x = p.X - x1; + int buoysCenter_y = p.Y - y1; + pointXY buoysCenter = new pointXY(buoysCenter_x, buoysCenter_y); + check_BuoysAreaDone = true; + + // Set khu vực kiểm tra kích thước cá + int R1 = (int)((double)handleWidth / (double)100 * (double)EnumAuto.R1); + int R2 = (int)((double)handleWidth / (double)100 * (double)EnumAuto.R2); + int checkSize_TL_x = buoysCenter_x - R2 < 0 ? 0 : buoysCenter_x - R2; + int checkSize_TL_y = buoysCenter_y - R2 < 0 ? 0 : buoysCenter_y - R2; + pointXY checkSize_TL = new pointXY(checkSize_TL_x, checkSize_TL_y); + int checkSize_BR_x = buoysCenter_x + R2 >= handleWidth ? handleWidth : buoysCenter_x + R2; + int checkSize_BR_y = buoysCenter_y + R2 >= handleHeight ? handleHeight : buoysCenter_y + R2; + pointXY checkSize_BR = new pointXY(checkSize_BR_x, checkSize_BR_y); + detect_CheckSizeArea = new List { checkSize_TL, checkSize_BR }; + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Lấy toạ độ phao câu thành công"; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + + // vẽ tâm phao lên màn hình + pointXY drawBuoys_TL = new pointXY(buoysCenter_x - 4, buoysCenter_y - 4); + pointXY drawBuoys_BR = new pointXY(buoysCenter_x + 4, buoysCenter_y + 4); + List drawBuoys = new List { drawBuoys_TL, drawBuoys_BR }; + + int R1Doi = R1 / 2; + kv_BoQuaCheckBong[0].x = buoysCenter_x - R1Doi; + kv_BoQuaCheckBong[1].x = buoysCenter_x + R1Doi; + kv_BoQuaCheckBong[0].y = buoysCenter_y - R1Doi; + kv_BoQuaCheckBong[1].y = buoysCenter_y + R1Doi; + + if (kv_BoQuaCheckBong.Count > 0) + { + pointXY point1 = new pointXY(kv_BoQuaCheckBong[0].x - 20, kv_BoQuaCheckBong[0].y - 20); + pointXY point2 = new pointXY(kv_BoQuaCheckBong[1].x + 20, kv_BoQuaCheckBong[0].y - 20); + pointXY point3 = new pointXY(kv_BoQuaCheckBong[0].x - 20, kv_BoQuaCheckBong[1].y + 20); + pointXY point4 = new pointXY(kv_BoQuaCheckBong[1].x + 20, kv_BoQuaCheckBong[1].y + 20); + list_PointWeather = new List { point1, point2, point3, point4 }; + } + drawArea(drawBuoys, nameAuto, "#FFFFFF"); + //drawRoundBorder(buoysCenter, R1, R2, nameAuto); + break; + } + } + } + Delay(2000); + getPositionChamThan(); + }); + //Thread.Sleep(1000); + setTime.Start(); + + //List areaCheck = new List { new pointXY(x1Win, y1Win), new pointXY(x2, y2) }; + //drawArea(areaCheck, nameAuto, "#FFFFFF"); + } + + public void getPositionChamThan() + { + App.Current.Dispatcher.Invoke(() => + { + if (!isGetPosition) + { + messageNotiStep = "Đã dừng lấy toạ độ thủ công"; + } else + { + messageNotiStep = "Click vào dấu chấm than khi cá cắn câu để lấy toạ độ"; + } + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + }); + Task getPosition = new Task(() => + { + while (true) + { + if (!isGetPosition) + { + isAuto = false; + isGetPosition = false; + controlClickPercentXY(EnumAuto.point_ButtonSpace); + break; + } + Thread.Sleep(50); + if ((System.Windows.Forms.Control.MouseButtons & System.Windows.Forms.MouseButtons.Left) == System.Windows.Forms.MouseButtons.Left) + { + int x1 = autoit.WinGetPosX(nameAuto); + int y1 = autoit.WinGetPosY(nameAuto) + 31; + + int x2 = x1 + handleWidth; + int y2 = y1 + handleHeight; + System.Drawing.Point p = System.Windows.Forms.Cursor.Position; + if (p.X > x1 && p.X < x2 && p.Y > y1 && p.Y < y2) + { + + Bitmap img_Check = (Bitmap)CaptureHelper.CaptureWindow(handle); + // dut can + //Delay(100); + //controlClickPercentXY(EnumAuto.point_ButtonSpace); + //img_Check.Save($"data/img_cap/check-cham-than/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + Color colorChamThan = img_Check.GetPixel(p.X - x1, p.Y - y1); + Debug.WriteLine(HexConverter(colorChamThan)); + + List areaRes = getColorRelativeArea(img_Check, HexConverter(colorChamThan), 10); + + // Công thêm để tránh 100% + int congThem = 4; + areaRes[0].x -= 6; + areaRes[0].y -= congThem + 6; + areaRes[1].x += 6; + areaRes[1].y += congThem + 8; + + double maxSizeAreaName = (double)(handleHeight * handleWidth) / (double)100 * (double)10; + Debug.WriteLine("maxSizeAreaName: " + maxSizeAreaName); + Debug.WriteLine("areaRes: " + getTotalPixelArea(areaRes)); + if ((double)getTotalPixelArea(areaRes) < maxSizeAreaName) + { + areaRes[1].y = (int)((double)areaRes[0].y + (double)(areaRes[1].y - areaRes[0].y) / (double)2); + detect_ExclamationArea = areaRes; + + int cropWidth = areaRes[1].x - areaRes[0].x; + int cropHeight = areaRes[1].y - areaRes[0].y; + + Bitmap cropOKCheck = CropImage(img_Check, areaRes[0].x, areaRes[0].y, cropWidth, cropHeight); + // kiểm tra trùng màu cá + int center_x = cropOKCheck.Width / 2; + int center_y = cropOKCheck.Height - 1; + Color pixelCenter = cropOKCheck.GetPixel(center_x, center_y); + OKImgCheck = MakeGrayW(cropOKCheck, pixelCenter); + //OKImgCheck.Save($"data/img_cap/cham-than/{DateTime.Now.Subtract(DateTime.MinValue.AddYears(2021)).TotalMilliseconds}.png"); + useSensor = false; + isAuto = false; + statusGetPosition = 1; + isGetPosition = false; + + App.Current.Dispatcher.Invoke(() => + { + foreach (SquareBorder item in _ListDraw) + { + item.Activate(); + } + messageNotiStep = "Nhận diện toạ độ dấu chấm than thành công"; + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + wnd.updateStatusGetPosition(1); + }); + drawArea(detect_ExclamationArea, nameAuto, "#86EFAC"); + } else + { + isAuto = false; + statusGetPosition = 2; + isGetPosition = false; + App.Current.Dispatcher.Invoke(() => + { + messageNotiStep = "Nhận diện toạ độ dấu chấm than thất bại"; + removeDraw(); + wnd.setMassageNotiStep(auto_id, 0, messageNotiStep); + wnd.updateStatusGetPosition(2); + }); + } + storeCheckPosition(); + break; + } + } + } + }); + //Thread.Sleep(1000); + getPosition.Start(); + } + + public void storeCheckPosition() + { + Task storeFish = new Task(() => { + int timer = 0; + while (true && timer < 50) + { + if (checkDoneFishing()) + { + controlClickPercentXY(EnumAuto.point_ButtonStore); + break; + } + timer++; + Delay(100); + } + }); + storeFish.Start(); + } + + // So sánh 2 màu cho phép 1 độ lệch (difference) nhất định + public bool colorComparison(Color color1, Color color2, int difference = 5) + { + int difference_R = Math.Abs(color1.R - color2.R); + int difference_G = Math.Abs(color1.G - color2.G); + int difference_B = Math.Abs(color1.B - color2.B); + if(difference_R <= difference && difference_G <= difference && difference_B <= difference) + { + return true; + } else + { + return false; + } + } + + // So sánh 1 màu với 1 list màu cho phép 1 độ lệch (difference) nhất định + public bool colorComparisonList(Color color1, List listColor, int difference = 5) + { + foreach(Color color in listColor) + { + if(colorComparison(color1, color, difference)) + { + return true; + } + } + return false; + } + + // So sánh 1 màu với 1 list màu cho phép 1 độ lệch (difference) nhất định + public bool colorComparisonColorFish(List listColor) + { + foreach (Color color in listColor) + { + + int a = color.ToArgb(); + Debug.WriteLine(HexConverter(color) + ": " + a); + //if (colorComparison(color1, color, difference)) + //{ + // return true; + //} + } + return false; + } + + private static Random random = new Random(); + public static string RandomString(int length) + { + const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + return new string(Enumerable.Repeat(chars, length) + .Select(s => s[random.Next(s.Length)]).ToArray()); + } + + // Lấy màu chiếm nhiều nhất trong 1 bitmap + public Color getColorMaxInBitmap(Bitmap img_Check) + { + int colorMax = 0; + string hexColorMax = ""; + List allColorPixel1 = new List(); + List colorPixelUnique1 = new List(); + for (int x = 0; x < img_Check.Width; x++) + { + for (int y = 0; y < img_Check.Height; y++) + { + Color pixelColor = img_Check.GetPixel(x, y); + string hexColor = HexConverter(pixelColor); + allColorPixel1.Add(hexColor); + if (!colorPixelUnique1.Contains(hexColor)) + { + colorPixelUnique1.Add(hexColor); + } + } + } + foreach (string color in colorPixelUnique1) + { + int count = allColorPixel1.Where(x => x.Equals(color)).Count(); + if (count > colorMax) + { + colorMax = count; + hexColorMax = color; + } + } + Color res = ColorTranslator.FromHtml(hexColorMax); + return res; + } + + // Lấy danh sách màu chiếm nhiều hơn n pixel trong 1 bitmap + public List getListColorMaxInBitmap(Bitmap img_Check, int bigger) + { + List allColorPixel1 = new List(); + List colorPixelUnique1 = new List(); + List listRes = new List(); + for (int x = 0; x < img_Check.Width; x++) + { + for (int y = 0; y < img_Check.Height; y++) + { + Color pixelColor = img_Check.GetPixel(x, y); + string hexColor = HexConverter(pixelColor); + allColorPixel1.Add(hexColor); + if (!colorPixelUnique1.Contains(hexColor)) + { + colorPixelUnique1.Add(hexColor); + } + } + } + foreach (string color in colorPixelUnique1) + { + int count = allColorPixel1.Where(x => x.Equals(color)).Count(); + if (count > bigger) + { + listRes.Add(ColorTranslator.FromHtml(color)); + } + } + return listRes; + } + + // Kiểm tra xem 1 bitmap có lớn hơn n % màn hình double maxSizeAreaName = (double)(handleHeight * handleWidth) / (double)100 * (double)10; + public bool checkPercentBitmapCompareScreen(List area, int percentCheck) + { + if(area.Count != 0) + { + int areaWidth = area[1].x - area[0].x; + int areaHeight = area[1].y - area[0].y; + double areaScreen = (double)(handleHeight * handleWidth); + double areaBitmap = (double)(areaWidth * areaHeight); + double percent = areaBitmap / areaScreen * (double)100; + return (double)percentCheck > percent; + } else + { + return false; + } + } + } +} diff --git a/Auto_Demo/services/MyMessageBox.cs b/Auto_Demo/services/MyMessageBox.cs new file mode 100644 index 0000000..a34aeec --- /dev/null +++ b/Auto_Demo/services/MyMessageBox.cs @@ -0,0 +1,17 @@ +using Auto_Demo.components; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Auto_Demo.services +{ + class MyMessageBox + { + //public static string Show(string title, string content, string closeText, string okText) + //{ + // CMessageBox messageBox = new CMessageBox() + //} + } +} diff --git a/Auto_Demo/services/car.cs b/Auto_Demo/services/car.cs new file mode 100644 index 0000000..9b2ac3f --- /dev/null +++ b/Auto_Demo/services/car.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace Auto_Demo.services +{ + class car + { + MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public string color {get; set; } + public int price { get; set; } + public static ObservableCollection _CarList = new ObservableCollection(); + + public car() + { + car._CarList.Add(this); + } + } +} diff --git a/Auto_Demo/services/config/ConfigAuto.cs b/Auto_Demo/services/config/ConfigAuto.cs new file mode 100644 index 0000000..5c760f6 --- /dev/null +++ b/Auto_Demo/services/config/ConfigAuto.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace Auto_Demo.services.config +{ + public class ConfigAuto + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public static ObservableCollection _ListConfigAuto = new ObservableCollection(); + + public string _id { get; set; } + public string auto_id { get; set; } + public int delay_fishing_test { get; set; } + public int language { get; set; } + public int speed { get; set; } + public int save_exclamation { get; set; } + public int delay_check { get; set; } + + public ConfigAuto(string id, string _auto_id, int _delay_fishing_test, int _language, int _speed, int _save_exclamation, int _delay_check, bool isNew = false) + { + _id = id; + auto_id = _auto_id; + delay_fishing_test = _delay_fishing_test; + language = _language; + speed = _speed; + save_exclamation = _save_exclamation; + delay_check = _delay_check; + + _ListConfigAuto.Add(this); + wnd.updateConfigAuto(_auto_id); + } + + public static void changeLanguage(int idLanguage, string autoId, bool isUpdateUI = false) + { + _ListConfigAuto.Where(item => item.auto_id == autoId).ToList().ForEach(s => s.language = idLanguage); + + if (isUpdateUI) + { + bool isActive = emulator._EmulatorList.Single(r => r._id == autoId).isActive; + if (isActive) + { + wnd.updateLanguage(idLanguage); + } + } + } + + public static void changeDataConfigAuto(string id, int value, string field) + { + database db = new database(); + string txtQuery = $"UPDATE Config SET {field}={value} WHERE _id='{id}'"; + try + { + db.ExecuteQuery(txtQuery); + switch (field) + { + case "delay_fishing_test": + _ListConfigAuto.Where(item => item._id == id).ToList().ForEach(s => s.delay_fishing_test = value); + break; + case "save_exclamation": + _ListConfigAuto.Where(item => item._id == id).ToList().ForEach(s => s.save_exclamation = value); + break; + case "speed": + _ListConfigAuto.Where(item => item._id == id).ToList().ForEach(s => s.speed = value); + break; + case "delay_check": + _ListConfigAuto.Where(item => item._id == id).ToList().ForEach(s => s.delay_check = value); + break; + } + + } + catch { } + } + + public static void removeConfigAutoOneEmu(string idAuto) + { + foreach (ConfigAuto data in ConfigAuto._ListConfigAuto) + { + if (data.auto_id == idAuto) + { + database db = new database(); + try + { + string txtQuery = $"DELETE FROM Config WHERE _id='{data._id}'"; + db.ExecuteQuery(txtQuery); + } + catch { } + } + } + + } + } +} diff --git a/Auto_Demo/services/config/ConfigFishSize.cs b/Auto_Demo/services/config/ConfigFishSize.cs new file mode 100644 index 0000000..dad8016 --- /dev/null +++ b/Auto_Demo/services/config/ConfigFishSize.cs @@ -0,0 +1,347 @@ +using KAutoHelper; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace Auto_Demo.services.config +{ + public class ConfigFishSize + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public List listSize { get; set; } + public string auto_id { get; set; } + public string mode_setting { get; set; } + public int mode_auto_count_check { get; set; } + + public static ObservableCollection _ListConfigFishSize = new ObservableCollection(); + + public ConfigFishSize(List _listSize, string _auto_id, string _mode_setting, int _mode_auto_count_check, bool isNew = false) + { + listSize = _listSize; + auto_id = _auto_id; + mode_setting = _mode_setting; + mode_auto_count_check = _mode_auto_count_check; + + ConfigFishSize._ListConfigFishSize.Add(this); + + if (isNew) + { + wnd.updateListFishSize(_auto_id); + } + } + + public static ConfigFishSize getFishSizeByIdAuto(string id) + { + foreach (ConfigFishSize data in ConfigFishSize._ListConfigFishSize) + { + if (data.auto_id == id) + { + return data; + } + } + return null; + } + + public static void changeCheckboxActive(string idAuto, int size, bool isChecked) + { + foreach (ConfigFishSize data in ConfigFishSize._ListConfigFishSize) + { + if (data.auto_id == idAuto) + { + foreach (FishSize fishSize in data.listSize) + { + if (fishSize.size == size) + { + database db = new database(); + fishSize.isChecked = isChecked; + wnd.updateListFishSize(idAuto); + int status = isChecked ? 1 : 0; + string txtQuery = $"UPDATE FishSize SET status='{status}' WHERE _id='{fishSize._id}'"; + try + { + db.ExecuteQuery(txtQuery); + } catch { } + break; + } + } + break; + } + } + } + + public static void removeConfigOneEmu(string idAuto) + { + foreach (ConfigFishSize data in ConfigFishSize._ListConfigFishSize) + { + if (data.auto_id == idAuto) + { + database db = new database(); + foreach (FishSize fishSize in data.listSize) + { + try + { + string txtQuery = $"DELETE FROM FishSize WHERE _id='{fishSize._id}'"; + db.ExecuteQuery(txtQuery); + } catch { } + } + } + } + + } + + public static void changeMinMax(string id, int value, string type = "max") + { + database db = new database(); + string txtQuery = $"UPDATE FishSize SET {type}={value} WHERE _id='{id}'"; + try + { + db.ExecuteQuery(txtQuery); + } + catch { } + } + + public static void changeMinMaxAuto(string auto_id, int size, int valueChange) + { + foreach (ConfigFishSize config in _ListConfigFishSize) + { + if (config.auto_id == auto_id) + { + // Cập nhật lại size bỏ bóng cá + if((!config.listSize[size - 1].disable || config.listSize[size - 1].max < valueChange) && valueChange < config.listSize[size].min) + { + config.listSize[size - 1].max = valueChange; + config.listSize[size].min = valueChange + 1; + updateDBMinMax(config.listSize[size - 1].min, config.listSize[size - 1].max, config.listSize[size - 1]._id); + updateDBMinMax(config.listSize[size].min, config.listSize[size].max, config.listSize[size]._id); + for (int i = size; i < 6; i++) + { + if (config.listSize[i].max <= config.listSize[i].min) + { + config.listSize[i].max = config.listSize[i - 1].max * 2; + config.listSize[i + 1].min = config.listSize[i].max + 1; + updateDBMinMax(config.listSize[i].min, config.listSize[i].max, config.listSize[i]._id); + updateDBMinMax(config.listSize[i + 1].min, config.listSize[i + 1].max, config.listSize[i]._id); + } + else + { + break; + } + } + App.Current.Dispatcher.Invoke(() => + { + wnd.updateListFishSize(config.auto_id); + }); + } + config.listSize[size - 1].disable = true; + if(config.mode_auto_count_check == 0) + { + config.listSize[3].max = (int)((double)valueChange * (double)(6 / size * 2)); + config.listSize[3].min = config.listSize[2].max + 1; + updateDBMinMax(config.listSize[3].min, config.listSize[3].max, config.listSize[3]._id); + + config.listSize[4].max = config.listSize[3].max * 4; + config.listSize[4].min = config.listSize[3].max + 1; + updateDBMinMax(config.listSize[4].min, config.listSize[4].max, config.listSize[4]._id); + + config.listSize[3].disable = true; + config.listSize[4].disable = true; + config.listSize[5].disable = true; + App.Current.Dispatcher.Invoke(() => + { + wnd.updateListFishSize(config.auto_id); + }); + } + config.mode_auto_count_check++; + break; + } + } + } + + public static void updateDBMinMax(int min, int max, string _id) + { + database db = new database(); + string txtQuery = $"UPDATE FishSize SET max={max}, min={min} WHERE _id='{_id}'"; + try + { + db.ExecuteQuery(txtQuery); + } + catch { } + } + + public static bool checkDisableAll(string auto_id) + { + foreach (ConfigFishSize config in _ListConfigFishSize) + { + if (config.auto_id == auto_id) + { + foreach(FishSize size in config.listSize) + { + if(size.disable == false) + { + return false; + } + } + return true; + } + } + return false; + } + + public static void changeModeFS(string id, string mode) + { + database db = new database(); + foreach (ConfigFishSize config in _ListConfigFishSize) + { + if(config.auto_id == id) + { + config.mode_setting = mode; + if (mode == "default") + { + int index = 0; + config.mode_auto_count_check = -1; + foreach (FishSizeLite size in getConfigDefault(config.auto_id)) + { + config.listSize[index].isChecked = Convert.ToBoolean(size.isChecked); + config.listSize[index].max = size.max; + config.listSize[index].min = size.min; + config.listSize[index].disable = true; + string txtQuery = $"UPDATE FishSize SET status={size.isChecked}, max={size.max}, min={size.min}, setting='default' WHERE _id='{config.listSize[index]._id}'"; + try + { + db.ExecuteQuery(txtQuery); + } + catch { } + index++; + } + wnd.updateListFishSize(config.auto_id); + } else if(mode == "custom") + { + int index = 0; + config.mode_auto_count_check = -1; + foreach (FishSizeLite size in getConfigDefault(config.auto_id)) + { + config.listSize[index].disable = true; + string txtQuery = $"UPDATE FishSize SET setting='custom' WHERE _id='{config.listSize[index]._id}'"; + try + { + db.ExecuteQuery(txtQuery); + } + catch { } + index++; + } + wnd.updateListFishSize(config.auto_id); + } else if(mode == "auto") + { + int index = 0; + config.mode_auto_count_check = 0; + foreach (FishSizeLite size in getConfigDefault(config.auto_id)) + { + //config.listSize[index].isChecked = Convert.ToBoolean(size.isChecked); + config.listSize[index].max = size.max; + config.listSize[index].min = size.min; + config.listSize[index].disable = false; + string txtQuery = $"UPDATE FishSize SET max={size.max}, min={size.min}, setting='auto' WHERE _id='{config.listSize[index]._id}'"; + try + { + db.ExecuteQuery(txtQuery); + } + catch { } + index++; + } + wnd.updateListFishSize(config.auto_id); + } else + { + if(getConfigByDeviceId(mode) != null) + { + int index = 0; + config.mode_auto_count_check = -1; + foreach (FishSizeLite size in getConfigByDeviceId(mode)) + { + config.listSize[index].isChecked = Convert.ToBoolean(size.isChecked); + config.listSize[index].max = size.max; + config.listSize[index].min = size.min; + config.listSize[index].disable = true; + string txtQuery = $"UPDATE FishSize SET status={size.isChecked}, max={size.max}, min={size.min}, setting='{mode}' WHERE _id='{config.listSize[index]._id}'"; + try + { + db.ExecuteQuery(txtQuery); + } + catch { } + index++; + } + wnd.updateListFishSize(config.auto_id); + } + } + break; + } + } + } + + public static List getConfigDefault(string auto_id) + { + emulator configEmu = emulator._EmulatorList.SingleOrDefault(r => r._id == auto_id); + string emulator_type = configEmu.emulator_type; + int handleWidth = 960; + if (emulator_type == "memu" || emulator_type == "nox" || emulator_type == "ldplayer") + { + IntPtr win = AutoControl.FindWindowHandle(null, configEmu.emulator_name); + IntPtr handle = AutoControl.FindHandle(win, "subWin", null); + Image handleGetSize = CaptureHelper.CaptureWindow(handle); + handleWidth = handleGetSize.Width == 1 ? handleWidth : handleGetSize.Width; + } + else if (emulator_type == "bluestacks") + { + IntPtr win = AutoControl.FindWindowHandle(null, configEmu.emulator_name); + IntPtr handle = AutoControl.FindHandle(win, "BlueStacksApp", null); + Image handleGetSize = CaptureHelper.CaptureWindow(handle); + handleWidth = handleGetSize.Width == 1 ? handleWidth : handleGetSize.Width; + } + + List defaultConfig = new List(); + int size1Max = (int)((double)(200 * handleWidth) / (double)960); + int size2Max = (int)((double)(400 * handleWidth) / (double)960); + int size3Max = (int)((double)(800 * handleWidth) / (double)960); + int size4Max = (int)((double)(1600 * handleWidth) / (double)960); + int size5Max = (int)((double)(6400 * handleWidth) / (double)960); + FishSizeLite size1 = new FishSizeLite(0, 1, size1Max); + FishSizeLite size2 = new FishSizeLite(0, size1Max + 1, size2Max); + FishSizeLite size3 = new FishSizeLite(0, size2Max + 1, size3Max); + FishSizeLite size4 = new FishSizeLite(0, size3Max + 1, size4Max); + FishSizeLite size5 = new FishSizeLite(0, size4Max + 1, size5Max); + FishSizeLite size6 = new FishSizeLite(0, size5Max + 1, 99999); + defaultConfig.Add(size1); + defaultConfig.Add(size2); + defaultConfig.Add(size3); + defaultConfig.Add(size4); + defaultConfig.Add(size5); + defaultConfig.Add(size6); + return defaultConfig; + } + + + public static List getConfigByDeviceId(string id) + { + database db = new database(); + List defaultConfig = new List(); + var dataFishSize = db.getDataFishSize(id); + if (dataFishSize.Rows.Count == 6) + { + foreach (DataRow rowFishSize in dataFishSize.Rows) + { + int min_FishSize = int.Parse(rowFishSize["min"].ToString()); + int max_FishSize = int.Parse(rowFishSize["max"].ToString()); + int status_FishSize = int.Parse(rowFishSize["status"].ToString()); + defaultConfig.Add(new FishSizeLite(status_FishSize, min_FishSize, max_FishSize)); + } + return defaultConfig; + } + return null; + } + } +} diff --git a/Auto_Demo/services/config/EnumAuto.cs b/Auto_Demo/services/config/EnumAuto.cs new file mode 100644 index 0000000..0ad9d0f --- /dev/null +++ b/Auto_Demo/services/config/EnumAuto.cs @@ -0,0 +1,488 @@ +using Auto_Demo.services.ml; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using AutoItX3Lib; +using System.Runtime.InteropServices; +using System.Drawing; + +namespace Auto_Demo.services.config +{ + + public class pointXY + { + public int x { get; set; } + public int y { get; set; } + + public pointXY(int _x, int _y) + { + x = _x; + y = _y; + } + } + public class percentXY + { + public double x { get; set; } + public double y { get; set; } + + public percentXY(double _x, double _y) + { + x = _x; + y = _y; + } + } + public class countColor + { + public Color color { get; set; } + public int count { get; set; } + + public countColor(Color _color, int _count) + { + color = _color; + count = _count; + } + } + + class EnumAuto + { + //-------- Lib --------// + + [DllImport("User32.dll")] + public static extern IntPtr GetDC(IntPtr hwnd); + [DllImport("User32.dll")] + public static extern void ReleaseDC(IntPtr hwnd, IntPtr dc); + public static AutoItX3 autoit = new AutoItX3(); + + //-------- Point --------// + + // toạ độ nút đóng thông tin cần câu + public static percentXY point_closeInfoFishingRod = new percentXY(70.52, 16.85); + + // toạ độ balo + public static percentXY point_Bag = new percentXY(95.66, 53.4); + // toạ độ tab cần câu + public static percentXY point_TabRod = new percentXY(79.58, 5.74); + // toạ độ tab phương tiện + public static percentXY point_TabVehicle = new percentXY(57.08, 6.11); + // toạ độ đóng balo + public static percentXY point_CloseBag = new percentXY(96.56, 6.48); + // toạ độ nút bảo quản cá + public static percentXY point_ButtonStore = new percentXY(77.78, 82.1); + + // toạ độ kiểm tra nút space + public static percentXY point_ButtonSpace1 = new percentXY(87.85, 82.1); + public static percentXY point_ButtonSpace2 = new percentXY(86.28, 78.09); + public static percentXY point_ButtonSpace3 = new percentXY(89.76, 78.9); + + // toạ độ nút sửa cần + sửa cần ok + public static percentXY point_ButtonFixRod = new percentXY(55.55, 75); + + // toạ độ nút quăng câu + public static percentXY point_ButtonTossSentence = new percentXY(79.69, 60.8); + + // toạ độ nút space + public static percentXY point_ButtonSpace = new percentXY(87.85, 78.7); + + // toạ độ check mở xong popup thông tin cần câu + public static percentXY point_PopupInfoRodShow = new percentXY(28.65, 63.89); + + // toạ độ check có hiện ba lô hay không, dùng để check xem có đang câu cá hay ko + public static percentXY point_IsBagDisplay = new percentXY(94.9, 51.3); + + // R1/R2 + public static double R1 = 5.21; + public static double R2 = 12; + public static double minSizeFish = 4; + + // toạ độ check level cá + public static percentXY point_LevelFish = new percentXY(80.31, 41.48); + + // toạ độ check level cá + public static percentXY point_checkVM = new percentXY(79.58, 26.11); + + + //-------- Area --------// + + // ô cần câu 1 + public static percentXY area_Rod1_TL = new percentXY(63.72, 27.47); + public static percentXY area_Rod1_BR = new percentXY(65.45, 30.56); + // ô cần câu 2 + public static percentXY area_Rod2_TL = new percentXY(79.17, 27.47); + public static percentXY area_Rod2_BR = new percentXY(80.9, 30.56); + // ô cần câu 3 + public static percentXY area_Rod3_TL = new percentXY(94.73, 27.47); + public static percentXY area_Rod3_BR = new percentXY(96.40, 30.56); + // ô cần câu 4 + public static percentXY area_Rod4_TL = new percentXY(63.72, 62.35); + public static percentXY area_Rod4_BR = new percentXY(65.45, 65.44); + // ô cần câu 5 + public static percentXY area_Rod5_TL = new percentXY(79.17, 62.35); + public static percentXY area_Rod5_BR = new percentXY(80.9, 65.44); + // ô cần câu 6 + public static percentXY area_Rod6_TL = new percentXY(94.73, 62.35); + public static percentXY area_Rod6_BR = new percentXY(96.40, 65.44); + + // danh sách toạ độ các ô cần câu (1-6) + public static List> list_FishingRod = new List>(); + + // khu vực tên cần câu + public static percentXY area_NameRod_TL = new percentXY(32.99, 13.27); + public static percentXY area_NameRod_BR = new percentXY(65.97, 22.53); + public static List area_NameFishingRod = new List { area_NameRod_TL, area_NameRod_BR }; + + // khu vực kiểm tra ngôn ngữ + public static percentXY area_LanguageCheck_TL = new percentXY(76.56, 9.26); + public static percentXY area_LanguageCheck_BR = new percentXY(82.8, 12.5); + public static List area_LanguageCheck = new List { area_LanguageCheck_TL, area_LanguageCheck_BR }; + + // khu vực kiểm tra tên cá + public static percentXY area_FishName_TL = new percentXY(65.73, 6.67); + public static percentXY area_FishName_BR = new percentXY(95.1, 17.04); + public static List area_FishName = new List { area_FishName_TL, area_FishName_BR }; + + // khu vực kiểm tra giá cá + public static percentXY area_FishPrice_TL = new percentXY(79.27, 45); + public static percentXY area_FishPrice_BR = new percentXY(86.04, 50.77); + public static List area_FishPrice = new List { area_FishPrice_TL, area_FishPrice_BR }; + + //-------- List --------// + + // list màu bỏ qua (ko check) + public static List list_ColorNoCheckFish = new List(); + public static List list_ColorColorFish = new List(); + public static List list_ColorXoayNuoc = new List(); + public static List list_ColorPhao = new List(); + public static List list_ColorFishCanCau = new List(); + public static Color color_NoCheck = ColorTranslator.FromHtml("#F5F5F5"); + public static List list_ColorFishNgay = new List(); + public static List list_ColorFishDem = new List(); + public static List list_ColorFishChuyenNgay = new List(); + public static List list_ColorFishChuyenDem = new List(); + + // thời tiết + public static List area_CheckWeather = new List(); + + public static void initListFishingRod() + { + + // List ô cần câu + + List o1 = new List(); + o1.Add(area_Rod1_TL); + o1.Add(area_Rod1_BR); + list_FishingRod.Add(o1); + List o2 = new List(); + o2.Add(area_Rod2_TL); + o2.Add(area_Rod2_BR); + list_FishingRod.Add(o2); + List o3 = new List(); + o3.Add(area_Rod3_TL); + o3.Add(area_Rod3_BR); + list_FishingRod.Add(o3); + List o4 = new List(); + o4.Add(area_Rod4_TL); + o4.Add(area_Rod4_BR); + list_FishingRod.Add(o4); + List o5 = new List(); + o5.Add(area_Rod5_TL); + o5.Add(area_Rod5_BR); + list_FishingRod.Add(o5); + List o6 = new List(); + o6.Add(area_Rod6_TL); + o6.Add(area_Rod6_BR); + list_FishingRod.Add(o6); + + // list màu bỏ qua + + //list_ColorNoCheckFish.Add("#00618C"); + //list_ColorNoCheckFish.Add("#0E183B"); + //list_ColorNoCheckFish.Add("#0E2243"); + //list_ColorNoCheckFish.Add("#07466B"); + //list_ColorNoCheckFish.Add("#312F4F"); + //list_ColorNoCheckFish.Add("#2F5B7F"); + //list_ColorNoCheckFish.Add("#69546F"); + //list_ColorNoCheckFish.Add("#0E2646"); + //list_ColorNoCheckFish.Add("#262849"); + //list_ColorNoCheckFish.Add("#C38262"); + //list_ColorNoCheckFish.Add("#2C2D52"); + //list_ColorNoCheckFish.Add("#FFFFFF"); + //list_ColorNoCheckFish.Add("#2F3E5A"); + //list_ColorNoCheckFish.Add("#64A6BE"); + //list_ColorNoCheckFish.Add("#CD959C"); + //list_ColorNoCheckFish.Add("#C48E97"); + //list_ColorNoCheckFish.Add("#5997B0"); + //list_ColorNoCheckFish.Add("#372113"); + //list_ColorNoCheckFish.Add("#5B9FB8"); + //list_ColorNoCheckFish.Add("#C097A0"); + //list_ColorNoCheckFish.Add("#72C9D9"); + + // màu helloween + + // ngày + list_ColorNoCheckFish.Add("#97BBB8"); + list_ColorNoCheckFish.Add("#6A7875"); + + // chuyển + list_ColorNoCheckFish.Add("#A0AAA2"); + list_ColorNoCheckFish.Add("#A3A399"); + list_ColorNoCheckFish.Add("#A89B8E"); + list_ColorNoCheckFish.Add("#B08D7C"); + list_ColorNoCheckFish.Add("#B6806B"); + list_ColorNoCheckFish.Add("#BD755C"); + list_ColorNoCheckFish.Add("#BF7158"); + + // chiều + list_ColorNoCheckFish.Add("#BF6B51"); + list_ColorNoCheckFish.Add("#BF7158"); + + // chuyển + list_ColorNoCheckFish.Add("#B2654E"); + list_ColorNoCheckFish.Add("#8D5245"); + list_ColorNoCheckFish.Add("#75463F"); + list_ColorNoCheckFish.Add("#633C3B"); + list_ColorNoCheckFish.Add("#4B3135"); + list_ColorNoCheckFish.Add("#3F2A32"); + list_ColorNoCheckFish.Add("#382631"); + + // tối + list_ColorNoCheckFish.Add("#2B202E"); + list_ColorNoCheckFish.Add("#2A202D"); + list_ColorNoCheckFish.Add("#181322"); + + // chuyển + list_ColorNoCheckFish.Add("#2B1928"); + list_ColorNoCheckFish.Add("#331C2A"); + list_ColorNoCheckFish.Add("#3D202D"); + list_ColorNoCheckFish.Add("#45232F"); + list_ColorNoCheckFish.Add("#4E2632"); + list_ColorNoCheckFish.Add("#612D38"); + list_ColorNoCheckFish.Add("#77343E"); + list_ColorNoCheckFish.Add("#874850"); + list_ColorNoCheckFish.Add("#8E7B7E"); + list_ColorNoCheckFish.Add("#909091"); + + + // màu action + list_ColorNoCheckFish.Add("#CACBD0"); + + // bóng mờ cá + list_ColorNoCheckFish.Add("#292A4F"); + list_ColorNoCheckFish.Add("#2C3454"); + list_ColorNoCheckFish.Add("#5B9FB8"); + + // màu nền mờ + list_ColorNoCheckFish.Add("#FEFEFD"); + list_ColorNoCheckFish.Add("#E9EFDB"); + + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#00618C")); + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#0E2243")); + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#07466B")); + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#0E2646")); + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#0E183B")); + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#312F4F")); + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#69546F")); + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#2F5B7F")); + //list_ColorColorFish.Add(ColorTranslator.FromHtml("#262849")); + + // ngày + list_ColorFishNgay.Add(ColorTranslator.FromHtml("#3C7E8C")); + list_ColorFishNgay.Add(ColorTranslator.FromHtml("#396771")); + list_ColorFishNgay.Add(ColorTranslator.FromHtml("#313334")); + list_ColorFishNgay.Add(ColorTranslator.FromHtml("#36545B")); + list_ColorFishNgay.Add(ColorTranslator.FromHtml("#3B7581")); + + // tối + list_ColorFishDem.Add(ColorTranslator.FromHtml("#010214")); + list_ColorFishDem.Add(ColorTranslator.FromHtml("#050615")); + + list_ColorFishDem.Add(ColorTranslator.FromHtml("#0F0F17")); + + + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#0B0618")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#4A6F76")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#5B5D5D")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#6C4C44")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#6D3B31")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#423E3D")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#44283B")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#492927")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#383340")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#28171E")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#0A0716")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#3F596A")); + + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#39182A")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#401C2D")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#3D4957")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#30242D")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#190C1D")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#070617")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#211521")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#2F1E27")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#313B43")); + + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#19111E")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#221622")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#2D1C27")); + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#302B34")); + + //mưa + list_ColorFishChuyenNgay.Add(ColorTranslator.FromHtml("#100F1B")); + + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#47727B")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#5C5D5C")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#11081A")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#1E0D1F")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#2C1225")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#39162A")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#433245")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#405364")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#405364")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#63362E")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#694F48")); + + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#392826")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#405465")); + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#3D7786")); + + list_ColorFishChuyenDem.Add(ColorTranslator.FromHtml("#3F4344")); + + // ngày + list_ColorColorFish.Add(ColorTranslator.FromHtml("#3C7E8C")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#396771")); + + // tối + list_ColorColorFish.Add(ColorTranslator.FromHtml("#010214")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#050615")); + + // chuyển + list_ColorColorFish.Add(ColorTranslator.FromHtml("#11081A")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#1E0D1F")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#2C1225")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#39162A")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#433245")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#405364")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#405364")); + + + list_ColorColorFish.Add(ColorTranslator.FromHtml("#4A6F76")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#5B5D5D")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#6C4C44")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#6D3B31")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#423E3D")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#492927")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#383340")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#28171E")); + list_ColorColorFish.Add(ColorTranslator.FromHtml("#0A0716")); + + list_ColorColorFish.Add(ColorTranslator.FromHtml("#222224")); + + + // xoáy nước + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#425979")); + + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#73CBE6")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#73D4EE")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#73D3F3")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#72BCDA")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#7CA3D5")); + + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#DBABB2")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#D19EA7")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#DCC7D1")); + + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#35365B")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#464B72")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#92819D")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#34D1FF")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#254688")); + + + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#65ACD4")); + //list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#B0C9E2")); + + // ngày + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#ACD3D1")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#9BC0BD")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#B1F1F2")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#AED8D8")); + + // chuyển + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#BCDEDD")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#B6C1BD")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#B0A99D")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#C5C6BB")); + + // chiều + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#D0BDAE")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#D7AF9D")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#DE9983")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#CD836C")); + + // chuyển + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#9F7875")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#835A57")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#796469")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#573C41")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#6E5B64")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#463B47")); + + // tối + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#312F3F")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#3D4258")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#534957")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#201E2F")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#354158")); + + // chuyển + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#4E495C")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#3F394D")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#392634")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#5C4D63")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#674755")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#774E5D")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#844955")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#B16E7A")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#9C6671")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#9F91A0")); + list_ColorXoayNuoc.Add(ColorTranslator.FromHtml("#998388")); + + // màu phao câu + list_ColorPhao.Add(ColorTranslator.FromHtml("#63331E")); + list_ColorPhao.Add(ColorTranslator.FromHtml("#793E23")); + list_ColorPhao.Add(ColorTranslator.FromHtml("#29170F")); + list_ColorPhao.Add(ColorTranslator.FromHtml("#2E180F")); + list_ColorPhao.Add(ColorTranslator.FromHtml("#331910")); + list_ColorPhao.Add(ColorTranslator.FromHtml("#3B1E13")); + list_ColorPhao.Add(ColorTranslator.FromHtml("#472517")); + + + // 8h - 18h + list_ColorFishCanCau.Add(ColorTranslator.FromHtml("#36545B")); + + // 19h - 2xh + list_ColorFishCanCau.Add(ColorTranslator.FromHtml("#010214")); + + // 2h - 4h + list_ColorFishCanCau.Add(ColorTranslator.FromHtml("#0F0F17")); + + //miaw + list_ColorFishCanCau.Add(ColorTranslator.FromHtml("#1B1B1B")); + + + // thời tiết + area_CheckWeather.Add(new percentXY(20, 25)); + area_CheckWeather.Add(new percentXY(50, 25)); + area_CheckWeather.Add(new percentXY(80, 25)); + + area_CheckWeather.Add(new percentXY(20, 50)); + area_CheckWeather.Add(new percentXY(80, 50)); + + area_CheckWeather.Add(new percentXY(20, 75)); + area_CheckWeather.Add(new percentXY(50, 75)); + area_CheckWeather.Add(new percentXY(80, 75)); + } + } +} diff --git a/Auto_Demo/services/config/FishSize.cs b/Auto_Demo/services/config/FishSize.cs new file mode 100644 index 0000000..e7d9a9b --- /dev/null +++ b/Auto_Demo/services/config/FishSize.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Auto_Demo.services.config +{ + public class FishSize + { + public string _id { get; set; } + public int size { get; set; } + public int min { get; set; } + public int max { get; set; } + public bool isChecked { get; set; } + public string auto_id { get; set; } + public bool disable { get; set; } + public int X { get; set; } + public int Y { get; set; } + + public FishSize(string id, int _size, int _min, int _max, int _isChecked, string _auto_id, bool _disable = true) + { + _id = id; + size = _size; + min = _min; + max = _max; + isChecked = Convert.ToBoolean(_isChecked); + auto_id = _auto_id; + disable = _disable; + switch (_size) + { + case 1: + X = 0; + Y = 0; + break; + case 2: + X = 0; + Y = 1; + break; + case 3: + X = 0; + Y = 2; + break; + case 4: + X = 1; + Y = 0; + break; + case 5: + X = 1; + Y = 1; + break; + case 6: + X = 1; + Y = 2; + break; + } + } + } + + public class FishSizeLite + { + public int isChecked { get; set; } + public int min { get; set; } + public int max { get; set; } + + public FishSizeLite(int _isChecked, int _min, int _max) + { + isChecked = _isChecked; + min = _min; + max = _max; + } + } +} diff --git a/Auto_Demo/services/config/FishingRod.cs b/Auto_Demo/services/config/FishingRod.cs new file mode 100644 index 0000000..f0c1b3a --- /dev/null +++ b/Auto_Demo/services/config/FishingRod.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace Auto_Demo.services.config +{ + public class FishingRodConfig + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public static ObservableCollection _ListFishingRodConfig = new ObservableCollection(); + + public string _id { get; set; } + public string auto_id { get; set; } + public int fishing_rod_1 { get; set; } + public int fishing_rod_2 { get; set; } + public bool change_fishing_rod { get; set; } + public int step_change { get; set; } + public bool get_info_rod { get; set; } + + public FishingRodConfig(string id, string _auto_id, int _fishing_rod_1, int _fishing_rod_2, int _change_fishing_rod, int _step_change, int _get_info_rod, bool isNew = false) + { + _id = id; + auto_id = _auto_id; + fishing_rod_1 = _fishing_rod_1; + fishing_rod_2 = _fishing_rod_2; + change_fishing_rod = Convert.ToBoolean(_change_fishing_rod); + step_change = _step_change; + get_info_rod = Convert.ToBoolean(_get_info_rod); + _ListFishingRodConfig.Add(this); + + if(isNew) + { + wnd.updateConfigFishingRod(_auto_id); + } + } + + public static FishingRodConfig getFishingRodByIdAuto(string id) + { + foreach (FishingRodConfig data in _ListFishingRodConfig) + { + if (data.auto_id == id) + { + return data; + } + } + return null; + } + + public static void changeDataFishingRod(string id, int value, string field) + { + database db = new database(); + string txtQuery = $"UPDATE FishingRod SET {field}={value} WHERE _id='{id}'"; + try + { + db.ExecuteQuery(txtQuery); + switch(field) + { + case "fishing_rod_1": + _ListFishingRodConfig.Where(item => item._id == id).ToList().ForEach(s => s.fishing_rod_1 = value); + break; + case "fishing_rod_2": + _ListFishingRodConfig.Where(item => item._id == id).ToList().ForEach(s => s.fishing_rod_2 = value); + break; + case "change_fishing_rod": + _ListFishingRodConfig.Where(item => item._id == id).ToList().ForEach(s => s.change_fishing_rod = Convert.ToBoolean(value)); + break; + case "step_change": + _ListFishingRodConfig.Where(item => item._id == id).ToList().ForEach(s => s.step_change = value); + break; + case "get_info_rod": + _ListFishingRodConfig.Where(item => item._id == id).ToList().ForEach(s => s.get_info_rod = Convert.ToBoolean(value)); + break; + } + + } + catch { } + } + + public static void removeConfigFishingRod(string idAuto) + { + database db = new database(); + var itemToRemove = _ListFishingRodConfig.Single(r => r.auto_id == idAuto); + string txtQuery = $"DELETE FROM FishingRod WHERE _id='{itemToRemove._id}'"; + + try + { + db.ExecuteQuery(txtQuery); + _ListFishingRodConfig.Remove(itemToRemove); + } catch { } + } + } + + public class FishingRod + { + public static ObservableCollection _ListFishingRod = new ObservableCollection(); + + public string label { get; set; } + public int value { get; set; } + public string icon { get; set; } + + public FishingRod(string _label, int _value, string _icon) + { + label = _label; + value = _value; + icon = _icon; + } + + public static void CreateListFishingRod() + { + _ListFishingRod.Add(new FishingRod("Cần câu nhánh cây", 1, "images/fishing-rod/01.png")); + _ListFishingRod.Add(new FishingRod("Cần câu mèo", 2, "images/fishing-rod/02.png")); + _ListFishingRod.Add(new FishingRod("Cần câu đơn giản", 3, "images/fishing-rod/03.png")); + _ListFishingRod.Add(new FishingRod("Cần câu phao vịt", 4, "images/fishing-rod/04.png")); + _ListFishingRod.Add(new FishingRod("Cần câu không chuyên", 5, "images/fishing-rod/05.png")); + _ListFishingRod.Add(new FishingRod("Cần câu chuyên nghiệp", 6, "images/fishing-rod/06.png")); + _ListFishingRod.Add(new FishingRod("Cần câu xiếc sư tử", 7, "images/fishing-rod/07.png")); + _ListFishingRod.Add(new FishingRod("Cần câu gậy thần kỳ", 8, "images/fishing-rod/08.png")); + _ListFishingRod.Add(new FishingRod("Cần câu kiếm huyền thoại", 9, "images/fishing-rod/09.png")); + _ListFishingRod.Add(new FishingRod("Cần câu gậy phép thuật", 9, "images/fishing-rod/10.png")); + } + } +} diff --git a/Auto_Demo/services/config/common.cs b/Auto_Demo/services/config/common.cs new file mode 100644 index 0000000..5420d5d --- /dev/null +++ b/Auto_Demo/services/config/common.cs @@ -0,0 +1,280 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace Auto_Demo.services.config +{ + class fastConfigFishSize + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public static List _FastConfigFishSizeList = new List(); + public string value { get; set; } + public string label { get; set; } + + public fastConfigFishSize(string _value, string _label) + { + value = _value; + label = _label; + fastConfigFishSize._FastConfigFishSizeList.Add(this); + wnd.updateListFastFishSize(); + } + + public static int getConfigMode(string value) + { + for (int i = 0; i < _FastConfigFishSizeList.Count; i++) + { + if (value == _FastConfigFishSizeList[i].value) + { + return i; + } + } + return 0; + } + } + + class languageConfig + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public static List _LanguageList = new List(); + public int value { get; set; } + public string label { get; set; } + + public languageConfig(int _value, string _label) + { + value = _value; + label = _label; + _LanguageList.Add(this); + wnd.updateListLanguage(-1); + } + + public static void initLanguageList() + { + if(_LanguageList.Count == 0) + { + new languageConfig(0, "Tiếng Việt"); + new languageConfig(1, "English"); + } + } + + public static int getLanguageByAutoId(string autoId) + { + ConfigAuto configAuto = ConfigAuto._ListConfigAuto.SingleOrDefault(r => r.auto_id == autoId); + return configAuto.language; + } + } + + public class SummaryTotal + { + public int quangCan { get; set; } + public int boQuaCa { get; set; } + public int dutDay { get; set; } + public int cauLoi { get; set; } + public int soCa { get; set; } + public int doTaiChe { get; set; } + public int tienBanCa { get; set; } + public int tienSuaCan { get; set; } + + public SummaryTotal(int _quangCan, int _boQuaCa, int _dutDay, int _cauLoi, int _soCa, int _doTaiChe, int _tienBanCa, int _tienSuaCan) + { + quangCan = _quangCan; + boQuaCa = _boQuaCa; + dutDay = _dutDay; + cauLoi = _cauLoi; + soCa = _soCa; + doTaiChe = _doTaiChe; + tienBanCa = _tienBanCa; + tienSuaCan = _tienSuaCan; + } + } + + public class SummaryTotalTime + { + public int hour { get; set; } + public int minute { get; set; } + public int second { get; set; } + + public SummaryTotalTime() + { + hour = 0; + minute = 0; + second = 0; + } + } + + public class SummaryFish + { + public int stt { get; set; } + public int id { get; set; } + public int money { get; set; } + public int size { get; set; } + public int level { get; set; } + public int shadow { get; set; } + public string image { get; set; } + public string colorBackground { get; set; } + public string colorBorder { get; set; } + public string iconMoney { get; set; } + public string sizeText { get; set; } + public Visibility isVM { get; set; } + + public SummaryFish(int _stt, int _id, int _money, int _size, int _level, int _shadow, bool _isVM = false) + { + stt = _stt; + id = _id; + money = _money; + size = _size; + level = _level; + shadow = _shadow; + image = $"images/fish/{_id}.png"; + isVM = _isVM ? Visibility.Visible : Visibility.Hidden; + switch (_level) + { + case 1: + colorBackground = "#19E4E0C5"; + colorBorder = "#FFE4E0C5"; + iconMoney = "images/icon/icon_money_1.png"; + break; + case 2: + colorBackground = "#19A3E467"; + colorBorder = "#FFA3E467"; + iconMoney = "images/icon/icon_money_1.png"; + break; + case 3: + colorBackground = "#1959C6D9"; + colorBorder = "#FF59C6D9"; + iconMoney = "images/icon/icon_money_1.png"; + break; + case 4: + colorBackground = "#19E793E8"; + colorBorder = "#FFE793E8"; + iconMoney = "images/icon/icon_money_1.png"; + break; + case 0: + colorBackground = "#19DDEDEE"; + colorBorder = "#FFDDEDEE"; + iconMoney = "images/icon/icon_recycle_1.png"; + break; + default: + colorBackground = "#19DDEDEE"; + colorBorder = "#FFDDEDEE"; + iconMoney = "images/icon/icon_recycle_1.png"; + break; + } + switch (_size) + { + case 1: + sizeText = "bóng 1"; + break; + case 2: + sizeText = "bóng 2"; + break; + case 3: + sizeText = "bóng 3"; + break; + case 4: + sizeText = "bóng 4"; + break; + case 5: + sizeText = "bóng 5"; + break; + case 0: + sizeText = ""; + break; + default: + sizeText = ""; + break; + } + } + } + + public class SummaryFishSort + { + public int sortSTT { get; set; } + public int sortLevel { get; set; } + public int sortMoney { get; set; } + public int sortSize { get; set; } + public int sortShadow { get; set; } + public List listSort { get; set; } + public int typeSort { get; set; } + public int typeSelect { get; set; } + public int page { get; set; } + public int Totalpage { get; set; } + + public SummaryFishSort() + { + sortSTT = 0; + sortLevel = -1; + sortMoney = 0; + sortSize = 0; + sortShadow = 0; + listSort = new List(); + typeSort = 1; + typeSelect = 2; + page = 1; + Totalpage = 1; + } + } + + class itemSelectLevel + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public static List _LevelList = new List(); + public int value { get; set; } + public string label { get; set; } + public string color { get; set; } + + public itemSelectLevel(int _value, string _label, string _color) + { + value = _value; + label = _label; + color = _color; + _LevelList.Add(this); + wnd.updateListLevel(0); + } + + public static void initLevelList() + { + if (_LevelList.Count == 0) + { + new itemSelectLevel(-1, "Tất cả", "#FF7D7D85"); + new itemSelectLevel(1, "Basic", "#FFE4E0C5"); + new itemSelectLevel(2, "Trendy", "#FFA3E467"); + new itemSelectLevel(3, "Luxury", "#FF59C6D9"); + new itemSelectLevel(4, "VIP", "#FFE793E8"); + new itemSelectLevel(0, "Trash", "#FFDDEDEE"); + } + } + } + + class itemSelectSize + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public static List _SizeList = new List(); + public int value { get; set; } + public string label { get; set; } + + public itemSelectSize(int _value, string _label) + { + value = _value; + label = _label; + _SizeList.Add(this); + wnd.updateListSize(0); + } + + public static void initSizeList() + { + if (_SizeList.Count == 0) + { + new itemSelectSize(0, "Tất cả"); + new itemSelectSize(1, "Bóng 1"); + new itemSelectSize(2, "Bóng 2"); + new itemSelectSize(3, "Bóng 3"); + new itemSelectSize(4, "Bóng 4"); + new itemSelectSize(5, "Bóng 5"); + } + } + } +} diff --git a/Auto_Demo/services/database.cs b/Auto_Demo/services/database.cs new file mode 100644 index 0000000..758315c --- /dev/null +++ b/Auto_Demo/services/database.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Data.SQLite; +using System.Data; + +namespace Auto_Demo.services +{ + class database + { + private SQLiteConnection sql_con; + private SQLiteCommand sql_cmd; + private SQLiteDataAdapter DB; + private DataSet DS = new DataSet(); + private DataTable DT = new DataTable(); + + private void SetConnection() + { + sql_con = new SQLiteConnection("Data Source=database/database.db;Version=3;New=False;Compress=True;"); + } + + public void ExecuteQuery(string txtQuery) + { + SetConnection(); + sql_con.Open(); + sql_cmd = sql_con.CreateCommand(); + sql_cmd.CommandText = txtQuery; + sql_cmd.ExecuteNonQuery(); + sql_con.Close(); + } + + public DataTable getDataTable(string tabelName) + { + SetConnection(); + sql_con.Open(); + sql_cmd = sql_con.CreateCommand(); + string CommandText = $"SELECT * FROM {tabelName}"; + this.DB = new SQLiteDataAdapter(CommandText, sql_con); + this.DS.Reset(); + this.DB.Fill(this.DS); + this.DT = this.DS.Tables[0]; + sql_con.Close(); + return this.DT; + } + + public DataTable getDataFishSize(string id_auto) + { + SetConnection(); + sql_con.Open(); + sql_cmd = sql_con.CreateCommand(); + string CommandText = $"SELECT * FROM FishSize WHERE auto_id='{id_auto}' ORDER BY size ASC"; + this.DB = new SQLiteDataAdapter(CommandText, sql_con); + this.DS.Reset(); + this.DB.Fill(this.DS); + this.DT = this.DS.Tables[0]; + sql_con.Close(); + return this.DT; + } + + public DataTable getDataFishingRodByIdAuto(string id_auto) + { + SetConnection(); + sql_con.Open(); + sql_cmd = sql_con.CreateCommand(); + string CommandText = $"SELECT * FROM FishingRod WHERE auto_id='{id_auto}'"; + this.DB = new SQLiteDataAdapter(CommandText, sql_con); + this.DS.Reset(); + this.DB.Fill(this.DS); + this.DT = this.DS.Tables[0]; + sql_con.Close(); + return this.DT; + } + + public DataTable getDataConfigAutoByIdAuto(string id_auto) + { + SetConnection(); + sql_con.Open(); + sql_cmd = sql_con.CreateCommand(); + string CommandText = $"SELECT * FROM Config WHERE auto_id='{id_auto}'"; + this.DB = new SQLiteDataAdapter(CommandText, sql_con); + this.DS.Reset(); + this.DB.Fill(this.DS); + this.DT = this.DS.Tables[0]; + sql_con.Close(); + return this.DT; + } + + public DataTable getDataCategoryFish(int language, int level, int words) + { + SetConnection(); + sql_con.Open(); + sql_cmd = sql_con.CreateCommand(); + string CommandText = ""; + if (language == 0) + { + CommandText = $"SELECT * FROM Fish WHERE level={level} AND words_vi={words}"; + } else + { + CommandText = $"SELECT * FROM Fish WHERE level={level} AND words_en={words}"; + } + this.DB = new SQLiteDataAdapter(CommandText, sql_con); + this.DS.Reset(); + this.DB.Fill(this.DS); + this.DT = this.DS.Tables[0]; + sql_con.Close(); + return this.DT; + } + } +} diff --git a/Auto_Demo/services/emulator.cs b/Auto_Demo/services/emulator.cs new file mode 100644 index 0000000..97080db --- /dev/null +++ b/Auto_Demo/services/emulator.cs @@ -0,0 +1,142 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace Auto_Demo.services +{ + public class emulator + { + public static MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public string _id { get; set; } + public string name { get; set; } + public string emulator_id { get; set; } + public string emulator_name { get; set; } + public string emulator_type { get; set; } + public string className { get; set; } + public string text { get; set; } + public string icon { get; set; } + public bool isActive { get; set; } + + // Config + + public bool isAuto { get; set; } + public int tabSelect { get; set; } + + public static ObservableCollection _EmulatorList = new ObservableCollection(); + + public emulator(string _id, string name, string emulator_id, string emulator_name, string emulator_type, bool isNew = false) + { + this._id = _id; + this.name = name; + this.emulator_id = emulator_id; + this.emulator_name = emulator_name; + this.emulator_type = emulator_type; + //this.className = _className; + //this.text = _text; + this.isActive = false; + this.isAuto = false; + this.tabSelect = 0; + switch (emulator_type) + { + case "custom": + this.icon = "images/android.png"; + break; + case "bluestacks": + this.icon = "images/bluestacks.png"; + break; + case "ldplayer": + this.icon = "images/ldplayer.png"; + break; + case "nox": + this.icon = "images/nox.png"; + break; + case "memu": + this.icon = "images/memu.png"; + break; + } + emulator._EmulatorList.Add(this); + if (isNew) + { + wnd.updateListEmulator(_id); + } else + { + wnd.updateListEmulator(); + } + + + } + + public static void changeActive(string idActive) + { + foreach(emulator emu in emulator._EmulatorList) + { + if (emu.isActive) + { + emu.isActive = false; + } else if (emu._id == idActive) + { + emu.isActive = true; + } + } + App.Current.Dispatcher.Invoke((Action)delegate + { + wnd.updateListEmulator(); + }); + + } + + public static void removeAllActive() + { + foreach (emulator emu in emulator._EmulatorList) + { + if (emu.isActive) + { + emu.isActive = false; + } + } + wnd.updateListEmulator(); + } + + public static emulator getEmulatorById(string id) + { + foreach (emulator emu in emulator._EmulatorList) + { + if (emu._id == id) + { + return emu; + } + } + return null; + } + + public static void removeEmulatorById(string id) + { + foreach (emulator emu in emulator._EmulatorList) + { + if (emu._id == id) + { + _EmulatorList.Remove(emu); + wnd.updateListEmulator(); + break; + } + } + } + + public static string getEmulatorIdActive() + { + foreach (emulator emu in emulator._EmulatorList) + { + if (emu.isActive) + { + return emu._id; + } + } + return ""; + } + } +} diff --git a/Auto_Demo/services/ml/Fish.cs b/Auto_Demo/services/ml/Fish.cs new file mode 100644 index 0000000..4ffd697 --- /dev/null +++ b/Auto_Demo/services/ml/Fish.cs @@ -0,0 +1,227 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace Auto_Demo.services.ml +{ + class Fish + { + + public static List _FishList = new List(); + + public int no { get; set; } + public string name_vi { get; set; } + public string name_check_vi { get; set; } + public string[] name_arr_vi { get; set; } + public int words_vi { get; set; } + public string name_en { get; set; } + public string name_check_en { get; set; } + public string[] name_arr_en { get; set; } + public int words_en { get; set; } + public int size { get; set; } + public int level { get; set; } + + public Fish(int _no, string _name_vi, string _name_check_vi, int _words_vi, string _name_en, string _name_check_en, int _words_en, int _size, int _level) + { + no = _no; + name_vi = _name_vi; + name_check_vi = _name_check_vi; + name_arr_vi = name_check_vi.Split(new[] { ' ' }); + words_vi = _words_vi; + name_en = _name_en; + name_check_en = _name_check_en; + name_arr_en = name_check_en.Split(new[] { ' ' }); + words_en = _words_en; + size = _size; + level = _level; + + _FishList.Add(this); + } + + public Fish() + { + no = 0; + name_vi = ""; + name_check_vi = ""; + name_arr_vi = name_check_vi.Split(new[] { ' ' }); + words_vi = 0; + name_en = ""; + name_check_en = ""; + name_arr_en = name_check_en.Split(new[] { ' ' }); + words_en = 0; + size = 0; + level = 0; + + _FishList.Add(this); + } + + public void clone(Fish item) + { + this.no = item.no; + this.name_vi = item.name_vi; + this.name_check_vi = item.name_check_vi; + this.name_arr_vi = item.name_arr_vi; + this.words_vi = item.words_vi; + this.name_en = item.name_en; + this.name_check_en = item.name_check_en; + this.name_arr_en = item.name_arr_en; + this.words_en = item.words_en; + this.size = item.size; + this.level = item.level; + } + + public static void initListFish() + { + database db = new database(); + var data = db.getDataTable("Fish"); + + foreach (DataRow rowFish in data.Rows) + { + int no = int.Parse(rowFish["no"].ToString()); + string name_vi = rowFish["name_vi"].ToString(); + string name_check_vi = rowFish["name_check_vi"].ToString(); + int words_vi = int.Parse(rowFish["words_vi"].ToString()); + string name_en = rowFish["name_en"].ToString(); + string name_check_en = rowFish["name_check_en"].ToString(); + int words_en = int.Parse(rowFish["words_en"].ToString()); + int size = int.Parse(rowFish["size"].ToString()); + int level = int.Parse(rowFish["level"].ToString()); + new Fish(no, name_vi, name_check_vi, words_vi, name_en, name_check_en, words_en, size, level); + } + + List _listFishCheck = _FishList.Where(x => x.level == 1 && x.words_vi == 2).ToList(); + //Debug.WriteLine(_FishList); + } + + public static Fish getFishName(string nameRaw, int level, bool isVM, int language) + { + nameRaw = Regex.Replace(nameRaw, @"\r\n?|\n", " ").Trim(); + string nameOK = RemoveSpecialCharacters(RemoveUnicode(nameRaw)); + Debug.WriteLine(nameOK); + string[] nameClearArr = nameOK.Split(new[] { ' ' }); + var nameClearArrCut = nameClearArr; + if (isVM) + { + if(language == 0) { + nameClearArrCut = nameClearArrCut.Take(nameClearArrCut.Count() - 1).ToArray(); + nameClearArrCut = nameClearArrCut.Take(nameClearArrCut.Count() - 1).ToArray(); + } else + { + nameClearArrCut = nameClearArrCut.Skip(1).ToArray(); + } + } + Debug.WriteLine(nameClearArrCut.Length); + if(nameClearArrCut.Length == 3 && nameClearArrCut[1] == "xe") + { + Debug.WriteLine(""); + } + foreach(string text in nameClearArrCut) + { + Debug.WriteLine(text); + } + if (language == 0) + { + List _listFishCheck = _FishList.Where(x => x.level == level && x.words_vi == nameClearArrCut.Length).ToList(); + int countMax = 0; + Fish res = new Fish(); + + foreach (Fish fish in _listFishCheck) + { + int count = 0; + for (int i = 0; i < fish.name_arr_vi.Length; i++) + { + for (int j = 0; j < fish.name_arr_vi[i].Length; j++) + { + try + { + if (fish.name_arr_vi[i][j] == nameClearArrCut[i][j]) + { + count++; + } + } + catch + { + + } + } + } + if (count > countMax) + { + countMax = count; + res.clone(fish); + } + } + return res; + } else + { + List _listFishCheck = _FishList.Where(x => x.level == level && x.words_en == nameClearArrCut.Length).ToList(); + int countMax = 0; + Fish res = new Fish(); + + foreach (Fish fish in _listFishCheck) + { + int count = 0; + for (int i = 0; i < fish.name_arr_en.Length; i++) + { + for (int j = 0; j < fish.name_arr_en[i].Length; j++) + { + try + { + if (fish.name_arr_en[i][j] == nameClearArrCut[i][j]) + { + count++; + } + } + catch + { + + } + } + } + if (count > countMax) + { + countMax = count; + res.clone(fish); + } + } + return res; + } + } + + public static string RemoveSpecialCharacters(string input) + { + input = input.TrimEnd(new char[] { '\r', '\n' }); + Regex r = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled); + return r.Replace(input, String.Empty); + } + + public static string RemoveUnicode(string text) + { + string[] arr1 = new string[] { "á", "à", "ả", "ã", "ạ", "â", "ấ", "ầ", "ẩ", "ẫ", "ậ", "ă", "ắ", "ằ", "ẳ", "ẵ", "ặ", + "đ", + "é","è","ẻ","ẽ","ẹ","ê","ế","ề","ể","ễ","ệ", + "í","ì","ỉ","ĩ","ị", + "ó","ò","ỏ","õ","ọ","ô","ố","ồ","ổ","ỗ","ộ","ơ","ớ","ờ","ở","ỡ","ợ", + "ú","ù","ủ","ũ","ụ","ư","ứ","ừ","ử","ữ","ự", + "ý","ỳ","ỷ","ỹ","ỵ",}; + string[] arr2 = new string[] { "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", + "d", + "e","e","e","e","e","e","e","e","e","e","e", + "i","i","i","i","i", + "o","o","o","o","o","o","o","o","o","o","o","o","o","o","o","o","o", + "u","u","u","u","u","u","u","u","u","u","u", + "y","y","y","y","y",}; + for (int i = 0; i < arr1.Length; i++) + { + text = text.Replace(arr1[i], arr2[i]); + text = text.Replace(arr1[i].ToUpper(), arr2[i].ToUpper()); + } + return text; + } + } +} diff --git a/Auto_Demo/services/ml/ImageToText.cs b/Auto_Demo/services/ml/ImageToText.cs new file mode 100644 index 0000000..6edbad8 --- /dev/null +++ b/Auto_Demo/services/ml/ImageToText.cs @@ -0,0 +1,220 @@ +using Auto_Demo.services.config; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace Auto_Demo.services.ml +{ + public class FishingRodDetect { + public int id { get; set; } + public string name { get; set; } + public string nameDetect { get; set; } + public string[] nameArr { get; set; } + public int slot { get; set; } + public int remaining { get; set; } + public int repairCost { get; set; } + public int index { get; set; } + public percentXY point { get; set; } + + public FishingRodDetect() + { + id = 0; + name = ""; + nameDetect = ""; + nameArr = name.Split(new[] { ' ' }); + slot = 0; + remaining = 0; + repairCost = 0; + } + + public FishingRodDetect(int _id, string _name, string _nameDetect, int _slot, int _repairCost) + { + id = _id; + name = _name; + nameDetect = _nameDetect; + nameArr = name.Split(new[] {' '}); + slot = _slot; + remaining = _slot; + repairCost = _repairCost; + } + + public void clone(FishingRodDetect item) + { + this.id = item.id; + this.name = item.name; + this.nameDetect = item.nameDetect; + this.nameArr = item.nameArr; + this.slot = item.slot; + this.remaining = item.remaining; + this.index = item.index; + this.point = item.point; + this.repairCost = item.repairCost; + } + } + + public class ImageToText + { + + public static List _listFishingRod = new List(); + public static List _listFishingRodEN = new List(); + public static FishingRodDetect getFishingName(string nameRaw) + { + Debug.WriteLine(nameRaw); + string[] nameClearArr = RemoveSpecialCharacters(RemoveUnicode(nameRaw)).Split(new[] { ' ' }); + var nameClearArrCut = nameClearArr.Skip(1).ToArray().Skip(1).ToArray(); + //string name = string.Join(" ", Client); + int countMax = 0; + FishingRodDetect res = new FishingRodDetect(); + + foreach (FishingRodDetect rod in _listFishingRod) + { + int count = 0; + for(int i = 0; i < rod.nameArr.Length; i++) + { + for(int j = 0; j < rod.nameArr[i].Length; j++) + { + try + { + if (rod.nameArr[i][j] == nameClearArrCut[i][j]) + { + count++; + } + } catch + { + + } + } + } + if (count > countMax) + { + countMax = count; + res.clone(rod); + } + } + return res; + } + + public static FishingRodDetect getFishingNameEN(string nameRaw) + { + string[] nameClearArr = RemoveSpecialCharacters(RemoveUnicode(nameRaw)).Split(new[] { ' ' }); + var nameClearArrCut = nameClearArr.Take(nameClearArr.Count() - 1).ToArray(); + //string name = string.Join(" ", Client); + int countMax = 0; + FishingRodDetect res = new FishingRodDetect(); + + foreach (FishingRodDetect rod in _listFishingRodEN) + { + int count = 0; + for (int i = 0; i < rod.nameArr.Length; i++) + { + for (int j = 0; j < rod.nameArr[i].Length; j++) + { + try + { + if (rod.nameArr[i][j] == nameClearArrCut[i][j]) + { + count++; + } + } + catch + { + + } + } + } + if (count > countMax) + { + countMax = count; + res.clone(rod); + } + } + return res; + } + + public static void initNameFishing() + { + if (_listFishingRod.Count == 0) + { + _listFishingRod.Add(new FishingRodDetect(1, "nhánh cây", "nhanh cay", 15, 100)); + _listFishingRod.Add(new FishingRodDetect(2, "mèo", "meo", 20, 180)); + _listFishingRod.Add(new FishingRodDetect(3, "đơn giản", "don gian", 35, 500)); + _listFishingRod.Add(new FishingRodDetect(4, "phao vịt", "phao vit", 35, 500)); + _listFishingRod.Add(new FishingRodDetect(5, "không chuyên", "khong chuyen", 40, 750)); + _listFishingRod.Add(new FishingRodDetect(6, "chuyên nghiệp", "chuyen nghiep", 80, 1500)); + _listFishingRod.Add(new FishingRodDetect(7, "xiếc sư tử", "xiec su tu", 80, 750)); + _listFishingRod.Add(new FishingRodDetect(8, "gậy thần kỳ", "gay than ky", 80, 750)); + _listFishingRod.Add(new FishingRodDetect(9, "kiếm huyền thoại", "kiem huyen thoai", 80, 750)); + _listFishingRod.Add(new FishingRodDetect(10, "gậy phép thuật", "gay phep thuat", 80, 2000)); + } + + if (_listFishingRodEN.Count == 0) + { + _listFishingRodEN.Add(new FishingRodDetect(1, "Wooden", "Wooden", 15, 100)); + _listFishingRodEN.Add(new FishingRodDetect(2, "Feline", "Feline", 20, 180)); + _listFishingRodEN.Add(new FishingRodDetect(3, "Pocket", "Pocket", 35, 500)); + _listFishingRodEN.Add(new FishingRodDetect(4, "Duck", "Duck", 35, 500)); + _listFishingRodEN.Add(new FishingRodDetect(5, "Amateur", "Amateur", 40, 750)); + _listFishingRodEN.Add(new FishingRodDetect(6, "Pro", "Pro", 80, 1500)); + _listFishingRodEN.Add(new FishingRodDetect(7, "Lion Circus", "Lion Circus", 80, 750)); + _listFishingRodEN.Add(new FishingRodDetect(8, "Magical", "Magical", 80, 750)); + _listFishingRodEN.Add(new FishingRodDetect(9, "Legendary Sword Fishing", "Legendary Sword Fishing", 80, 750)); + _listFishingRodEN.Add(new FishingRodDetect(10, "Magic Staff", "Magic Staff", 80, 2000)); + } + } + + public static string RemoveSpecialCharacters(string input) + { + Regex r = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled); + return r.Replace(input, String.Empty); + } + + public static int getIdLanguage(string textRaw) + { + //string[] nameClearArr = RemoveUnicode(textRaw).Split(new[] { ' ' }); + //foreach(string a in nameClearArr) + //{ + // Debug.WriteLine(a); + //} + bool c1 = textRaw.Contains("ool"); + bool c2 = textRaw.Contains("Tuol"); + //int pos = Array.IndexOf(nameClearArr, "Tool"); + //int pos2 = Array.IndexOf(nameClearArr, "Tuol"); + //int pos3 = Array.IndexOf(nameClearArr, "Tooll"); + if (c1 || c2) + { + return 1; + } else + { + return 0; + } + } + + public static string RemoveUnicode(string text) + { + string[] arr1 = new string[] { "á", "à", "ả", "ã", "ạ", "â", "ấ", "ầ", "ẩ", "ẫ", "ậ", "ă", "ắ", "ằ", "ẳ", "ẵ", "ặ", + "đ", + "é","è","ẻ","ẽ","ẹ","ê","ế","ề","ể","ễ","ệ", + "í","ì","ỉ","ĩ","ị", + "ó","ò","ỏ","õ","ọ","ô","ố","ồ","ổ","ỗ","ộ","ơ","ớ","ờ","ở","ỡ","ợ", + "ú","ù","ủ","ũ","ụ","ư","ứ","ừ","ử","ữ","ự", + "ý","ỳ","ỷ","ỹ","ỵ",}; + string[] arr2 = new string[] { "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", + "d", + "e","e","e","e","e","e","e","e","e","e","e", + "i","i","i","i","i", + "o","o","o","o","o","o","o","o","o","o","o","o","o","o","o","o","o", + "u","u","u","u","u","u","u","u","u","u","u", + "y","y","y","y","y",}; + for (int i = 0; i < arr1.Length; i++) + { + text = text.Replace(arr1[i], arr2[i]); + text = text.Replace(arr1[i].ToUpper(), arr2[i].ToUpper()); + } + return text; + } + } +} diff --git a/Auto_Demo/services/notification.cs b/Auto_Demo/services/notification.cs new file mode 100644 index 0000000..b970c1e --- /dev/null +++ b/Auto_Demo/services/notification.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Collections.ObjectModel; +using System.Windows; +using Thread = System.Threading.Thread; +using System.Windows.Threading; + +namespace Auto_Demo.services +{ + public class Notification + { + MainWindow wnd = (MainWindow)Application.Current.MainWindow; + public string id { get; set; } + public string title { get; set; } + public string content { get; set; } + public string type { get; set; } + public DateTime timeStrat { get; set; } + + public static ObservableCollection _NotiList = new ObservableCollection(); + + public Notification() + { + Notification._NotiList.Add(this); + wnd.updateNoti(); + this.HiddenNoti(); + } + + public void HiddenNoti() + { + Task taskHidden = new Task(() => + { + while (true) + { + Thread.Sleep(1000); + TimeSpan timeShow = DateTime.Now - this.timeStrat; + if (timeShow.TotalSeconds > 6) + { + App.Current.Dispatcher.Invoke((Action)delegate + { + _NotiList.Remove(this); + }); + return; + } + } + }); + taskHidden.Start(); + } + } +} diff --git a/Auto_Demo/slider.xaml b/Auto_Demo/slider.xaml new file mode 100644 index 0000000..0f8750b --- /dev/null +++ b/Auto_Demo/slider.xaml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Auto_Demo/tessdata/number.traineddata b/Auto_Demo/tessdata/number.traineddata new file mode 100644 index 0000000..88d35de Binary files /dev/null and b/Auto_Demo/tessdata/number.traineddata differ diff --git a/Auto_Demo/tessdata/vie.traineddata b/Auto_Demo/tessdata/vie.traineddata new file mode 100644 index 0000000..1be82db Binary files /dev/null and b/Auto_Demo/tessdata/vie.traineddata differ diff --git a/Auto_Demo/text/color-1.txt b/Auto_Demo/text/color-1.txt new file mode 100644 index 0000000..539c3b1 --- /dev/null +++ b/Auto_Demo/text/color-1.txt @@ -0,0 +1,306 @@ +#181322 ---- 24-19-34 +#181322 ---- 24-19-34 +#181322 ---- 24-19-34 +#181322 ---- 24-19-34 +#181322 ---- 24-19-34 +#191322 ---- 25-19-34 +#191322 ---- 25-19-34 +#1A1423 ---- 26-20-35 +#1B1423 ---- 27-20-35 +#1C1423 ---- 28-20-35 +#1C1423 ---- 28-20-35 +#1D1524 ---- 29-21-36 +#1E1524 ---- 30-21-36 +#1E1524 ---- 30-21-36 +#1F1524 ---- 31-21-36 +#201624 ---- 32-22-36 +#201624 ---- 32-22-36 +#211625 ---- 33-22-37 +#221625 ---- 34-22-37 +#231725 ---- 35-23-37 +#241726 ---- 36-23-38 +#241726 ---- 36-23-38 +#251726 ---- 37-23-38 +#261826 ---- 38-24-38 +#271826 ---- 39-24-38 +#271827 ---- 39-24-39 +#281827 ---- 40-24-39 +#291927 ---- 41-25-39 +#2A1927 ---- 42-25-39 +#2A1928 ---- 42-25-40 +#2B1928 ---- 43-25-40 +#2C1A28 ---- 44-26-40 +#2C1A28 ---- 44-26-40 +#2D1A28 ---- 45-26-40 +#2E1B29 ---- 46-27-41 +#2F1B29 ---- 47-27-41 +#2F1B29 ---- 47-27-41 +#301B29 ---- 48-27-41 +#311C29 ---- 49-28-41 +#321C2A ---- 50-28-42 +#331C2A ---- 51-28-42 +#331C2A ---- 51-28-42 +#341D2A ---- 52-29-42 +#351D2B ---- 53-29-43 +#351D2B ---- 53-29-43 +#361E2B ---- 54-30-43 +#371E2B ---- 55-30-43 +#371E2B ---- 55-30-43 +#381E2B ---- 56-30-43 +#391F2C ---- 57-31-44 +#3A1F2C ---- 58-31-44 +#3A1F2C ---- 58-31-44 +#3B202D ---- 59-32-45 +#3C202D ---- 60-32-45 +#3D202D ---- 61-32-45 +#3E202D ---- 62-32-45 +#3E212D ---- 62-33-45 +#3F212D ---- 63-33-45 +#40212E ---- 64-33-46 +#41212E ---- 65-33-46 +#41222E ---- 65-34-46 +#42222F ---- 66-34-47 +#43222F ---- 67-34-47 +#43222F ---- 67-34-47 +#44232F ---- 68-35-47 +#45232F ---- 69-35-47 +#45232F ---- 69-35-47 +#462330 ---- 70-35-48 +#472430 ---- 71-36-48 +#482430 ---- 72-36-48 +#492431 ---- 73-36-49 +#492431 ---- 73-36-49 +#4A2531 ---- 74-37-49 +#4B2531 ---- 75-37-49 +#4C2531 ---- 76-37-49 +#4C2531 ---- 76-37-49 +#4D2632 ---- 77-38-50 +#4E2632 ---- 78-38-50 +#4E2632 ---- 78-38-50 +#4F2632 ---- 79-38-50 +#502733 ---- 80-39-51 +#512733 ---- 81-39-51 +#512733 ---- 81-39-51 +#522733 ---- 82-39-51 +#532834 ---- 83-40-52 +#542834 ---- 84-40-52 +#542834 ---- 84-40-52 +#552934 ---- 85-41-52 +#562934 ---- 86-41-52 +#572934 ---- 87-41-52 +#582935 ---- 88-41-53 +#582A35 ---- 88-42-53 +#592A35 ---- 89-42-53 +#5A2A36 ---- 90-42-54 +#5A2A36 ---- 90-42-54 +#5B2B36 ---- 91-43-54 +#5C2B36 ---- 92-43-54 +#5C2B36 ---- 92-43-54 +#5D2C36 ---- 93-44-54 +#5E2C37 ---- 94-44-55 +#5F2C37 ---- 95-44-55 +#5F2C37 ---- 95-44-55 +#602D38 ---- 96-45-56 +#612D38 ---- 97-45-56 +#622D38 ---- 98-45-56 +#632D38 ---- 99-45-56 +#632E38 ---- 99-46-56 +#642E38 ---- 100-46-56 +#652E39 ---- 101-46-57 +#662F39 ---- 102-47-57 +#662F39 ---- 102-47-57 +#672F39 ---- 103-47-57 +#682F3A ---- 104-47-58 +#68303A ---- 104-48-58 +#69303A ---- 105-48-58 +#6A303A ---- 106-48-58 +#6A303A ---- 106-48-58 +#6B313B ---- 107-49-59 +#6C313B ---- 108-49-59 +#6D313B ---- 109-49-59 +#6E313B ---- 110-49-59 +#6E323B ---- 110-50-59 +#6F323C ---- 111-50-60 +#70323C ---- 112-50-60 +#71323C ---- 113-50-60 +#71333C ---- 113-51-60 +#72333D ---- 114-51-61 +#73333D ---- 115-51-61 +#73333D ---- 115-51-61 +#74333D ---- 116-51-61 +#75343D ---- 117-52-61 +#76343E ---- 118-52-62 +#76343E ---- 118-52-62 +#77353E ---- 119-53-62 +#78353E ---- 120-53-62 +#79353F ---- 121-53-63 +#79353F ---- 121-53-63 +#7A363F ---- 122-54-63 +#7B363F ---- 123-54-63 +#7C363F ---- 124-54-63 +#7D3640 ---- 125-54-64 +#7D3740 ---- 125-55-64 +#7E3740 ---- 126-55-64 +#7F3741 ---- 127-55-65 +#7F3841 ---- 127-56-65 +#803841 ---- 128-56-65 +#813841 ---- 129-56-65 +#813841 ---- 129-56-65 +#823941 ---- 130-57-65 +#833942 ---- 131-57-66 +#843942 ---- 132-57-66 +#843942 ---- 132-57-66 +#853A42 ---- 133-58-66 +#863B43 ---- 134-59-67 +#863C45 ---- 134-60-69 +#863E46 ---- 134-62-70 +#864048 ---- 134-64-72 +#87424A ---- 135-66-74 +#87444B ---- 135-68-75 +#87454D ---- 135-69-77 +#87474E ---- 135-71-78 +#874950 ---- 135-73-80 +#884B52 ---- 136-75-82 +#884D53 ---- 136-77-83 +#884E55 ---- 136-78-85 +#885057 ---- 136-80-87 +#885258 ---- 136-82-88 +#89545A ---- 137-84-90 +#89565C ---- 137-86-92 +#89575D ---- 137-87-93 +#89595F ---- 137-89-95 +#895B61 ---- 137-91-97 +#8A5D62 ---- 138-93-98 +#8A5E64 ---- 138-94-100 +#8A6066 ---- 138-96-102 +#8A6267 ---- 138-98-103 +#8B6469 ---- 139-100-105 +#8B656A ---- 139-101-106 +#8B676C ---- 139-103-108 +#8B696D ---- 139-105-109 +#8C6B6F ---- 140-107-111 +#8C6C70 ---- 140-108-112 +#8C6E72 ---- 140-110-114 +#8C7074 ---- 140-112-116 +#8D7275 ---- 141-114-117 +#8D7377 ---- 141-115-119 +#8D7579 ---- 141-117-121 +#8D777B ---- 141-119-123 +#8D797C ---- 141-121-124 +#8E7B7E ---- 142-123-126 +#8E7C7F ---- 142-124-127 +#8E7E81 ---- 142-126-129 +#8F8082 ---- 143-128-130 +#8F8284 ---- 143-130-132 +#8F8385 ---- 143-131-133 +#8F8587 ---- 143-133-135 +#8F8789 ---- 143-135-137 +#90888A ---- 144-136-138 +#90898C ---- 144-137-140 +#908B8D ---- 144-139-141 +#908C8F ---- 144-140-143 +#908E90 ---- 144-142-144 +#919092 ---- 145-144-146 +#919293 ---- 145-146-147 +#919495 ---- 145-148-149 +#929597 ---- 146-149-151 +#929798 ---- 146-151-152 +#92999A ---- 146-153-154 +#929A9C ---- 146-154-156 +#929C9D ---- 146-156-157 +#939E9F ---- 147-158-159 +#939FA0 ---- 147-159-160 +#93A1A1 ---- 147-161-161 +#94A3A2 ---- 148-163-162 +#94A5A4 ---- 148-165-164 +#94A6A5 ---- 148-166-165 +#94A8A7 ---- 148-168-167 +#94AAA8 ---- 148-170-168 +#95ABAA ---- 149-171-170 +#95ADAB ---- 149-173-171 +#95AFAD ---- 149-175-173 +#95B0AE ---- 149-176-174 +#95B2B0 ---- 149-178-176 +#95B4B2 ---- 149-180-178 +#95B5B3 ---- 149-181-179 +#96B7B5 ---- 150-183-181 +#96B9B6 ---- 150-185-182 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 +#96BAB7 ---- 150-186-183 diff --git a/Auto_Demo/text/color-2.txt b/Auto_Demo/text/color-2.txt new file mode 100644 index 0000000..fc09c04 --- /dev/null +++ b/Auto_Demo/text/color-2.txt @@ -0,0 +1,626 @@ +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96BAB7 --- 150-186-183 --- 519 --- -6899017 +#96B9B6 --- 150-185-182 --- 517 --- -6899274 +#97B8B5 --- 151-184-181 --- 516 --- -6833995 +#97B7B3 --- 151-183-179 --- 513 --- -6834253 +#98B6B2 --- 152-182-178 --- 512 --- -6768974 +#99B5B1 --- 153-181-177 --- 511 --- -6703695 +#99B4B0 --- 153-180-176 --- 509 --- -6703952 +#99B3AE --- 153-179-174 --- 506 --- -6704210 +#9AB2AD --- 154-178-173 --- 505 --- -6638931 +#9BB1AC --- 155-177-172 --- 504 --- -6573652 +#9BB0AA --- 155-176-170 --- 501 --- -6573910 +#9CAFA9 --- 156-175-169 --- 500 --- -6508631 +#9CAEA8 --- 156-174-168 --- 498 --- -6508888 +#9DADA6 --- 157-173-166 --- 496 --- -6443610 +#9DACA5 --- 157-172-165 --- 494 --- -6443867 +#9EABA4 --- 158-171-164 --- 493 --- -6378588 +#9EAAA2 --- 158-170-162 --- 490 --- -6378846 +#9FA9A1 --- 159-169-161 --- 489 --- -6313567 +#9FA8A1 --- 159-168-161 --- 488 --- -6313823 +#A0A79F --- 160-167-159 --- 486 --- -6248545 +#A1A69E --- 161-166-158 --- 485 --- -6183266 +#A1A59C --- 161-165-156 --- 482 --- -6183524 +#A2A49B --- 162-164-155 --- 481 --- -6118245 +#A2A39A --- 162-163-154 --- 479 --- -6118502 +#A2A298 --- 162-162-152 --- 476 --- -6118760 +#A3A197 --- 163-161-151 --- 475 --- -6053481 +#A4A096 --- 164-160-150 --- 474 --- -5988202 +#A49E94 --- 164-158-148 --- 470 --- -5988716 +#A59E93 --- 165-158-147 --- 470 --- -5923181 +#A59D92 --- 165-157-146 --- 468 --- -5923438 +#A69B90 --- 166-155-144 --- 465 --- -5858416 +#A79A8F --- 167-154-143 --- 464 --- -5793137 +#A7998E --- 167-153-142 --- 462 --- -5793394 +#A8988C --- 168-152-140 --- 460 --- -5728116 +#A8978B --- 168-151-139 --- 458 --- -5728373 +#A9968A --- 169-150-138 --- 457 --- -5663094 +#A99588 --- 169-149-136 --- 454 --- -5663352 +#AA9487 --- 170-148-135 --- 453 --- -5598073 +#AB9385 --- 171-147-133 --- 451 --- -5532795 +#AB9284 --- 171-146-132 --- 449 --- -5533052 +#AC9183 --- 172-145-131 --- 448 --- -5467773 +#AC9081 --- 172-144-129 --- 445 --- -5468031 +#AD8F80 --- 173-143-128 --- 444 --- -5402752 +#AD8E7E --- 173-142-126 --- 441 --- -5403010 +#AE8D7D --- 174-141-125 --- 440 --- -5337731 +#AF8B7B --- 175-139-123 --- 437 --- -5272709 +#AF8B7A --- 175-139-122 --- 436 --- -5272710 +#B08A79 --- 176-138-121 --- 435 --- -5207431 +#B08977 --- 176-137-119 --- 432 --- -5207689 +#B18876 --- 177-136-118 --- 431 --- -5142410 +#B18775 --- 177-135-117 --- 429 --- -5142667 +#B28673 --- 178-134-115 --- 427 --- -5077389 +#B38572 --- 179-133-114 --- 426 --- -5012110 +#B38470 --- 179-132-112 --- 423 --- -5012368 +#B4836F --- 180-131-111 --- 422 --- -4947089 +#B5826E --- 181-130-110 --- 421 --- -4881810 +#B5816C --- 181-129-108 --- 418 --- -4882068 +#B6806A --- 182-128-106 --- 416 --- -4816790 +#B67F69 --- 182-127-105 --- 414 --- -4817047 +#B77E68 --- 183-126-104 --- 413 --- -4751768 +#B77C66 --- 183-124-102 --- 409 --- -4752282 +#B87B65 --- 184-123-101 --- 408 --- -4687003 +#B97A64 --- 185-122-100 --- 407 --- -4621724 +#BA7962 --- 186-121-98 --- 405 --- -4556446 +#BA7861 --- 186-120-97 --- 403 --- -4556703 +#BB775F --- 187-119-95 --- 401 --- -4491425 +#BB765E --- 187-118-94 --- 399 --- -4491682 +#BC755C --- 188-117-92 --- 397 --- -4426404 +#BC745B --- 188-116-91 --- 395 --- -4426661 +#BD7359 --- 189-115-89 --- 393 --- -4361383 +#BE7158 --- 190-113-88 --- 391 --- -4296360 +#BE7057 --- 190-112-87 --- 389 --- -4296617 +#BF6F55 --- 191-111-85 --- 387 --- -4231339 +#C06E54 --- 192-110-84 --- 386 --- -4166060 +#C06D52 --- 192-109-82 --- 383 --- -4166318 +#C06C51 --- 192-108-81 --- 381 --- -4166575 +#BD6B51 --- 189-107-81 --- 377 --- -4363439 +#BB6A50 --- 187-106-80 --- 373 --- -4494768 +#BA6950 --- 186-105-80 --- 371 --- -4560560 +#B8684F --- 184-104-79 --- 367 --- -4691889 +#B6674F --- 182-103-79 --- 364 --- -4823217 +#B3664E --- 179-102-78 --- 359 --- -5020082 +#B1654E --- 177-101-78 --- 356 --- -5151410 +#AF644D --- 175-100-77 --- 352 --- -5282739 +#AD634D --- 173-99-77 --- 349 --- -5414067 +#AB624C --- 171-98-76 --- 345 --- -5545396 +#A9614C --- 169-97-76 --- 342 --- -5676724 +#A7604C --- 167-96-76 --- 339 --- -5808052 +#A55F4B --- 165-95-75 --- 335 --- -5939381 +#A35E4A --- 163-94-74 --- 331 --- -6070710 +#A15D4A --- 161-93-74 --- 328 --- -6202038 +#9F5C49 --- 159-92-73 --- 324 --- -6333367 +#9D5B49 --- 157-91-73 --- 321 --- -6464695 +#9B5949 --- 155-89-73 --- 317 --- -6596279 +#995948 --- 153-89-72 --- 314 --- -6727352 +#975747 --- 151-87-71 --- 309 --- -6858937 +#955747 --- 149-87-71 --- 307 --- -6990009 +#945547 --- 148-85-71 --- 304 --- -7056057 +#925446 --- 146-84-70 --- 300 --- -7187386 +#905346 --- 144-83-70 --- 297 --- -7318714 +#8E5245 --- 142-82-69 --- 293 --- -7450043 +#8C5145 --- 140-81-69 --- 290 --- -7581371 +#8A5044 --- 138-80-68 --- 286 --- -7712700 +#884F44 --- 136-79-68 --- 283 --- -7844028 +#864E43 --- 134-78-67 --- 279 --- -7975357 +#844D43 --- 132-77-67 --- 276 --- -8106685 +#824C42 --- 130-76-66 --- 272 --- -8238014 +#804B42 --- 128-75-66 --- 269 --- -8369342 +#7E4A41 --- 126-74-65 --- 265 --- -8500671 +#7C4941 --- 124-73-65 --- 262 --- -8631999 +#7A4840 --- 122-72-64 --- 258 --- -8763328 +#774740 --- 119-71-64 --- 254 --- -8960192 +#75463F --- 117-70-63 --- 250 --- -9091521 +#73453F --- 115-69-63 --- 247 --- -9222849 +#71443F --- 113-68-63 --- 244 --- -9354177 +#6F433E --- 111-67-62 --- 240 --- -9485506 +#6D423D --- 109-66-61 --- 236 --- -9616835 +#6B413D --- 107-65-61 --- 233 --- -9748163 +#69403C --- 105-64-60 --- 229 --- -9879492 +#673F3C --- 103-63-60 --- 226 --- -10010820 +#653E3C --- 101-62-60 --- 223 --- -10142148 +#633D3B --- 99-61-59 --- 219 --- -10273477 +#613C3A --- 97-60-58 --- 215 --- -10404806 +#5F3B3A --- 95-59-58 --- 212 --- -10536134 +#5D3A3A --- 93-58-58 --- 209 --- -10667462 +#5B3839 --- 91-56-57 --- 204 --- -10799047 +#593839 --- 89-56-57 --- 202 --- -10930119 +#573738 --- 87-55-56 --- 198 --- -11061448 +#553637 --- 85-54-55 --- 194 --- -11192777 +#533537 --- 83-53-55 --- 191 --- -11324105 +#513337 --- 81-51-55 --- 187 --- -11455689 +#4F3336 --- 79-51-54 --- 184 --- -11586762 +#4D3136 --- 77-49-54 --- 180 --- -11718346 +#4B3035 --- 75-48-53 --- 176 --- -11849675 +#492F35 --- 73-47-53 --- 173 --- -11981003 +#472E34 --- 71-46-52 --- 169 --- -12112332 +#452D34 --- 69-45-52 --- 166 --- -12243660 +#432C33 --- 67-44-51 --- 162 --- -12374989 +#412B33 --- 65-43-51 --- 159 --- -12506317 +#3F2A32 --- 63-42-50 --- 155 --- -12637646 +#3D2932 --- 61-41-50 --- 152 --- -12768974 +#3B2832 --- 59-40-50 --- 149 --- -12900302 +#392731 --- 57-39-49 --- 145 --- -13031631 +#372630 --- 55-38-48 --- 141 --- -13162960 +#352530 --- 53-37-48 --- 138 --- -13294288 +#332430 --- 51-36-48 --- 135 --- -13425616 +#31232F --- 49-35-47 --- 131 --- -13556945 +#2F222F --- 47-34-47 --- 128 --- -13688273 +#2D212E --- 45-33-46 --- 124 --- -13819602 + +------------------------------------------ +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202E --- 43-32-46 --- 121 --- -13950930 +#2B202D --- 43-32-45 --- 120 --- -13950931 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A202D --- 42-32-45 --- 119 --- -14016467 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#2A1F2D --- 42-31-45 --- 118 --- -14016723 +#291F2D --- 41-31-45 --- 117 --- -14082259 +#291F2D --- 41-31-45 --- 117 --- -14082259 +#291F2D --- 41-31-45 --- 117 --- -14082259 +#291F2D --- 41-31-45 --- 117 --- -14082259 +#291F2D --- 41-31-45 --- 117 --- -14082259 +#291F2D --- 41-31-45 --- 117 --- -14082259 +#291F2C --- 41-31-44 --- 116 --- -14082260 +#291F2C --- 41-31-44 --- 116 --- -14082260 +#291F2C --- 41-31-44 --- 116 --- -14082260 +#291F2C --- 41-31-44 --- 116 --- -14082260 +#291E2C --- 41-30-44 --- 115 --- -14082516 +#291E2C --- 41-30-44 --- 115 --- -14082516 +#291E2C --- 41-30-44 --- 115 --- -14082516 +#291E2C --- 41-30-44 --- 115 --- -14082516 +#291E2C --- 41-30-44 --- 115 --- -14082516 +#291E2C --- 41-30-44 --- 115 --- -14082516 +#291E2C --- 41-30-44 --- 115 --- -14082516 +#291E2C --- 41-30-44 --- 115 --- -14082516 +#291E2C --- 41-30-44 --- 115 --- -14082516 + + + +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#281E2C --- 40-30-44 --- 114 --- -14148052 +#271E2C --- 39-30-44 --- 113 --- -14213588 +#271E2C --- 39-30-44 --- 113 --- -14213588 +#271E2C --- 39-30-44 --- 113 --- -14213588 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271E2B --- 39-30-43 --- 112 --- -14213589 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 +#271D2B --- 39-29-43 --- 111 --- -14213845 + +----------------------------- +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261D2B --- 38-29-43 --- 110 --- -14279381 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#261C2B --- 38-28-43 --- 109 --- -14279637 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2B --- 37-28-43 --- 108 --- -14345173 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251C2A --- 37-28-42 --- 107 --- -14345174 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#251B2A --- 37-27-42 --- 106 --- -14345430 +#241B2A --- 36-27-42 --- 105 --- -14410966 +#241B2A --- 36-27-42 --- 105 --- -14410966 +#241B2A --- 36-27-42 --- 105 --- -14410966 +#241B2A --- 36-27-42 --- 105 --- -14410966 +#241B2A --- 36-27-42 --- 105 --- -14410966 +#241B29 --- 36-27-41 --- 104 --- -14410967 +#241B29 --- 36-27-41 --- 104 --- -14410967 +#241B29 --- 36-27-41 --- 104 --- -14410967 +#231B29 --- 35-27-41 --- 103 --- -14476503 +#231B29 --- 35-27-41 --- 103 --- -14476503 +#231B29 --- 35-27-41 --- 103 --- -14476503 +#231B29 --- 35-27-41 --- 103 --- -14476503 +#231A29 --- 35-26-41 --- 102 --- -14476759 +#231A29 --- 35-26-41 --- 102 --- -14476759 +#231A29 --- 35-26-41 --- 102 --- -14476759 +#231A29 --- 35-26-41 --- 102 --- -14476759 +#231A29 --- 35-26-41 --- 102 --- -14476759 +#231A29 --- 35-26-41 --- 102 --- -14476759 +#231A29 --- 35-26-41 --- 102 --- -14476759 +#221A29 --- 34-26-41 --- 101 --- -14542295 +#221A29 --- 34-26-41 --- 101 --- -14542295 + + +---------------- +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1727 --- 31-23-39 --- 93 --- -14739673 +#1F1726 --- 31-23-38 --- 92 --- -14739674 +#1F1726 --- 31-23-38 --- 92 --- -14739674 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1725 --- 30-23-37 --- 90 --- -14805211 +#1E1725 --- 30-23-37 --- 90 --- -14805211 +#1D1725 --- 29-23-37 --- 89 --- -14870747 +#1D1725 --- 29-23-37 --- 89 --- -14870747 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1C1625 --- 28-22-37 --- 87 --- -14936539 +#1C1625 --- 28-22-37 --- 87 --- -14936539 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1424 --- 27-20-36 --- 83 --- -15002588 +#1B1424 --- 27-20-36 --- 83 --- -15002588 +#1B1424 --- 27-20-36 --- 83 --- -15002588 +#1B1424 --- 27-20-36 --- 83 --- -15002588 +#1A1424 --- 26-20-36 --- 82 --- -15068124 +#1A1424 --- 26-20-36 --- 82 --- -15068124 +#1A1424 --- 26-20-36 --- 82 --- -15068124 +#1A1424 --- 26-20-36 --- 82 --- -15068124 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191323 --- 25-19-35 --- 79 --- -15133917 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 diff --git a/Auto_Demo/text/color-3.txt b/Auto_Demo/text/color-3.txt new file mode 100644 index 0000000..899d43e --- /dev/null +++ b/Auto_Demo/text/color-3.txt @@ -0,0 +1,331 @@ +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#1A1322 --- 26-19-34 --- 79 --- -15068382 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1B1423 --- 27-20-35 --- 82 --- -15002589 +#1B1423 --- 27-20-35 --- 82 --- -15002589 +#1C1423 --- 28-20-35 --- 83 --- -14937053 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1D1524 --- 29-21-36 --- 86 --- -14871260 +#1E1524 --- 30-21-36 --- 87 --- -14805724 +#1E1624 --- 30-22-36 --- 88 --- -14805468 +#1F1624 --- 31-22-36 --- 89 --- -14739932 +#1F1624 --- 31-22-36 --- 89 --- -14739932 +#201625 --- 32-22-37 --- 91 --- -14674395 +#201625 --- 32-22-37 --- 91 --- -14674395 +#211725 --- 33-23-37 --- 93 --- -14608603 +#211725 --- 33-23-37 --- 93 --- -14608603 +#221725 --- 34-23-37 --- 94 --- -14543067 +#231725 --- 35-23-37 --- 95 --- -14477531 +#231826 --- 35-24-38 --- 97 --- -14477274 +#241826 --- 36-24-38 --- 98 --- -14411738 +#251826 --- 37-24-38 --- 99 --- -14346202 +#251926 --- 37-25-38 --- 100 --- -14345946 +#261926 --- 38-25-38 --- 101 --- -14280410 +#261927 --- 38-25-39 --- 102 --- -14280409 +#261927 --- 38-25-39 --- 102 --- -14280409 +#271A27 --- 39-26-39 --- 104 --- -14214617 +#281A27 --- 40-26-39 --- 105 --- -14149081 +#281A27 --- 40-26-39 --- 105 --- -14149081 +#291A27 --- 41-26-39 --- 106 --- -14083545 +#2A1A28 --- 42-26-40 --- 108 --- -14018008 +#2A1B28 --- 42-27-40 --- 109 --- -14017752 +#2B1B28 --- 43-27-40 --- 110 --- -13952216 +#2B1B28 --- 43-27-40 --- 110 --- -13952216 +#2C1B28 --- 44-27-40 --- 111 --- -13886680 +#2C1C29 --- 44-28-41 --- 113 --- -13886423 +#2D1C29 --- 45-28-41 --- 114 --- -13820887 +#2D1C29 --- 45-28-41 --- 114 --- -13820887 +#2E1D29 --- 46-29-41 --- 116 --- -13755095 +#2F1D29 --- 47-29-41 --- 117 --- -13689559 +#2F1D29 --- 47-29-41 --- 117 --- -13689559 +#301D2A --- 48-29-42 --- 119 --- -13624022 +#301D2A --- 48-29-42 --- 119 --- -13624022 +#311D2A --- 49-29-42 --- 120 --- -13558486 +#311E2A --- 49-30-42 --- 121 --- -13558230 +#321E2A --- 50-30-42 --- 122 --- -13492694 +#321E2A --- 50-30-42 --- 122 --- -13492694 +#331F2B --- 51-31-43 --- 125 --- -13426901 +#341F2B --- 52-31-43 --- 126 --- -13361365 +#341F2B --- 52-31-43 --- 126 --- -13361365 +#35202B --- 53-32-43 --- 128 --- -13295573 +#36202C --- 54-32-44 --- 130 --- -13230036 +#36202C --- 54-32-44 --- 130 --- -13230036 +#36202C --- 54-32-44 --- 130 --- -13230036 +#37202C --- 55-32-44 --- 131 --- -13164500 +#37202C --- 55-32-44 --- 131 --- -13164500 +#38212C --- 56-33-44 --- 133 --- -13098708 +#39212C --- 57-33-44 --- 134 --- -13033172 +#39212D --- 57-33-45 --- 135 --- -13033171 +#3A222D --- 58-34-45 --- 137 --- -12967379 +#3B222D --- 59-34-45 --- 138 --- -12901843 +#3B222D --- 59-34-45 --- 138 --- -12901843 +#3C222D --- 60-34-45 --- 139 --- -12836307 +#3C232D --- 60-35-45 --- 140 --- -12836051 +#3D232E --- 61-35-46 --- 142 --- -12770514 +#3D232E --- 61-35-46 --- 142 --- -12770514 +#3E232E --- 62-35-46 --- 143 --- -12704978 +#3E232E --- 62-35-46 --- 143 --- -12704978 +#3F242F --- 63-36-47 --- 146 --- -12639185 +#40242F --- 64-36-47 --- 147 --- -12573649 +#40242F --- 64-36-47 --- 147 --- -12573649 +#41242F --- 65-36-47 --- 148 --- -12508113 +#41252F --- 65-37-47 --- 149 --- -12507857 +#42252F --- 66-37-47 --- 150 --- -12442321 +#42252F --- 66-37-47 --- 150 --- -12442321 +#432630 --- 67-38-48 --- 153 --- -12376528 +#432630 --- 67-38-48 --- 153 --- -12376528 +#442630 --- 68-38-48 --- 154 --- -12310992 +#452630 --- 69-38-48 --- 155 --- -12245456 +#452630 --- 69-38-48 --- 155 --- -12245456 +#462730 --- 70-39-48 --- 157 --- -12179664 +#462731 --- 70-39-49 --- 158 --- -12179663 +#472731 --- 71-39-49 --- 159 --- -12114127 +#472731 --- 71-39-49 --- 159 --- -12114127 +#482831 --- 72-40-49 --- 161 --- -12048335 +#492832 --- 73-40-50 --- 163 --- -11982798 +#492832 --- 73-40-50 --- 163 --- -11982798 +#4A2932 --- 74-41-50 --- 165 --- -11917006 +#4A2932 --- 74-41-50 --- 165 --- -11917006 +#4B2932 --- 75-41-50 --- 166 --- -11851470 +#4C2932 --- 76-41-50 --- 167 --- -11785934 +#4C2932 --- 76-41-50 --- 167 --- -11785934 +#4D2A33 --- 77-42-51 --- 170 --- -11720141 +#4D2A33 --- 77-42-51 --- 170 --- -11720141 +#4E2A33 --- 78-42-51 --- 171 --- -11654605 +#4E2A33 --- 78-42-51 --- 171 --- -11654605 +#4F2B33 --- 79-43-51 --- 173 --- -11588813 +#4F2B33 --- 79-43-51 --- 173 --- -11588813 +#502B34 --- 80-43-52 --- 175 --- -11523276 +#512C34 --- 81-44-52 --- 177 --- -11457484 +#512C34 --- 81-44-52 --- 177 --- -11457484 +#522C34 --- 82-44-52 --- 178 --- -11391948 +#522C35 --- 82-44-53 --- 179 --- -11391947 +#532C35 --- 83-44-53 --- 180 --- -11326411 +#532D35 --- 83-45-53 --- 181 --- -11326155 +#542D35 --- 84-45-53 --- 182 --- -11260619 +#552D35 --- 85-45-53 --- 183 --- -11195083 +#552D35 --- 85-45-53 --- 183 --- -11195083 +#562E35 --- 86-46-53 --- 185 --- -11129291 +#562E36 --- 86-46-54 --- 186 --- -11129290 +#572E36 --- 87-46-54 --- 187 --- -11063754 +#572E36 --- 87-46-54 --- 187 --- -11063754 +#582F36 --- 88-47-54 --- 189 --- -10997962 +#582F36 --- 88-47-54 --- 189 --- -10997962 +#592F36 --- 89-47-54 --- 190 --- -10932426 +#5A2F37 --- 90-47-55 --- 192 --- -10866889 +#5A3037 --- 90-48-55 --- 193 --- -10866633 +#5B3037 --- 91-48-55 --- 194 --- -10801097 +#5B3037 --- 91-48-55 --- 194 --- -10801097 +#5C3038 --- 92-48-56 --- 196 --- -10735560 +#5D3038 --- 93-48-56 --- 197 --- -10670024 +#5D3138 --- 93-49-56 --- 198 --- -10669768 +#5D3138 --- 93-49-56 --- 198 --- -10669768 +#5E3138 --- 94-49-56 --- 199 --- -10604232 +#5F3238 --- 95-50-56 --- 201 --- -10538440 +#5F3238 --- 95-50-56 --- 201 --- -10538440 +#603239 --- 96-50-57 --- 203 --- -10472903 +#613239 --- 97-50-57 --- 204 --- -10407367 +#613339 --- 97-51-57 --- 205 --- -10407111 +#623339 --- 98-51-57 --- 206 --- -10341575 +#623339 --- 98-51-57 --- 206 --- -10341575 +#63333A --- 99-51-58 --- 208 --- -10276038 +#63333A --- 99-51-58 --- 208 --- -10276038 +#64343A --- 100-52-58 --- 210 --- -10210246 +#64343A --- 100-52-58 --- 210 --- -10210246 +#65343A --- 101-52-58 --- 211 --- -10144710 +#66353B --- 102-53-59 --- 214 --- -10078917 +#66353B --- 102-53-59 --- 214 --- -10078917 +#67353B --- 103-53-59 --- 215 --- -10013381 +#67353B --- 103-53-59 --- 215 --- -10013381 +#68363B --- 104-54-59 --- 217 --- -9947589 +#68363B --- 104-54-59 --- 217 --- -9947589 +#69363B --- 105-54-59 --- 218 --- -9882053 +#69363C --- 105-54-60 --- 219 --- -9882052 +#6A363C --- 106-54-60 --- 220 --- -9816516 +#6B373C --- 107-55-60 --- 222 --- -9750724 +#6B373C --- 107-55-60 --- 222 --- -9750724 +#6C373D --- 108-55-61 --- 224 --- -9685187 +#6C383D --- 108-56-61 --- 225 --- -9684931 +#6C393E --- 108-57-62 --- 227 --- -9684674 +#6C3A3F --- 108-58-63 --- 229 --- -9684417 +#6D3B40 --- 109-59-64 --- 232 --- -9618624 +#6D3C42 --- 109-60-66 --- 235 --- -9618366 +#6D3E42 --- 109-62-66 --- 237 --- -9617854 +#6D3F44 --- 109-63-68 --- 240 --- -9617596 +#6D4045 --- 109-64-69 --- 242 --- -9617339 +#6D4246 --- 109-66-70 --- 245 --- -9616826 +#6E4347 --- 110-67-71 --- 248 --- -9551033 +#6E4448 --- 110-68-72 --- 250 --- -9550776 +#6E4549 --- 110-69-73 --- 252 --- -9550519 +#6E464A --- 110-70-74 --- 254 --- -9550262 +#6F484B --- 111-72-75 --- 258 --- -9484213 +#6F494C --- 111-73-76 --- 260 --- -9483956 +#6F4A4E --- 111-74-78 --- 263 --- -9483698 +#6F4B4F --- 111-75-79 --- 265 --- -9483441 +#6F4C50 --- 111-76-80 --- 267 --- -9483184 +#6F4D51 --- 111-77-81 --- 269 --- -9482927 +#6F4F52 --- 111-79-82 --- 272 --- -9482414 +#705053 --- 112-80-83 --- 275 --- -9416621 +#705155 --- 112-81-85 --- 278 --- -9416363 +#705355 --- 112-83-85 --- 280 --- -9415851 +#705457 --- 112-84-87 --- 283 --- -9415593 +#705558 --- 112-85-88 --- 285 --- -9415336 +#705659 --- 112-86-89 --- 287 --- -9415079 +#71575A --- 113-87-90 --- 290 --- -9349286 +#71595B --- 113-89-91 --- 293 --- -9348773 +#715A5C --- 113-90-92 --- 295 --- -9348516 +#715B5E --- 113-91-94 --- 298 --- -9348258 +#725C5E --- 114-92-94 --- 300 --- -9282466 +#725D60 --- 114-93-96 --- 303 --- -9282208 +#725E61 --- 114-94-97 --- 305 --- -9281951 +#726062 --- 114-96-98 --- 308 --- -9281438 +#726163 --- 114-97-99 --- 310 --- -9281181 +#726264 --- 114-98-100 --- 312 --- -9280924 +#736465 --- 115-100-101 --- 316 --- -9214875 +#736466 --- 115-100-102 --- 317 --- -9214874 +#736667 --- 115-102-103 --- 320 --- -9214361 +#736768 --- 115-103-104 --- 322 --- -9214104 +#73686A --- 115-104-106 --- 325 --- -9213846 +#746A6B --- 116-106-107 --- 329 --- -9147797 +#746B6C --- 116-107-108 --- 331 --- -9147540 +#746C6D --- 116-108-109 --- 333 --- -9147283 +#746D6E --- 116-109-110 --- 335 --- -9147026 +#746E6F --- 116-110-111 --- 337 --- -9146769 +#747070 --- 116-112-112 --- 340 --- -9146256 +#757171 --- 117-113-113 --- 343 --- -9080463 +#757273 --- 117-114-115 --- 346 --- -9080205 +#757373 --- 117-115-115 --- 347 --- -9079949 +#757475 --- 117-116-117 --- 350 --- -9079691 +#757576 --- 117-117-118 --- 352 --- -9079434 +#757777 --- 117-119-119 --- 355 --- -9078921 +#767878 --- 118-120-120 --- 358 --- -9013128 +#767979 --- 118-121-121 --- 360 --- -9012871 +#767A7A --- 118-122-122 --- 362 --- -9012614 +#767B7B --- 118-123-123 --- 364 --- -9012357 +#767D7C --- 118-125-124 --- 367 --- -9011844 +#777E7D --- 119-126-125 --- 370 --- -8946051 +#777F7F --- 119-127-127 --- 373 --- -8945793 +#778080 --- 119-128-128 --- 375 --- -8945536 +#778181 --- 119-129-129 --- 377 --- -8945279 +#778382 --- 119-131-130 --- 380 --- -8944766 +#778483 --- 119-132-131 --- 382 --- -8944509 +#788584 --- 120-133-132 --- 385 --- -8878716 +#788685 --- 120-134-133 --- 387 --- -8878459 +#788786 --- 120-135-134 --- 389 --- -8878202 +#788988 --- 120-137-136 --- 393 --- -8877688 +#798988 --- 121-137-136 --- 394 --- -8812152 +#798A8A --- 121-138-138 --- 397 --- -8811894 +#798B8B --- 121-139-139 --- 399 --- -8811637 +#798C8C --- 121-140-140 --- 401 --- -8811380 +#798D8D --- 121-141-141 --- 403 --- -8811123 +#798F8E --- 121-143-142 --- 406 --- -8810610 +#79908F --- 121-144-143 --- 408 --- -8810353 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A918F --- 122-145-143 --- 410 --- -8744561 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9291 --- 122-146-145 --- 413 --- -8744303 +#7A9291 --- 122-146-145 --- 413 --- -8744303 +#7A9291 --- 122-146-145 --- 413 --- -8744303 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9292 --- 123-146-146 --- 415 --- -8678766 +#7B9292 --- 123-146-146 --- 415 --- -8678766 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 diff --git a/Auto_Demo/text/color.txt b/Auto_Demo/text/color.txt new file mode 100644 index 0000000..2cdb335 --- /dev/null +++ b/Auto_Demo/text/color.txt @@ -0,0 +1,324 @@ +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#191322 --- 25-19-34 --- 78 --- -15133918 +#1A1322 --- 26-19-34 --- 79 --- -15068382 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1B1423 --- 27-20-35 --- 82 --- -15002589 +#1B1423 --- 27-20-35 --- 82 --- -15002589 +#1C1423 --- 28-20-35 --- 83 --- -14937053 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1D1524 --- 29-21-36 --- 86 --- -14871260 +#1D1524 --- 29-21-36 --- 86 --- -14871260 +#1E1624 --- 30-22-36 --- 88 --- -14805468 +#1F1624 --- 31-22-36 --- 89 --- -14739932 +#1F1624 --- 31-22-36 --- 89 --- -14739932 +#201624 --- 32-22-36 --- 90 --- -14674396 +#201625 --- 32-22-37 --- 91 --- -14674395 +#211725 --- 33-23-37 --- 93 --- -14608603 +#211725 --- 33-23-37 --- 93 --- -14608603 +#221725 --- 34-23-37 --- 94 --- -14543067 +#221725 --- 34-23-37 --- 94 --- -14543067 +#231825 --- 35-24-37 --- 96 --- -14477275 +#241826 --- 36-24-38 --- 98 --- -14411738 +#241826 --- 36-24-38 --- 98 --- -14411738 +#251826 --- 37-24-38 --- 99 --- -14346202 +#251926 --- 37-25-38 --- 100 --- -14345946 +#261927 --- 38-25-39 --- 102 --- -14280409 +#261927 --- 38-25-39 --- 102 --- -14280409 +#271927 --- 39-25-39 --- 103 --- -14214873 +#281A27 --- 40-26-39 --- 105 --- -14149081 +#281A27 --- 40-26-39 --- 105 --- -14149081 +#291A27 --- 41-26-39 --- 106 --- -14083545 +#291A27 --- 41-26-39 --- 106 --- -14083545 +#2A1A28 --- 42-26-40 --- 108 --- -14018008 +#2B1B28 --- 43-27-40 --- 110 --- -13952216 +#2B1B28 --- 43-27-40 --- 110 --- -13952216 +#2C1B28 --- 44-27-40 --- 111 --- -13886680 +#2C1C28 --- 44-28-40 --- 112 --- -13886424 +#2D1C29 --- 45-28-41 --- 114 --- -13820887 +#2D1C29 --- 45-28-41 --- 114 --- -13820887 +#2E1C29 --- 46-28-41 --- 115 --- -13755351 +#2E1D29 --- 46-29-41 --- 116 --- -13755095 +#2F1D29 --- 47-29-41 --- 117 --- -13689559 +#301D2A --- 48-29-42 --- 119 --- -13624022 +#301D2A --- 48-29-42 --- 119 --- -13624022 +#311D2A --- 49-29-42 --- 120 --- -13558486 +#311E2A --- 49-30-42 --- 121 --- -13558230 +#321E2A --- 50-30-42 --- 122 --- -13492694 +#321E2A --- 50-30-42 --- 122 --- -13492694 +#331F2A --- 51-31-42 --- 124 --- -13426902 +#341F2B --- 52-31-43 --- 126 --- -13361365 +#341F2B --- 52-31-43 --- 126 --- -13361365 +#351F2B --- 53-31-43 --- 127 --- -13295829 +#35202C --- 53-32-44 --- 129 --- -13295572 +#36202C --- 54-32-44 --- 130 --- -13230036 +#36202C --- 54-32-44 --- 130 --- -13230036 +#37202C --- 55-32-44 --- 131 --- -13164500 +#37202C --- 55-32-44 --- 131 --- -13164500 +#38212C --- 56-33-44 --- 133 --- -13098708 +#39212C --- 57-33-44 --- 134 --- -13033172 +#39212D --- 57-33-45 --- 135 --- -13033171 +#3A222D --- 58-34-45 --- 137 --- -12967379 +#3B222D --- 59-34-45 --- 138 --- -12901843 +#3B222D --- 59-34-45 --- 138 --- -12901843 +#3B222D --- 59-34-45 --- 138 --- -12901843 +#3C232D --- 60-35-45 --- 140 --- -12836051 +#3C232D --- 60-35-45 --- 140 --- -12836051 +#3D232E --- 61-35-46 --- 142 --- -12770514 +#3E232E --- 62-35-46 --- 143 --- -12704978 +#3E232E --- 62-35-46 --- 143 --- -12704978 +#3F242F --- 63-36-47 --- 146 --- -12639185 +#40242F --- 64-36-47 --- 147 --- -12573649 +#40242F --- 64-36-47 --- 147 --- -12573649 +#41242F --- 65-36-47 --- 148 --- -12508113 +#41252F --- 65-37-47 --- 149 --- -12507857 +#42252F --- 66-37-47 --- 150 --- -12442321 +#42252F --- 66-37-47 --- 150 --- -12442321 +#432630 --- 67-38-48 --- 153 --- -12376528 +#432630 --- 67-38-48 --- 153 --- -12376528 +#442630 --- 68-38-48 --- 154 --- -12310992 +#452630 --- 69-38-48 --- 155 --- -12245456 +#452630 --- 69-38-48 --- 155 --- -12245456 +#462730 --- 70-39-48 --- 157 --- -12179664 +#462730 --- 70-39-48 --- 157 --- -12179664 +#472731 --- 71-39-49 --- 159 --- -12114127 +#472731 --- 71-39-49 --- 159 --- -12114127 +#482831 --- 72-40-49 --- 161 --- -12048335 +#482832 --- 72-40-50 --- 162 --- -12048334 +#492832 --- 73-40-50 --- 163 --- -11982798 +#4A2932 --- 74-41-50 --- 165 --- -11917006 +#4A2932 --- 74-41-50 --- 165 --- -11917006 +#4B2932 --- 75-41-50 --- 166 --- -11851470 +#4B2932 --- 75-41-50 --- 166 --- -11851470 +#4C2932 --- 76-41-50 --- 167 --- -11785934 +#4C2A33 --- 76-42-51 --- 169 --- -11785677 +#4D2A33 --- 77-42-51 --- 170 --- -11720141 +#4D2A33 --- 77-42-51 --- 170 --- -11720141 +#4E2A33 --- 78-42-51 --- 171 --- -11654605 +#4F2B33 --- 79-43-51 --- 173 --- -11588813 +#4F2B33 --- 79-43-51 --- 173 --- -11588813 +#502B33 --- 80-43-51 --- 174 --- -11523277 +#512B34 --- 81-43-52 --- 176 --- -11457740 +#512C34 --- 81-44-52 --- 177 --- -11457484 +#522C34 --- 82-44-52 --- 178 --- -11391948 +#522C35 --- 82-44-53 --- 179 --- -11391947 +#532C35 --- 83-44-53 --- 180 --- -11326411 +#532D35 --- 83-45-53 --- 181 --- -11326155 +#542D35 --- 84-45-53 --- 182 --- -11260619 +#542D35 --- 84-45-53 --- 182 --- -11260619 +#552D35 --- 85-45-53 --- 183 --- -11195083 +#562D35 --- 86-45-53 --- 184 --- -11129547 +#562E36 --- 86-46-54 --- 186 --- -11129290 +#572E36 --- 87-46-54 --- 187 --- -11063754 +#572E36 --- 87-46-54 --- 187 --- -11063754 +#582F36 --- 88-47-54 --- 189 --- -10997962 +#582F36 --- 88-47-54 --- 189 --- -10997962 +#592F36 --- 89-47-54 --- 190 --- -10932426 +#592F37 --- 89-47-55 --- 191 --- -10932425 +#5A3037 --- 90-48-55 --- 193 --- -10866633 +#5B3037 --- 91-48-55 --- 194 --- -10801097 +#5B3037 --- 91-48-55 --- 194 --- -10801097 +#5C3038 --- 92-48-56 --- 196 --- -10735560 +#5C3038 --- 92-48-56 --- 196 --- -10735560 +#5D3138 --- 93-49-56 --- 198 --- -10669768 +#5D3138 --- 93-49-56 --- 198 --- -10669768 +#5E3138 --- 94-49-56 --- 199 --- -10604232 +#5E3238 --- 94-50-56 --- 200 --- -10603976 +#5F3238 --- 95-50-56 --- 201 --- -10538440 +#603239 --- 96-50-57 --- 203 --- -10472903 +#603239 --- 96-50-57 --- 203 --- -10472903 +#613339 --- 97-51-57 --- 205 --- -10407111 +#623339 --- 98-51-57 --- 206 --- -10341575 +#623339 --- 98-51-57 --- 206 --- -10341575 +#63333A --- 99-51-58 --- 208 --- -10276038 +#63333A --- 99-51-58 --- 208 --- -10276038 +#63343A --- 99-52-58 --- 209 --- -10275782 +#64343A --- 100-52-58 --- 210 --- -10210246 +#65343A --- 101-52-58 --- 211 --- -10144710 +#65343B --- 101-52-59 --- 212 --- -10144709 +#66353B --- 102-53-59 --- 214 --- -10078917 +#67353B --- 103-53-59 --- 215 --- -10013381 +#67353B --- 103-53-59 --- 215 --- -10013381 +#68363B --- 104-54-59 --- 217 --- -9947589 +#68363B --- 104-54-59 --- 217 --- -9947589 +#69363B --- 105-54-59 --- 218 --- -9882053 +#69363C --- 105-54-60 --- 219 --- -9882052 +#6A363C --- 106-54-60 --- 220 --- -9816516 +#6A373C --- 106-55-60 --- 221 --- -9816260 +#6B373C --- 107-55-60 --- 222 --- -9750724 +#6C373D --- 108-55-61 --- 224 --- -9685187 +#6C373D --- 108-55-61 --- 224 --- -9685187 +#6C393E --- 108-57-62 --- 227 --- -9684674 +#6C3A3F --- 108-58-63 --- 229 --- -9684417 +#6D3B40 --- 109-59-64 --- 232 --- -9618624 +#6D3C41 --- 109-60-65 --- 234 --- -9618367 +#6D3E42 --- 109-62-66 --- 237 --- -9617854 +#6D3F43 --- 109-63-67 --- 239 --- -9617597 +#6E4044 --- 110-64-68 --- 242 --- -9551804 +#6D4145 --- 109-65-69 --- 243 --- -9617083 +#6E4247 --- 110-66-71 --- 247 --- -9551289 +#6E4448 --- 110-68-72 --- 250 --- -9550776 +#6E4549 --- 110-69-73 --- 252 --- -9550519 +#6E464A --- 110-70-74 --- 254 --- -9550262 +#6F474B --- 111-71-75 --- 257 --- -9484469 +#6F484C --- 111-72-76 --- 259 --- -9484212 +#6F4A4E --- 111-74-78 --- 263 --- -9483698 +#6F4B4E --- 111-75-78 --- 264 --- -9483442 +#6F4C50 --- 111-76-80 --- 267 --- -9483184 +#6F4D51 --- 111-77-81 --- 269 --- -9482927 +#6F4F52 --- 111-79-82 --- 272 --- -9482414 +#705053 --- 112-80-83 --- 275 --- -9416621 +#705154 --- 112-81-84 --- 277 --- -9416364 +#705255 --- 112-82-85 --- 279 --- -9416107 +#705357 --- 112-83-87 --- 282 --- -9415849 +#705558 --- 112-85-88 --- 285 --- -9415336 +#705659 --- 112-86-89 --- 287 --- -9415079 +#71575A --- 113-87-90 --- 290 --- -9349286 +#71585B --- 113-88-91 --- 292 --- -9349029 +#71595C --- 113-89-92 --- 294 --- -9348772 +#715B5D --- 113-91-93 --- 297 --- -9348259 +#725C5E --- 114-92-94 --- 300 --- -9282466 +#725D5F --- 114-93-95 --- 302 --- -9282209 +#725E60 --- 114-94-96 --- 304 --- -9281952 +#726061 --- 114-96-97 --- 307 --- -9281439 +#726163 --- 114-97-99 --- 310 --- -9281181 +#726264 --- 114-98-100 --- 312 --- -9280924 +#726365 --- 114-99-101 --- 314 --- -9280667 +#736466 --- 115-100-102 --- 317 --- -9214874 +#736667 --- 115-102-103 --- 320 --- -9214361 +#736768 --- 115-103-104 --- 322 --- -9214104 +#736869 --- 115-104-105 --- 324 --- -9213847 +#74696A --- 116-105-106 --- 327 --- -9148054 +#746A6C --- 116-106-108 --- 330 --- -9147796 +#746C6D --- 116-108-109 --- 333 --- -9147283 +#746D6E --- 116-109-110 --- 335 --- -9147026 +#746E6F --- 116-110-111 --- 337 --- -9146769 +#746F70 --- 116-111-112 --- 339 --- -9146512 +#757071 --- 117-112-113 --- 342 --- -9080719 +#757272 --- 117-114-114 --- 345 --- -9080206 +#757373 --- 117-115-115 --- 347 --- -9079949 +#757474 --- 117-116-116 --- 349 --- -9079692 +#757576 --- 117-117-118 --- 352 --- -9079434 +#757676 --- 117-118-118 --- 353 --- -9079178 +#757778 --- 117-119-120 --- 356 --- -9078920 +#767979 --- 118-121-121 --- 360 --- -9012871 +#767A7A --- 118-122-122 --- 362 --- -9012614 +#767B7B --- 118-123-123 --- 364 --- -9012357 +#767C7C --- 118-124-124 --- 366 --- -9012100 +#777D7D --- 119-125-125 --- 369 --- -8946307 +#777F7E --- 119-127-126 --- 372 --- -8945794 +#77807F --- 119-128-127 --- 374 --- -8945537 +#778181 --- 119-129-129 --- 377 --- -8945279 +#778382 --- 119-131-130 --- 380 --- -8944766 +#778383 --- 119-131-131 --- 381 --- -8944765 +#788584 --- 120-133-132 --- 385 --- -8878716 +#788685 --- 120-134-133 --- 387 --- -8878459 +#788786 --- 120-135-134 --- 389 --- -8878202 +#788887 --- 120-136-135 --- 391 --- -8877945 +#798988 --- 121-137-136 --- 394 --- -8812152 +#798A89 --- 121-138-137 --- 396 --- -8811895 +#798B8A --- 121-139-138 --- 398 --- -8811638 +#798C8B --- 121-140-139 --- 400 --- -8811381 +#798D8D --- 121-141-141 --- 403 --- -8811123 +#798F8E --- 121-143-142 --- 406 --- -8810610 +#79908F --- 121-144-143 --- 408 --- -8810353 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A918F --- 122-145-143 --- 410 --- -8744561 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9190 --- 122-145-144 --- 411 --- -8744560 +#7A9191 --- 122-145-145 --- 412 --- -8744559 +#7A9291 --- 122-146-145 --- 413 --- -8744303 +#7A9291 --- 122-146-145 --- 413 --- -8744303 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9291 --- 123-146-145 --- 414 --- -8678767 +#7B9292 --- 123-146-146 --- 415 --- -8678766 +#7B9292 --- 123-146-146 --- 415 --- -8678766 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7B9392 --- 123-147-146 --- 416 --- -8678510 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9392 --- 124-147-146 --- 417 --- -8612974 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9492 --- 124-148-146 --- 418 --- -8612718 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 +#7C9493 --- 124-148-147 --- 419 --- -8612717 diff --git a/Auto_Demo/text/toi-2.txt b/Auto_Demo/text/toi-2.txt new file mode 100644 index 0000000..8eb36bb --- /dev/null +++ b/Auto_Demo/text/toi-2.txt @@ -0,0 +1,619 @@ +#799291 --- 121-146-145 --- 412 --- -8809839 +#799291 --- 121-146-145 --- 412 --- -8809839 +#799291 --- 121-146-145 --- 412 --- -8809839 +#799291 --- 121-146-145 --- 412 --- -8809839 +#799291 --- 121-146-145 --- 412 --- -8809839 +#799291 --- 121-146-145 --- 412 --- -8809839 +#799291 --- 121-146-145 --- 412 --- -8809839 +#799291 --- 121-146-145 --- 412 --- -8809839 +#799291 --- 121-146-145 --- 412 --- -8809839 +#799191 --- 121-145-145 --- 411 --- -8810095 +#799191 --- 121-145-145 --- 411 --- -8810095 +#799191 --- 121-145-145 --- 411 --- -8810095 +#799191 --- 121-145-145 --- 411 --- -8810095 +#799190 --- 121-145-144 --- 410 --- -8810096 +#7A908F --- 122-144-143 --- 409 --- -8744817 +#7A908E --- 122-144-142 --- 408 --- -8744818 +#7A8E8D --- 122-142-141 --- 405 --- -8745331 +#7A8E8C --- 122-142-140 --- 404 --- -8745332 +#7B8D8B --- 123-141-139 --- 403 --- -8680053 +#7B8D8A --- 123-141-138 --- 402 --- -8680054 +#7C8B89 --- 124-139-137 --- 400 --- -8615031 +#7C8B88 --- 124-139-136 --- 399 --- -8615032 +#7C8A87 --- 124-138-135 --- 397 --- -8615289 +#7D8987 --- 125-137-135 --- 397 --- -8550009 +#7D8986 --- 125-137-134 --- 396 --- -8550010 +#7D8984 --- 125-137-132 --- 394 --- -8550012 +#7D8883 --- 125-136-131 --- 392 --- -8550269 +#7E8782 --- 126-135-130 --- 391 --- -8484990 +#7E8682 --- 126-134-130 --- 390 --- -8485246 +#7F8680 --- 127-134-128 --- 389 --- -8419712 +#7F857F --- 127-133-127 --- 387 --- -8419969 +#80847E --- 128-132-126 --- 386 --- -8354690 +#80837E --- 128-131-126 --- 385 --- -8354946 +#80837D --- 128-131-125 --- 384 --- -8354947 +#81827B --- 129-130-123 --- 382 --- -8289669 +#81817A --- 129-129-122 --- 380 --- -8289926 +#81807A --- 129-128-122 --- 379 --- -8290182 +#818079 --- 129-128-121 --- 378 --- -8290183 +#827F78 --- 130-127-120 --- 377 --- -8224904 +#827E76 --- 130-126-118 --- 374 --- -8225162 +#837D76 --- 131-125-118 --- 374 --- -8159882 +#837D75 --- 131-125-117 --- 373 --- -8159883 +#837C74 --- 131-124-116 --- 371 --- -8160140 +#847B72 --- 132-123-114 --- 369 --- -8094862 +#847A71 --- 132-122-113 --- 367 --- -8095119 +#847A71 --- 132-122-113 --- 367 --- -8095119 +#857970 --- 133-121-112 --- 366 --- -8029840 +#85786F --- 133-120-111 --- 364 --- -8030097 +#85776D --- 133-119-109 --- 361 --- -8030355 +#86766C --- 134-118-108 --- 360 --- -7965076 +#86756C --- 134-117-108 --- 359 --- -7965332 +#87756B --- 135-117-107 --- 359 --- -7899797 +#877469 --- 135-116-105 --- 356 --- -7900055 +#877368 --- 135-115-104 --- 354 --- -7900312 +#887267 --- 136-114-103 --- 353 --- -7835033 +#887267 --- 136-114-103 --- 353 --- -7835033 +#897166 --- 137-113-102 --- 352 --- -7769754 +#897064 --- 137-112-100 --- 349 --- -7770012 +#896F63 --- 137-111-99 --- 347 --- -7770269 +#896F62 --- 137-111-98 --- 346 --- -7770270 +#8A6E61 --- 138-110-97 --- 345 --- -7704991 +#8A6D60 --- 138-109-96 --- 343 --- -7705248 +#8A6C5F --- 138-108-95 --- 341 --- -7705505 +#8B6C5E --- 139-108-94 --- 341 --- -7639970 +#8B6A5D --- 139-106-93 --- 338 --- -7640483 +#8C6A5C --- 140-106-92 --- 338 --- -7574948 +#8C695B --- 140-105-91 --- 336 --- -7575205 +#8C685A --- 140-104-90 --- 334 --- -7575462 +#8D6759 --- 141-103-89 --- 333 --- -7510183 +#8D6758 --- 141-103-88 --- 332 --- -7510184 +#8E6657 --- 142-102-87 --- 331 --- -7444905 +#8E6556 --- 142-101-86 --- 329 --- -7445162 +#8E6455 --- 142-100-85 --- 327 --- -7445419 +#8F6454 --- 143-100-84 --- 327 --- -7379884 +#8F6353 --- 143-99-83 --- 325 --- -7380141 +#906252 --- 144-98-82 --- 324 --- -7314862 +#906151 --- 144-97-81 --- 322 --- -7315119 +#906050 --- 144-96-80 --- 320 --- -7315376 +#90604F --- 144-96-79 --- 319 --- -7315377 +#915F4E --- 145-95-78 --- 318 --- -7250098 +#915E4D --- 145-94-77 --- 316 --- -7250355 +#925D4C --- 146-93-76 --- 315 --- -7185076 +#925D4B --- 146-93-75 --- 314 --- -7185077 +#925C4A --- 146-92-74 --- 312 --- -7185334 +#935B49 --- 147-91-73 --- 311 --- -7120055 +#935A48 --- 147-90-72 --- 309 --- -7120312 +#945947 --- 148-89-71 --- 308 --- -7055033 +#935846 --- 147-88-70 --- 305 --- -7120826 +#915846 --- 145-88-70 --- 303 --- -7251898 +#905745 --- 144-87-69 --- 300 --- -7317691 +#8F5645 --- 143-86-69 --- 298 --- -7383483 +#8D5644 --- 141-86-68 --- 295 --- -7514556 +#8C5544 --- 140-85-68 --- 293 --- -7580348 +#8B5444 --- 139-84-68 --- 291 --- -7646140 +#895343 --- 137-83-67 --- 287 --- -7777469 +#875343 --- 135-83-67 --- 285 --- -7908541 +#865243 --- 134-82-67 --- 283 --- -7974333 +#855142 --- 133-81-66 --- 280 --- -8040126 +#835042 --- 131-80-66 --- 277 --- -8171454 +#825042 --- 130-80-66 --- 276 --- -8236990 +#814F41 --- 129-79-65 --- 273 --- -8302783 +#7F4E41 --- 127-78-65 --- 270 --- -8434111 +#7E4D40 --- 126-77-64 --- 267 --- -8499904 +#7C4C40 --- 124-76-64 --- 264 --- -8631232 +#7B4C40 --- 123-76-64 --- 263 --- -8696768 +#794B3F --- 121-75-63 --- 259 --- -8828097 +#784A3F --- 120-74-63 --- 257 --- -8893889 +#774A3F --- 119-74-63 --- 256 --- -8959425 +#75493E --- 117-73-62 --- 252 --- -9090754 +#74483E --- 116-72-62 --- 250 --- -9156546 +#73473D --- 115-71-61 --- 247 --- -9222339 +#71473D --- 113-71-61 --- 245 --- -9353411 +#6F463C --- 111-70-60 --- 241 --- -9484740 +#6E453C --- 110-69-60 --- 239 --- -9550532 +#6D443C --- 109-68-60 --- 237 --- -9616324 +#6B443B --- 107-68-59 --- 234 --- -9747397 +#6A433B --- 106-67-59 --- 232 --- -9813189 +#69423B --- 105-66-59 --- 230 --- -9878981 +#67423A --- 103-66-58 --- 227 --- -10010054 +#66413A --- 102-65-58 --- 225 --- -10075846 +#644039 --- 100-64-57 --- 221 --- -10207175 +#633F39 --- 99-63-57 --- 219 --- -10272967 +#613E39 --- 97-62-57 --- 216 --- -10404295 +#603E38 --- 96-62-56 --- 214 --- -10469832 +#5F3D38 --- 95-61-56 --- 212 --- -10535624 +#5D3C38 --- 93-60-56 --- 209 --- -10666952 +#5C3B37 --- 92-59-55 --- 206 --- -10732745 +#5A3B37 --- 90-59-55 --- 204 --- -10863817 +#593A37 --- 89-58-55 --- 202 --- -10929609 +#583936 --- 88-57-54 --- 199 --- -10995402 +#563936 --- 86-57-54 --- 197 --- -11126474 +#553835 --- 85-56-53 --- 194 --- -11192267 +#533735 --- 83-55-53 --- 191 --- -11323595 +#523635 --- 82-54-53 --- 189 --- -11389387 +#503634 --- 80-54-52 --- 186 --- -11520460 +#4F3534 --- 79-53-52 --- 184 --- -11586252 +#4E3434 --- 78-52-52 --- 182 --- -11652044 +#4C3333 --- 76-51-51 --- 178 --- -11783373 +#4B3333 --- 75-51-51 --- 177 --- -11848909 +#493233 --- 73-50-51 --- 174 --- -11980237 +#483132 --- 72-49-50 --- 171 --- -12046030 +#463032 --- 70-48-50 --- 168 --- -12177358 +#452F31 --- 69-47-49 --- 165 --- -12243151 +#442F31 --- 68-47-49 --- 164 --- -12308687 +#422E31 --- 66-46-49 --- 161 --- -12440015 +#412D30 --- 65-45-48 --- 158 --- -12505808 +#402D30 --- 64-45-48 --- 157 --- -12571344 +#3E2C30 --- 62-44-48 --- 154 --- -12702672 +#3D2B2F --- 61-43-47 --- 151 --- -12768465 +#3B2A2F --- 59-42-47 --- 148 --- -12899793 +#3A2A2E --- 58-42-46 --- 146 --- -12965330 +#38292E --- 56-41-46 --- 143 --- -13096658 +#37282D --- 55-40-45 --- 140 --- -13162451 +#36272D --- 54-39-45 --- 138 --- -13228243 +#34272D --- 52-39-45 --- 136 --- -13359315 +#33262C --- 51-38-44 --- 133 --- -13425108 +#31252C --- 49-37-44 --- 130 --- -13556436 +#30252C --- 48-37-44 --- 129 --- -13621972 +#2E242B --- 46-36-43 --- 125 --- -13753301 +#2D232B --- 45-35-43 --- 123 --- -13819093 +#2C222A --- 44-34-42 --- 120 --- -13884886 + + + +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2B212A --- 43-33-42 --- 118 --- -13950678 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A212A --- 42-33-42 --- 117 --- -14016214 +#2A2129 --- 42-33-41 --- 116 --- -14016215 +#2A2129 --- 42-33-41 --- 116 --- -14016215 +#2A2129 --- 42-33-41 --- 116 --- -14016215 +#2A2129 --- 42-33-41 --- 116 --- -14016215 +#2A2129 --- 42-33-41 --- 116 --- -14016215 +#292129 --- 41-33-41 --- 115 --- -14081751 +#292129 --- 41-33-41 --- 115 --- -14081751 +#292129 --- 41-33-41 --- 115 --- -14081751 +#292129 --- 41-33-41 --- 115 --- -14081751 +#292129 --- 41-33-41 --- 115 --- -14081751 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#292029 --- 41-32-41 --- 114 --- -14082007 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#282029 --- 40-32-41 --- 113 --- -14147543 +#281F29 --- 40-31-41 --- 112 --- -14147799 +#281F29 --- 40-31-41 --- 112 --- -14147799 +#281F29 --- 40-31-41 --- 112 --- -14147799 +#281F29 --- 40-31-41 --- 112 --- -14147799 +#281F29 --- 40-31-41 --- 112 --- -14147799 +#281F29 --- 40-31-41 --- 112 --- -14147799 +#271F29 --- 39-31-41 --- 111 --- -14213335 +#271F29 --- 39-31-41 --- 111 --- -14213335 +#271F29 --- 39-31-41 --- 111 --- -14213335 +#271F29 --- 39-31-41 --- 111 --- -14213335 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271F28 --- 39-31-40 --- 110 --- -14213336 +#271E28 --- 39-30-40 --- 109 --- -14213592 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261E28 --- 38-30-40 --- 108 --- -14279128 +#261D28 --- 38-29-40 --- 107 --- -14279384 +#261D28 --- 38-29-40 --- 107 --- -14279384 +#261D28 --- 38-29-40 --- 107 --- -14279384 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251D28 --- 37-29-40 --- 106 --- -14344920 +#251C28 --- 37-28-40 --- 105 --- -14345176 +#251C28 --- 37-28-40 --- 105 --- -14345176 +#251C28 --- 37-28-40 --- 105 --- -14345176 +#251C28 --- 37-28-40 --- 105 --- -14345176 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241C28 --- 36-28-40 --- 104 --- -14410712 +#241B28 --- 36-27-40 --- 103 --- -14410968 +#241B28 --- 36-27-40 --- 103 --- -14410968 +#241B28 --- 36-27-40 --- 103 --- -14410968 +#241B28 --- 36-27-40 --- 103 --- -14410968 +#241B28 --- 36-27-40 --- 103 --- -14410968 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231B28 --- 35-27-40 --- 102 --- -14476504 +#231A28 --- 35-26-40 --- 101 --- -14476760 +#231A28 --- 35-26-40 --- 101 --- -14476760 +#231A28 --- 35-26-40 --- 101 --- -14476760 +#231A28 --- 35-26-40 --- 101 --- -14476760 +#231A28 --- 35-26-40 --- 101 --- -14476760 +#231A28 --- 35-26-40 --- 101 --- -14476760 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221A28 --- 34-26-40 --- 100 --- -14542296 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#221928 --- 34-25-40 --- 99 --- -14542552 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211928 --- 33-25-40 --- 98 --- -14608088 +#211927 --- 33-25-39 --- 97 --- -14608089 +#211927 --- 33-25-39 --- 97 --- -14608089 +#211927 --- 33-25-39 --- 97 --- -14608089 +#211927 --- 33-25-39 --- 97 --- -14608089 +#211927 --- 33-25-39 --- 97 --- -14608089 +#211927 --- 33-25-39 --- 97 --- -14608089 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201927 --- 32-25-39 --- 96 --- -14673625 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#201827 --- 32-24-39 --- 95 --- -14673881 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1827 --- 31-24-39 --- 94 --- -14739417 +#1F1727 --- 31-23-39 --- 93 --- -14739673 +#1F1726 --- 31-23-38 --- 92 --- -14739674 +#1F1726 --- 31-23-38 --- 92 --- -14739674 +#1F1726 --- 31-23-38 --- 92 --- -14739674 +#1F1726 --- 31-23-38 --- 92 --- -14739674 +#1F1726 --- 31-23-38 --- 92 --- -14739674 +#1F1726 --- 31-23-38 --- 92 --- -14739674 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1726 --- 30-23-38 --- 91 --- -14805210 +#1E1725 --- 30-23-37 --- 90 --- -14805211 +#1E1725 --- 30-23-37 --- 90 --- -14805211 +#1E1725 --- 30-23-37 --- 90 --- -14805211 +#1E1725 --- 30-23-37 --- 90 --- -14805211 +#1E1725 --- 30-23-37 --- 90 --- -14805211 +#1D1725 --- 29-23-37 --- 89 --- -14870747 +#1D1725 --- 29-23-37 --- 89 --- -14870747 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1D1625 --- 29-22-37 --- 88 --- -14871003 +#1C1625 --- 28-22-37 --- 87 --- -14936539 +#1C1625 --- 28-22-37 --- 87 --- -14936539 +#1C1625 --- 28-22-37 --- 87 --- -14936539 +#1C1625 --- 28-22-37 --- 87 --- -14936539 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1624 --- 28-22-36 --- 86 --- -14936540 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1C1524 --- 28-21-36 --- 85 --- -14936796 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1524 --- 27-21-36 --- 84 --- -15002332 +#1B1424 --- 27-20-36 --- 83 --- -15002588 +#1B1424 --- 27-20-36 --- 83 --- -15002588 +#1B1424 --- 27-20-36 --- 83 --- -15002588 +#1B1424 --- 27-20-36 --- 83 --- -15002588 +#1A1424 --- 26-20-36 --- 82 --- -15068124 +#1A1424 --- 26-20-36 --- 82 --- -15068124 +#1A1424 --- 26-20-36 --- 82 --- -15068124 +#1A1424 --- 26-20-36 --- 82 --- -15068124 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#1A1423 --- 26-20-35 --- 81 --- -15068125 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191423 --- 25-20-35 --- 80 --- -15133661 +#191323 --- 25-19-35 --- 79 --- -15133917 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#191322 --- 25-19-34 --- 78 --- -15133918 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 +#181322 --- 24-19-34 --- 77 --- -15199454 diff --git a/packages/EntityFramework.6.4.4/.signature.p7s b/packages/EntityFramework.6.4.4/.signature.p7s new file mode 100644 index 0000000..05a60e1 Binary files /dev/null and b/packages/EntityFramework.6.4.4/.signature.p7s differ diff --git a/packages/EntityFramework.6.4.4/EntityFramework.6.4.4.nupkg b/packages/EntityFramework.6.4.4/EntityFramework.6.4.4.nupkg new file mode 100644 index 0000000..763f990 Binary files /dev/null and b/packages/EntityFramework.6.4.4/EntityFramework.6.4.4.nupkg differ diff --git a/packages/EntityFramework.6.4.4/Icon.png b/packages/EntityFramework.6.4.4/Icon.png new file mode 100644 index 0000000..a0f1fdb Binary files /dev/null and b/packages/EntityFramework.6.4.4/Icon.png differ diff --git a/packages/EntityFramework.6.4.4/build/EntityFramework.DefaultItems.props b/packages/EntityFramework.6.4.4/build/EntityFramework.DefaultItems.props new file mode 100644 index 0000000..101b9ff --- /dev/null +++ b/packages/EntityFramework.6.4.4/build/EntityFramework.DefaultItems.props @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/EntityFramework.6.4.4/build/EntityFramework.props b/packages/EntityFramework.6.4.4/build/EntityFramework.props new file mode 100644 index 0000000..91014e0 --- /dev/null +++ b/packages/EntityFramework.6.4.4/build/EntityFramework.props @@ -0,0 +1,3 @@ + + + diff --git a/packages/EntityFramework.6.4.4/build/EntityFramework.targets b/packages/EntityFramework.6.4.4/build/EntityFramework.targets new file mode 100644 index 0000000..c81120b --- /dev/null +++ b/packages/EntityFramework.6.4.4/build/EntityFramework.targets @@ -0,0 +1,152 @@ + + + + True + + + + + + + + + + + + $(IntermediateOutputPath)edmxResourcesToEmbed\ + + + + + + + + + + + + + + + + EntityDeploy; + $(BuildDependsOn) + + + + + + $(CleanDependsOn); + EntityClean; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/EntityFramework.6.4.4/build/Microsoft.Data.Entity.Build.Tasks.dll b/packages/EntityFramework.6.4.4/build/Microsoft.Data.Entity.Build.Tasks.dll new file mode 100644 index 0000000..f965df8 Binary files /dev/null and b/packages/EntityFramework.6.4.4/build/Microsoft.Data.Entity.Build.Tasks.dll differ diff --git a/packages/EntityFramework.6.4.4/build/netcoreapp3.0/EntityFramework.props b/packages/EntityFramework.6.4.4/build/netcoreapp3.0/EntityFramework.props new file mode 100644 index 0000000..3c4e0fc --- /dev/null +++ b/packages/EntityFramework.6.4.4/build/netcoreapp3.0/EntityFramework.props @@ -0,0 +1,6 @@ + + + True + + + diff --git a/packages/EntityFramework.6.4.4/build/netcoreapp3.0/EntityFramework.targets b/packages/EntityFramework.6.4.4/build/netcoreapp3.0/EntityFramework.targets new file mode 100644 index 0000000..38c2e08 --- /dev/null +++ b/packages/EntityFramework.6.4.4/build/netcoreapp3.0/EntityFramework.targets @@ -0,0 +1,3 @@ + + + diff --git a/packages/EntityFramework.6.4.4/buildTransitive/EntityFramework.props b/packages/EntityFramework.6.4.4/buildTransitive/EntityFramework.props new file mode 100644 index 0000000..8e7f640 --- /dev/null +++ b/packages/EntityFramework.6.4.4/buildTransitive/EntityFramework.props @@ -0,0 +1,3 @@ + + + diff --git a/packages/EntityFramework.6.4.4/buildTransitive/EntityFramework.targets b/packages/EntityFramework.6.4.4/buildTransitive/EntityFramework.targets new file mode 100644 index 0000000..848a0ce --- /dev/null +++ b/packages/EntityFramework.6.4.4/buildTransitive/EntityFramework.targets @@ -0,0 +1,3 @@ + + + diff --git a/packages/EntityFramework.6.4.4/buildTransitive/netcoreapp3.0/EntityFramework.props b/packages/EntityFramework.6.4.4/buildTransitive/netcoreapp3.0/EntityFramework.props new file mode 100644 index 0000000..70e61e2 --- /dev/null +++ b/packages/EntityFramework.6.4.4/buildTransitive/netcoreapp3.0/EntityFramework.props @@ -0,0 +1,3 @@ + + + diff --git a/packages/EntityFramework.6.4.4/buildTransitive/netcoreapp3.0/EntityFramework.targets b/packages/EntityFramework.6.4.4/buildTransitive/netcoreapp3.0/EntityFramework.targets new file mode 100644 index 0000000..1a44251 --- /dev/null +++ b/packages/EntityFramework.6.4.4/buildTransitive/netcoreapp3.0/EntityFramework.targets @@ -0,0 +1,3 @@ + + + diff --git a/packages/EntityFramework.6.4.4/content/net40/App.config.install.xdt b/packages/EntityFramework.6.4.4/content/net40/App.config.install.xdt new file mode 100644 index 0000000..8fd1933 --- /dev/null +++ b/packages/EntityFramework.6.4.4/content/net40/App.config.install.xdt @@ -0,0 +1,11 @@ + + +
+
+ + + + + + + diff --git a/packages/EntityFramework.6.4.4/content/net40/App.config.transform b/packages/EntityFramework.6.4.4/content/net40/App.config.transform new file mode 100644 index 0000000..4fa1b95 --- /dev/null +++ b/packages/EntityFramework.6.4.4/content/net40/App.config.transform @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/EntityFramework.6.4.4/content/net40/Web.config.install.xdt b/packages/EntityFramework.6.4.4/content/net40/Web.config.install.xdt new file mode 100644 index 0000000..8fd1933 --- /dev/null +++ b/packages/EntityFramework.6.4.4/content/net40/Web.config.install.xdt @@ -0,0 +1,11 @@ + + +
+
+ + + + + + + diff --git a/packages/EntityFramework.6.4.4/content/net40/Web.config.transform b/packages/EntityFramework.6.4.4/content/net40/Web.config.transform new file mode 100644 index 0000000..4fa1b95 --- /dev/null +++ b/packages/EntityFramework.6.4.4/content/net40/Web.config.transform @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.SqlServer.dll b/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.SqlServer.dll new file mode 100644 index 0000000..e9374ad Binary files /dev/null and b/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.SqlServer.dll differ diff --git a/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.SqlServer.xml b/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.SqlServer.xml new file mode 100644 index 0000000..f35049c --- /dev/null +++ b/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.SqlServer.xml @@ -0,0 +1,2022 @@ + + + + EntityFramework.SqlServer + + + + + An that retries actions that throw exceptions caused by SQL Azure transient failures. + + + This execution strategy will retry the operation on and + if the contains any of the following error numbers: + 40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20 + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for + number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the ASCII code value of the left-most character of a character expression. + The ASCII code of the first character in the input string. + A valid string. + + + Returns the character that corresponds to the specified integer ASCII value. + The character that corresponds to the specified ASCII value. + An ASCII code. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + + A of value that is the starting position of toFind if it is found in toSearch . + + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions. + The SOUNDEX difference between the two strings. + The first string. + The second string. + + + Returns the Unicode character with the specified integer code, as defined by the Unicode standard. + The character that corresponds to the input character code. + A character code. + + + Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types. + The starting character position where the string pattern was found. + A string pattern to search for. + The string to search. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with brackets added. + The expression that quote characters will be added to. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with the specified quote characters added. + The expression that quote characters will be added to. + The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used. + + + Repeats a string value a specified number of times. + The target string, repeated the number of times specified by count . + A valid string. + The value that specifies how many time to repeat target . + + + Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names. + The SOUNDEX code of the input string. + A valid string. + + + Returns a string of repeated spaces. + A string that consists of the specified number of spaces. + The number of spaces. If negative, a null string is returned. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position. + A string consisting of the two strings. + The target string. + The character position in stringinput where the replacement string is to be inserted. + The number of characters to delete from stringInput . If length is longer than stringInput , deletion occurs up to the last character in stringReplacement . + The substring to be inserted into stringInput . + + + Returns the integer value, as defined by the Unicode standard, for the first character of the input expression. + The character code for the first character in the input string. + A valid string. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + The angle, in radians, defined by the input cosine value. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + An angle, measured in radians. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the constant value of pi. + The numeric value of pi. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + The seed value. If seed is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns a new datetime value based on adding an interval to the specified date. + The new date. + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new time span value based on adding an interval to the specified time span. + The new time span. + The part of the date to increment. + The value used to increment a date by a specified amount. + The time span to increment. + + + Returns a new date value based on adding an interval to the specified date. + The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC). + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new datetime value based on adding an interval to the specified date. + + A of value that is the new date. + + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The value specifying the number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two Dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database timestamp. + + + Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database UTC timestamp. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input values. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the current date and time. + The current date and time. + + + Returns the name of the current user. + The name of the current user. + + + Returns the workstation name. + The name of the workstation. + + + Returns a database user name corresponding to a specified identification number. + The user name. + A user ID. + + + Returns a database user name corresponding to a specified identification number. + The user name. + + + Indicates whether the input value is a valid numeric type. + 1 if the input expression is a valid numeric data type; otherwise, 0. + A string expression. + + + Indicates whether the input value is a valid date or time. + 1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0. + The tested value. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns a hierarchyid representing the nth ancestor of this. + A hierarchyid representing the nth ancestor of this. + The hierarchyid value. + n + + + Returns a child node of the parent. + The hierarchyid value. + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + Returns an integer that represents the depth of the node this in the tree. + An integer that represents the depth of the node this in the tree. + The hierarchyid value. + + + Returns the root of the hierarchy tree. + The root of the hierarchy tree. + + + Returns true if this is a descendant of parent. + True if this is a descendant of parent. + The hierarchyid value. + parent + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + Hierarchyid value. + The hierarchyid value. + oldRoot + newRoot + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + Hierarchyid value. + input + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + + True since this provider supports the parameter optimization. + + + + The DbProviderServices implementation for the SqlClient provider for SQL Server. + + + Note that instance of this type also resolve additional provider services for Microsoft SQL Server + when this type is registered as an EF provider either using an entry in the application's config file + or through code-based registration in . + The services resolved are: + Requests for are resolved to a Singleton instance of + to create connections to LocalDB by default. + Requests for for the invariant name "System.Data.SqlClient" + for any server name are resolved to a delegate that returns a + to provide a non-retrying policy for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to instances to provide default Migrations SQL + generation for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to a Singleton instance of to provide default spatial + services for SQL Server. + + + + + This is the well-known string using in configuration files and code-based configuration as + the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and + Entity Framework provider services. + + + + + The Singleton instance of the SqlProviderServices type. + + + + + Set to the full name of the Microsoft.SqlServer.Types assembly to override the default selection + + + + + Get or sets a value indicating whether parameter values are truncated to + the scale (number of decimal places) defined for their corresponding columns when they are sent + to the database. A value of true indicates that objects + created for columns will have their + properties set, which will cause the parameter values to be truncated. If set to false + then the properties will not be set, avoiding the truncation + behavior of and allowing SQL Server to round values if necessary. + The default value is true to prevent breaking existing applications that depend on this + behavior. + + + + + Gets or sets a value indicating whether to use the SCOPE_IDENTITY() function to retrieve values + generated by the database for numeric columns during an INSERT operation. The default value of + true is recommended and can provide better performance if all numeric values are generated + using IDENTITY columns. If set to false, an OUTPUT clause will be used instead. An OUTPUT + clause makes it possible to retrieve values generated by sequences or other means. + + + + + Gets or sets a value indicating whether the ROW_NUMBER() function is used in sort expression + passed to the ORDER BY clause when OFFSET is present in query. The default value of true + is recommended to obtain query results that are stable for paging operations. The value of + false can be used for compatibility with previous versions of EF and will cause the sort + expression to be passed unmodified to the ORDER BY clause, which can lead to unstable results + if the ordering is ambiguous. + + + This flag only applies to SQL Server 2012 or later. This flag does not affect queries that have + already been translated to SQL and cached, therefore applications that need to set the value to + false for compatibility should do so before executing any queries. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object, given the connection and command tree + + provider manifest that was determined from metadata + command tree for the statement + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + can cause deadlocks. + So here overriding to provide a method that does not clone DesignTimeVisible. + + the object to clone + a clone of the + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + + Returns the provider manifest by using the specified version information. + + The token information associated with the provider manifest. + The provider manifest by using the specified version information. + + + + Gets a spatial data reader for SQL Server. + + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Gets a spatial data reader for SQL Server. + + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Create the database and the database objects. + If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename. + Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name. + However if we try to replicate the name under which it would be attached, the following scenario would fail: + The file does not exist, but registered with database. + The user calls: If (DatabaseExists) DeleteDatabase + CreateDatabase + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Delete the database for the given connection. + There are three cases: + 1. If Initial Catalog is specified (X) drop database X + 2. Else if AttachDBFilename is specified (F) drop all the databases corresponding to F + if none throw + 3. If niether the catalog not the file name is specified - throw + Note that directly deleting the files does not work for a remote server. However, even for not attached + databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase + + Connection + Timeout for internal commands. + Item Collection. + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against a Microsoft SQL Server database. + + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Converts a set of migration operations into Microsoft SQL Server specific SQL. + + The operations to be converted. + Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Generates the specified update database operation which represents applying a series of migrations. + The generated script is idempotent, meaning it contains conditional logic to check if individual migrations + have already been applied and only apply the pending ones. + + The update database operation. + + + + Generates SQL for a . + Allows derived providers to handle additional operation types. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Creates an empty connection for the current provider. + Allows derived providers to use connection other than . + + An empty connection for the current provider. + + + + Generates the specified create procedure operation. + + The create procedure operation. + + + + Generates the specified alter procedure operation. + + The alter procedure operation. + + + + Generates the specified drop procedure operation. + + The drop procedure operation. + + + + Generates SQL for a . This method differs from + in that it will + create the target database schema if it does not already exist. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Writes CREATE TABLE SQL to the target writer. + + The operation to produce SQL for. + The target writer. + + + + Override this method to generate SQL when the definition of a table or its attributes are changed. + The default implementation of this method does nothing. + + The operation describing changes to the table. + + + + Generates SQL to mark a table as a system table. + Generated SQL should be added using the Statement method. + + The table to mark as a system table. + The to write the generated SQL to. + + + + Generates SQL to create a database schema. + Generated SQL should be added using the Statement method. + + The name of the schema to create. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Call this method to generate SQL that will attempt to drop the default constraint created + when a column is created. This method is usually called by code that overrides the creation or + altering of columns. + + The table to which the constraint applies. + The column to which the constraint applies. + The writer to which generated SQL should be written. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement or StatementBatch methods. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates the specified rename procedure operation. + + The rename procedure operation. + + + + Generates the specified move procedure operation. + + The move procedure operation. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for the given column model. This method is called by other methods that + process columns and can be overridden to change the SQL generated. + + The column for which SQL is being generated. + The writer to which generated SQL should be written. + + + + Returns the column default value to use for store-generated GUID columns when + no default value is explicitly specified in the migration. + Returns newsequentialid() for on-premises SQL Server 2005 and later. + Returns newid() for SQL Azure. + + Either newsequentialid() or newid() as described above. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to specify a constant byte[] default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant bool default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTime default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTimeOffset default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant Guid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant string default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant TimeSpan default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant hierarchyid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geogrpahy default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geometry default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify the data type of a column. + This method just generates the actual type, not the SQL to create the column. + + The definition of the column. + SQL representing the data type. + + + + Generates a quoted name. The supplied name may or may not contain the schema. + + The name to be quoted. + The quoted name. + + + + Quotes an identifier for SQL Server. + + The identifier to be quoted. + The quoted identifier. + + + + Adds a new Statement to be executed against the database. + + The statement to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + The batch terminator for the database provider. + + + + Gets a new that can be used to build SQL. + This is just a helper method to create a writer. Writing to the writer will + not cause SQL to be registered for execution. You must pass the generated + SQL to the Statement method. + + An empty text writer to use for SQL generation. + + + + Adds a new Statement to be executed against the database. + + The writer containing the SQL to be executed. + The batch terminator for the database provider. + + + + Breaks sql string into one or more statements, handling T-SQL utility statements as necessary. + + The SQL to split into one ore more statements to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geography instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance. + The geography value. + + + Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geography instance is less than or equal to a specified value + The geography value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees. + the maximum angle between the point returned by EnvelopeCenter(). + The geography value. + + + Returns a point that can be used as the center of a bounding circle for the geography instance. + A SqlGeography value that specifies the location of the center of a bounding circle. + The geography value. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geography value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Tests if the SqlGeography instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geography value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Returns the total number of rings in a Polygon instance. + The total number of rings. + The geography value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geography value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings(). + A SqlGeography object that represents the ring specified by n. + The geography value. + An int expression between 1 and the number of rings in a polygon instance. + + + Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geometry instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance. + The geometry value. + + + Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geometry instance is less than or equal to a specified value + The geometry value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Tests if the SqlGeometry instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geometry value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geometry value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. + The converted geometry instance. + The geometry value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geometry value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + + An implementation of to provide support for geospatial types when using + Entity Framework with Microsoft SQL Server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.dll b/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.dll new file mode 100644 index 0000000..e567707 Binary files /dev/null and b/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.dll differ diff --git a/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.xml b/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.xml new file mode 100644 index 0000000..1c0d386 --- /dev/null +++ b/packages/EntityFramework.6.4.4/lib/net40/EntityFramework.xml @@ -0,0 +1,46779 @@ + + + + EntityFramework + + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + Implements the visitor pattern for the set clause. + The set clause. + + + Implements the visitor pattern for the modification clause. + The modification clause. + + + Implements the visitor pattern for the collection of modification clauses. + The modification clauses. + + + Implements the visitor pattern for the command tree. + The command tree. + + + Implements the visitor pattern for the delete command tree. + The delete command tree. + + + Implements the visitor pattern for the function command tree. + The function command tree. + + + Implements the visitor pattern for the insert command tree. + The insert command tree. + + + Implements the visitor pattern for the query command tree. + The query command tree. + + + Implements the visitor pattern for the update command tree. + The update command tree. + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + + Convenience method to visit the specified . + + The DbUnaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbBinaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbExpressionBinding to visit. + + + is null + + + + + Convenience method for post-processing after a DbExpressionBinding has been visited. + + The previously visited DbExpressionBinding. + + + + Convenience method to visit the specified . + + The DbGroupExpressionBinding to visit. + + + is null + + + + + Convenience method indicating that the grouping keys of a have been visited and the aggregates are now about to be visited. + + The DbGroupExpressionBinding of the DbGroupByExpression + + + + Convenience method for post-processing after a DbGroupExpressionBinding has been visited. + + The previously visited DbGroupExpressionBinding. + + + + Convenience method indicating that the body of a Lambda is now about to be visited. + + The DbLambda that is about to be visited + + + is null + + + + + Convenience method for post-processing after a DbLambda has been visited. + + The previously visited DbLambda. + + + + Convenience method to visit the specified , if non-null. + + The expression to visit. + + + is null + + + + + Convenience method to visit each in the given list, if the list is non-null. + + The list of expressions to visit. + + + is null + + + + + Convenience method to visit each in the list, if the list is non-null. + + The list of aggregates to visit. + + + is null + + + + + Convenience method to visit the specified . + + The aggregate to visit. + + + is null + + + + + Called when an of an otherwise unrecognized type is encountered. + + The expression + + + is null + + + Always thrown if this method is called, since it indicates that + + is of an unsupported type + + + + + Visitor pattern method for . + + The DbConstantExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbVariableReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbParameterReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFunctionExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLambdaExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbPropertyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbComparisonExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLikeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLimitExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbArithmeticExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbAndExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOrExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbInExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNotExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbDistinctExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbElementExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsEmptyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbUnionAllExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIntersectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExceptExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOfTypeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbTreatExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCastExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsOfExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCaseExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNewInstanceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRelationshipNavigationExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DeRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefKeyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbEntityRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbScanExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFilterExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbProjectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCrossJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbApplyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSkipExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSortExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbQuantifierExpression that is being visited. + + + is null + + + + Implements the basic functionality required by aggregates in a GroupBy clause. + + + + Gets the result type of this . + + + The result type of this . + + + + + Gets the list of expressions that define the arguments to this + + . + + + The list of expressions that define the arguments to this + + . + + + + Represents the logical AND of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + Represents an apply operation, which is the invocation of the specified function for each element in the specified input set. This class cannot be inherited. + + + + Gets the that specifies the function that is invoked for each element in the input set. + + + The that specifies the function that is invoked for each element in the input set. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + + Represents an arithmetic operation applied to numeric arguments. + Addition, subtraction, multiplication, division, modulo, and negation are arithmetic operations. + This class cannot be inherited. + + + + + Gets the list of elements that define the current arguments. + + + A fixed-size list of elements. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept two expression operands. + + + + Gets the that defines the left argument. + + + The that defines the left argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the left argument. + + + + + Gets the that defines the right argument. + + + The that defines the right argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the right argument. + + + + + Represents the When, Then, and Else clauses of the + + . This class cannot be inherited. + + + + + Gets the When clauses of this . + + + The When clauses of this . + + + + + Gets the Then clauses of this . + + + The Then clauses of this . + + + + + Gets the Else clause of this . + + + The Else clause of this . + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the result type of the + + . + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the type conversion of a single argument to the specified type. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + An immutable class that implements the basic functionality for the Query, Insert, Update, Delete, and function invocation command tree types. + + + + Gets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is true. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + Gets the name and corresponding type of each parameter that can be referenced within this + + . + + + The name and corresponding type of each parameter that can be referenced within this + + . + + + + + Gets the kind of this command tree. + + + + + Gets the metadata workspace used by this command tree. + + + + + Gets the data space in which metadata used by this command tree must reside. + + + + + Returns a that represents this command. + + + A that represents this command. + + + + + Describes the different "kinds" (classes) of command trees. + + + + + A query to retrieve data + + + + + Update existing data + + + + + Insert new data + + + + + Deleted existing data + + + + + Call a function + + + + Represents a comparison operation applied to two arguments. Equality, greater than, greater than or equal, less than, less than or equal, and inequality are comparison operations. This class cannot be inherited. + + DbComparisonExpression requires that its arguments have a common result type + that is equality comparable (for .Equals and .NotEquals), + order comparable (for .GreaterThan and .LessThan), + or both (for .GreaterThanOrEquals and .LessThanOrEquals). + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents different kinds of constants (literals). This class cannot be inherited. + + + Gets the constant value. + The constant value. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an unconditional join operation between the given collection arguments. This class cannot be inherited. + + + + Gets a list that provides the input sets to the join. + + + A list that provides the input sets to the join. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents a single row delete operation expressed as a command tree. This class cannot be inherited. + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be deleted. + + + + Gets an that specifies the predicate used to determine which members of the target collection should be deleted. + + + The predicate can include only the following elements: + + Equality expression + Constant expression + IsNull expression + Property expression + Reference expression to the target + And expression + Or expression + Not expression + + + + An that specifies the predicate used to determine which members of the target collection should be deleted. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents the an expression that retrieves an entity based on the specified reference. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Removes duplicate elements from the specified set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the conversion of the specified set argument to a singleton. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an expression that extracts a reference from the underlying entity instance. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the set subtraction operation between the left and right operands. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the base type for all expressions. + + + Gets the type metadata for the result type of the expression. + The type metadata for the result type of the expression. + + + Gets the kind of the expression, which indicates the operation of this expression. + The kind of the expression, which indicates the operation of this expression. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + The type of the result produced by . + + + An instance of . + + The type of the result produced by visitor. + + + + Determines whether the specified is equal to the current DbExpression instance. + + + True if the specified is equal to the current DbExpression instance; otherwise, false. + + + The object to compare to the current . + + + + Serves as a hash function for the type. + A hash code for the current expression. + + + + Creates a that represents the specified binary value, which may be null + + + A that represents the specified binary value. + + The binary value on which the returned expression should be based. + + + + Enables implicit casting from a byte array. + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Boolean value. + + + A that represents the specified Boolean value. + + The Boolean value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) byte value. + + + A that represents the specified byte value. + + The byte value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTime value. + + The DateTime value on which the returned expression should be based. + + + + Enables implicit casting from . + + The expression to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTimeOffset value. + + The DateTimeOffset value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) decimal value. + + + A that represents the specified decimal value. + + The decimal value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) double value. + + + A that represents the specified double value. + + The double value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeography value. + + The DbGeography value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeometry value. + + The DbGeometry value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified Guid value. + + The Guid value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int16 value. + + + A that represents the specified Int16 value. + + The Int16 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int32 value. + + + A that represents the specified Int32 value. + + The Int32 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int64 value. + + + A that represents the specified Int64 value. + + The Int64 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Single value. + + + A that represents the specified Single value. + + The Single value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified string value. + + + A that represents the specified string value. + + The string value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Describes a binding for an expression. Conceptually similar to a foreach loop + in C#. The DbExpression property defines the collection being iterated over, + while the Var property provides a means to reference the current element + of the collection during the iteration. DbExpressionBinding is used to describe the set arguments + to relational expressions such as , + and . + + + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + The expression is not associated with the command tree of the binding, or its result type is not equal or promotable to the result type of the current value of the property. + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + The variable reference. + + + + Contains values that each expression class uses to denote the operation it represents. The + + property of an + + can be retrieved to determine which operation that expression represents. + + + + + True for all. + + + + + Logical And. + + + + + True for any. + + + + + Conditional case statement. + + + + + Polymorphic type cast. + + + + + A constant value. + + + + + Cross apply + + + + + Cross join + + + + + Dereference. + + + + + Duplicate removal. + + + + + Division. + + + + + Set to singleton conversion. + + + + + Entity ref value retrieval. + + + + + Equality + + + + + Set subtraction + + + + + Restriction. + + + + + Full outer join + + + + + Invocation of a stand-alone function + + + + + Greater than. + + + + + Greater than or equal. + + + + + Grouping. + + + + + Inner join + + + + + Set intersection. + + + + + Empty set determination. + + + + + Null determination. + + + + + Type comparison (specified Type or Subtype). + + + + + Type comparison (specified Type only). + + + + + Left outer join + + + + + Less than. + + + + + Less than or equal. + + + + + String comparison. + + + + + Result count restriction (TOP n). + + + + + Subtraction. + + + + + Modulo. + + + + + Multiplication. + + + + + Instance, row, and set construction. + + + + + Logical Not. + + + + + Inequality. + + + + + Null. + + + + + Set members by type (or subtype). + + + + + Set members by (exact) type. + + + + + Logical Or. + + + + + Outer apply. + + + + + A reference to a parameter. + + + + + Addition. + + + + + Projection. + + + + + Retrieval of a static or instance property. + + + + + Reference. + + + + + Ref key value retrieval. + + + + + Navigation of a (composition or association) relationship. + + + + + Entity or relationship set scan. + + + + + Skip elements of an ordered collection. + + + + + Sorting. + + + + + Type conversion. + + + + + Negation. + + + + + Set union (with duplicates). + + + + + A reference to a variable. + + + + + Application of a lambda function + + + + + In. + + + + Defines the basic functionality that should be implemented by visitors that do not return a result value. + + + When overridden in a derived class, handles any expression of an unrecognized type. + The expression to be handled. + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + Visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + + + Defines the basic functionality that should be implemented by visitors that return a result value of a specific type. + The type of the result produced by the visitor. + + + When overridden in a derived class, handles any expression of an unrecognized type. + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern method for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + Typed visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + An instance of TResultType. + + + Represents a predicate applied to filter an input set. This produces the set of elements that satisfy the predicate. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that specifies the predicate used to filter the input set. + + + The that specifies the predicate used to filter the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Supports standard aggregate functions, such as MIN, MAX, AVG, SUM, and so on. This class cannot be inherited. + + + Gets a value indicating whether this aggregate is a distinct aggregate. + true if the aggregate is a distinct aggregate; otherwise, false. + + + Gets the method metadata that specifies the aggregate function to invoke. + The method metadata that specifies the aggregate function to invoke. + + + Represents the invocation of a database function. + + + + Constructs a new DbFunctionCommandTree that uses the specified metadata workspace, data space and function metadata + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + The that represents the function that is being invoked. + The expected result type for the function’s first result set. + The function's parameters. + + , or is null + + + does not represent a valid data space or + is a composable function + + + + + Gets the that represents the function that is being invoked. + + + The that represents the function that is being invoked. + + + + Gets the expected result type for the function’s first result set. + The expected result type for the function’s first result set. + + + Gets or sets the command tree kind. + The command tree kind. + + + Represents an invocation of a function. This class cannot be inherited. + + + Gets the metadata for the function to invoke. + The metadata for the function to invoke. + + + + Gets an list that provides the arguments to the function. + + + An list that provides the arguments to the function. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a collection of elements that compose a group. + + + Represents a group by operation. A group by operation is a grouping of the elements in the input set based on the specified key expressions followed by the application of the specified aggregates. This class cannot be inherited. + + + + Gets the that specifies the input set and provides access to the set element and group element variables. + + + The that specifies the input set and provides access to the set element and group element variables. + + + + + Gets a list that provides grouping keys. + + + A list that provides grouping keys. + + + + + Gets a list that provides the aggregates to apply. + + + A list that provides the aggregates to apply. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Defines the binding for the input set to a . + In addition to the properties of , DbGroupExpressionBinding + also provides access to the group element via the variable reference + and to the group aggregate via the property. + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the result type of the current value of the property. + + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + A reference to the element variable. + + + Gets the name assigned to the group element variable. + The name assigned to the group element variable. + + + Gets the type metadata of the group element variable. + The type metadata of the group element variable. + + + + Gets the that references the group element variable. + + A reference to the group element variable. + + + + Gets the that represents the collection of elements in the group. + + The elements in the group. + + + + Represents a boolean expression that tests whether a specified item matches any element in a list. + + + + + Gets a DbExpression that specifies the item to be matched. + + + + + Gets the list of DbExpression to test for a match. + + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of DbExpressionVisitor. + + + is null + + + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + + An instance of a typed DbExpressionVisitor that produces a result value of type TResultType. + + The type of the result produced by + + + + is null + + + An instance of . + + + + Represents a single row insert operation expressed as a command tree. This class cannot be inherited. + + Represents a single row insert operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar value indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + The list of insert set clauses that define the insert operation. . + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of insert set clauses that define the insert operation. + The list of insert set clauses that define the insert operation. + + + + Gets an that specifies a projection of results to be returned based on the modified rows. + + + An that specifies a projection of results to be returned based on the modified rows. null indicates that no results should be returned from this command. + + + + Gets the command tree kind. + The command tree kind. + + + Represents the set intersection operation between the left and right operands. This class cannot be inherited. + + DbIntersectExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an empty set determination applied to a single set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents null determination applied to a single argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the type comparison of a single argument against the specified type. This class cannot be inherited. + + + Gets the type metadata that the type metadata of the argument should be compared to. + The type metadata that the type metadata of the argument should be compared to. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + + + + Gets the that provides the left input. + + + The that provides the left input. + + + + + Gets the that provides the right input. + + + The that provides the right input. + + + + Gets the join condition to apply. + The join condition to apply. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a Lambda function that can be invoked to produce a + + . + + + + Gets the body of the lambda expression. + + A that represents the body of the lambda function. + + + + Gets the parameters of the lambda expression. + The list of lambda function parameters represented as DbVariableReferenceExpression objects. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null + + + + contains more than one element with the same variable name. + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null. + + + + contains more than one element with the same variable name. + + + + + Creates a new with a single argument of the specified type, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and single formal parameter. + + A that defines the EDM type of the argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A that defines the EDM type of the sixteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Allows the application of a lambda function to arguments represented by + + objects. + + + + + Gets the representing the Lambda function applied by this expression. + + + The representing the Lambda function applied by this expression. + + + + + Gets a list that provides the arguments to which the Lambda function should be applied. + + + The list. + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of . + + visitor is null + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + The type of the result produced by the expression visitor. + + An instance of a typed that produces a result value of type TResultType. + + The type of the result produced by visitor + visitor is null + + + Represents a string comparison against the specified pattern with an optional escape string. This class cannot be inherited. + + + Gets an expression that specifies the string to compare against the given pattern. + An expression that specifies the string to compare against the given pattern. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that specifies the pattern against which the given string should be compared. + An expression that specifies the pattern against which the given string should be compared. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that provides an optional escape string to use for the comparison. + An expression that provides an optional escape string to use for the comparison. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the restriction of the number of elements in the argument collection to the specified limit value. + + + Gets an expression that specifies the input collection. + An expression that specifies the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a collection type. + + + + Gets an expression that specifies the limit on the number of elements returned from the input collection. + An expression that specifies the limit on the number of elements returned from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or is not one of + + or + + , or its result type is not equal or promotable to a 64-bit integer type. + + + + + Gets whether the limit operation will include tied results. Including tied results might produce more results than specified by the + + value. + + true if the limit operation will include tied results; otherwise, false. The default is false. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a single clause in an insert or update modification operation, see + and + + + An abstract base class allows the possibility of patterns other than + Property = Value in future versions, e.g., + update SomeTable + set ComplexTypeColumn.SomeProperty() + where Id = 2 + + + + Represents a data manipulation language (DML) operation expressed as a command tree. + + + + Gets the that specifies the target table for the data manipulation language (DML) operation. + + + The that specifies the target table for the DML operation. + + + + Represents the construction of a new instance of a given type, including set and record types. This class cannot be inherited. + + + + Gets an list that provides the property/column values or set elements for the new instance. + + + An list that provides the property/column values or set elements for the new instance. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical NOT of a single Boolean argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a typed null literal. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the retrieval of elements of the specified type from the given set argument. This class cannot be inherited. + + + Gets the metadata of the type of elements that should be retrieved from the set argument. + The metadata of the type of elements that should be retrieved from the set argument. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical OR of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a parameter declared on the command tree that contains this expression. This class cannot be inherited. + + + Gets the name of the referenced parameter. + The name of the referenced parameter. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the projection of a given input set over the specified expression. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that defines the projection. + + + The that defines the projection. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the current projection. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Provides methods and properties for retrieving an instance property. This class cannot be inherited. + + + Gets the property metadata for the property to retrieve. + The property metadata for the property to retrieve. + + + + Gets a that defines the instance from which the property should be retrieved. + + + A that defines the instance from which the property should be retrieved. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the type that defines the property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Creates a new key/value pair based on this property expression. + + A new key/value pair with the key and value derived from the + + . + + + + + Enables implicit casting to . + + The expression to be converted. + The converted value. + + + Represents a quantifier operation of the specified kind over the elements of the specified input set. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Gets the Boolean predicate that should be evaluated for each element in the input set. + The Boolean predicate that should be evaluated for each element in the input set. + The expression is null. + + The expression is not associated with the command tree for the + + ,or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a query operation expressed as a command tree. This class cannot be inherited. + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + A boolean that indicates whether + filter over projection simplification should be used. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + + + or + + is null + + + + does not represent a valid data space + + + + + Gets an that defines the logic of the query operation. + + + An that defines the logic of the query operation. + + The expression is null. + The expression is associated with a different command tree. + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a strongly typed reference to a specific instance within an entity set. This class cannot be inherited. + + + Gets the metadata for the entity set that contains the instance. + The metadata for the entity set that contains the instance. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents the retrieval of the key value of the specified Reference as a row. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the navigation of a relationship. This class cannot be inherited. + + + Gets the metadata for the relationship over which navigation occurs. + The metadata for the relationship over which navigation occurs. + + + Gets the metadata for the relationship end to navigate from. + The metadata for the relationship end to navigate from. + + + Gets the metadata for the relationship end to navigate to. + The metadata for the relationship end to navigate to. + + + + Gets an that specifies the starting point of the navigation and must be a reference to an entity instance. + + + An that specifies the instance of the source relationship end from which navigation should occur. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the + + property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a 'scan' of all elements of a given entity set. + + + + Gets the metadata for the referenced entity or relationship set. + The metadata for the referenced entity or relationship set. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Specifies the clause in a modification operation that sets the value of a property. This class cannot be inherited. + + + + Gets an that specifies the property that should be updated. + + + An that specifies the property that should be updated. + + + + + Gets an that specifies the new value with which to update the property. + + + An that specifies the new value with which to update the property. + + + + + Skips a specified number of elements in the input set. + + can only be used after the input collection has been sorted as specified by the sort keys. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Gets an expression that specifies the number of elements to skip from the input collection. + An expression that specifies the number of elements to skip from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + ; the expression is not either a + + or a + + ; or the result type of the expression is not equal or promotable to a 64-bit integer type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a sort key that can be used as part of the sort order in a + + . This class cannot be inherited. + + + + Gets a Boolean value indicating whether or not this sort key uses an ascending sort order. + true if this sort key uses an ascending sort order; otherwise, false. + + + Gets a string value that specifies the collation for this sort key. + A string value that specifies the collation for this sort key. + + + + Gets the that provides the value for this sort key. + + + The that provides the value for this sort key. + + + + Represents a sort operation applied to the elements of the specified input set based on the given sort keys. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by + visitor + + + visitor + is null. + + + Represents a type conversion operation applied to a polymorphic argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept a single expression argument. + + + + Gets the that defines the argument. + + + The that defines the argument. + + The expression is null. + + The expression is not associated with the command tree of a + + , or its result type is not equal or promotable to the required type for the argument. + + + + + Represents the set union (without duplicate removal) operation between the left and right operands. + + + DbUnionAllExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a single-row update operation expressed as a command tree. This class cannot be inherited. + + Represents a single-row update operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be updated. + The list of update set clauses that define the update operation. + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of update set clauses that define the update operation. + The list of update set clauses that define the update operation. + + + + Gets an that specifies a projection of results to be returned, based on the modified rows. + + + An that specifies a projection of results to be returned based, on the modified rows. null indicates that no results should be returned from this command. + + + + + Gets an that specifies the predicate used to determine which members of the target collection should be updated. + + + An that specifies the predicate used to determine which members of the target collection should be updated. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a reference to a variable that is currently in scope. This class cannot be inherited. + + + Gets the name of the referenced variable. + The name of the referenced variable. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Visits each element of an expression tree from a given root expression. If any element changes, the tree is rebuilt back to the root and the new root expression is returned; otherwise the original root expression is returned. + + + + Initializes a new instance of the + + class. + + + + Replaces an old expression with a new one for the expression visitor. + The old expression. + The new expression. + + + Represents an event when the variable is rebound for the expression visitor. + The location of the variable. + The reference of the variable where it is rebounded. + + + Represents an event when entering the scope for the expression visitor with specified scope variables. + The collection of scope variables. + + + Exits the scope for the expression visitor. + + + Implements the visitor pattern for the expression. + The implemented visitor pattern. + The expression. + + + Implements the visitor pattern for the expression list. + The implemented visitor pattern. + The expression list. + + + Implements the visitor pattern for expression binding. + The implemented visitor pattern. + The expression binding. + + + Implements the visitor pattern for the expression binding list. + The implemented visitor pattern. + The expression binding list. + + + Implements the visitor pattern for the group expression binding. + The implemented visitor pattern. + The binding. + + + Implements the visitor pattern for the sort clause. + The implemented visitor pattern. + The sort clause. + + + Implements the visitor pattern for the sort order. + The implemented visitor pattern. + The sort order. + + + Implements the visitor pattern for the aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the function aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the group aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the Lambda function. + The implemented visitor pattern. + The lambda function. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the basic functionality required by expression types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the different kinds of constants. + The implemented visitor. + The constant expression. + + + Implements the visitor pattern for a reference to a typed null literal. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a variable that is currently in scope. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a parameter declared on the command tree that contains this expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for an invocation of a function. + The implemented visitor. + The function expression. + + + Implements the visitor pattern for the application of a lambda function to arguments represented by DbExpression objects. + The implemented visitor. + The expression. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the comparison operation applied to two arguments. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for a string comparison against the specified pattern with an optional escape string. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the restriction of the number of elements in the argument collection to the specified limit value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the null determination applied to a single argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the arithmetic operation applied to numeric arguments. + The implemented visitor. + The arithmetic expression. + + + Implements the visitor pattern for the logical AND expression. + The implemented visitor. + The logical AND expression. + + + Implements the visitor pattern for the logical OR of two Boolean arguments. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the DbInExpression. + The implemented visitor. + The DbInExpression that is being visited. + + + Implements the visitor pattern for the logical NOT of a single Boolean argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the removed duplicate elements from the specified set argument. + The implemented visitor. + The distinct expression. + + + Implements the visitor pattern for the conversion of the specified set argument to a singleton the conversion of the specified set argument to a singleton. + The implemented visitor. + The element expression. + + + Implements the visitor pattern for an empty set determination applied to a single set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set union operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set intersection operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set subtraction operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a type conversion operation applied to a polymorphic argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type comparison of a single argument against the specified type. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type conversion of a single argument to the specified type. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for the When, Then, and Else clauses. + The implemented visitor. + The case expression. + + + Implements the visitor pattern for the retrieval of elements of the specified type from the given set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the construction of a new instance of a given type, including set and record types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a strongly typed reference to a specific instance within an entity set. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the navigation of a relationship. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that retrieves an entity based on the specified reference. + The implemented visitor. + The DEREF expression. + + + Implements the visitor pattern for the retrieval of the key value from the underlying reference value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that extracts a reference from the underlying entity instance. + The implemented visitor. + The entity reference expression. + + + Implements the visitor pattern for a scan over an entity set or relationship set, as indicated by the Target property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a predicate applied to filter an input set. + The implemented visitor. + The filter expression. + + + Implements the visitor pattern for the projection of a given input set over the specified expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the unconditional join operation between the given collection arguments. + The implemented visitor. + The join expression. + + + Implements the visitor pattern for an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the invocation of the specified function for each element in the specified input set. + The implemented visitor. + The APPLY expression. + + + Implements the visitor pattern for a group by operation. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the skip expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a sort key that can be used as part of the sort order. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a quantifier operation of the specified kind over the elements of the specified input set. + The implemented visitor. + The expression. + + + + Provides an API to construct s and allows that API to be accessed as extension methods on the expression type itself. + + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + + Creates a new that uses a generated variable name to bind the given expression. + + A new expression binding with the specified expression and a generated variable name. + The expression to bind. + input is null. + input does not have a collection result. + + + + Creates a new that uses the specified variable name to bind the given expression + + A new expression binding with the specified expression and variable name. + The expression to bind. + The variable name that should be used for the binding. + input or varName is null. + input does not have a collection result. + + + Creates a new group expression binding that uses generated variable and group variable names to bind the given expression. + A new group expression binding with the specified expression and a generated variable name and group variable name. + The expression to bind. + input is null. + input does not have a collection result type. + + + + Creates a new that uses the specified variable name and group variable names to bind the given expression. + + A new group expression binding with the specified expression, variable name and group variable name. + The expression to bind. + The variable name that should be used for the binding. + The variable name that should be used to refer to the group when the new group expression binding is used in a group-by expression. + input, varName or groupVarName is null. + input does not have a collection result type. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The arguments over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new over the specified argument + + The argument over which to perform the nest operation + A new group aggregate representing the elements of the group referenced by the given argument. + + + is null + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a new with an ascending sort order and default collation. + + A new sort clause with the given sort key and ascending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and default collation. + + A new sort clause with the given sort key and descending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with an ascending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and ascending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and descending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that unconditionally joins the sets specified by the list of input expression bindings. + + + A new DbCrossJoinExpression, with an of CrossJoin, that represents the unconditional join of the input sets. + + A list of expression bindings that specifies the input sets. + inputs is null or contains null element. + inputs contains fewer than 2 expression bindings. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbFilterExpression that produces the filtered set. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that groups the elements of the input set according to the specified group keys and applies the given aggregates. + + A new DbGroupByExpression with the specified input set, grouping keys and aggregates. + + A that specifies the input set. + + A list of string-expression pairs that define the grouping columns. + A list of expressions that specify aggregates to apply. + input, keys or aggregates is null, keys contains a null column key or expression, or aggregates contains a null aggregate column name or aggregate. + Both keys and aggregates are empty, or an invalid or duplicate column name was specified. + + + + Creates a new that projects the specified expression over the given input set. + + A new DbProjectExpression that represents the projection operation. + An expression binding that specifies the input set. + An expression to project over the set. + input or projection is null. + + + + Creates a new that sorts the given input set by the given sort specifications before skipping the specified number of elements. + + A new DbSkipExpression that represents the skip operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + An expression the specifies how many elements of the ordered set to skip. + input, sortOrder or count is null, or sortOrder contains null. + + sortOrder is empty, or count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that sorts the given input set by the specified sort specifications. + + A new DbSortExpression that represents the sort operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + input or sortOrder is null, or sortOrder contains null. + sortOrder is empty. + + + + Creates a new , which represents a typed null value. + + An instance of DbNullExpression. + The type of the null value. + nullType is null. + + + + Gets a with the Boolean value true. + + + A with the Boolean value true. + + + + + Gets a with the Boolean value false. + + + A with the Boolean value false. + + + + + Creates a new with the given constant value. + + A new DbConstantExpression with the given value. + The constant value to represent. + value is null. + value is not an instance of a valid constant type. + + + + Creates a new of the specified primitive type with the given constant value. + + A new DbConstantExpression with the given value and a result type of constantType. + The type of the constant value. + The constant value to represent. + value or constantType is null. + value is not an instance of a valid constant type, constantType does not represent a primitive type, or value is of a different primitive type than that represented by constantType. + + + + Creates a new that references a parameter with the specified name and type. + + A DbParameterReferenceExpression that represents a reference to a parameter with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced parameter. + The name of the referenced parameter. + + + + Creates a new that references a variable with the specified name and type. + + A DbVariableReferenceExpression that represents a reference to a variable with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced variable. + The name of the referenced variable. + + + + Creates a new that references the specified entity or relationship set. + + A new DbScanExpression based on the specified entity or relationship set. + Metadata for the entity or relationship set to reference. + targetSet is null. + + + + Creates an that performs the logical And of the left and right arguments. + + A new DbAndExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left and right does not have a Boolean result type. + + + + Creates an that performs the logical Or of the left and right arguments. + + A new DbOrExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left or right does not have a Boolean result type. + + + + Creates a that matches the result of the specified + expression with the results of the constant expressions in the specified list. + + A DbExpression to be matched. + A list of DbConstantExpression to test for a match. + + A new DbInExpression with the specified arguments. + + + + or + + is null. + + + The result type of + + is different than the result type of an expression from + . + + + + + Creates a that performs the logical negation of the given argument. + + A new DbNotExpression with the specified argument. + A Boolean expression that specifies the argument. + argument is null. + argument does not have a Boolean result type. + + + + Creates a new that divides the left argument by the right argument. + + A new DbArithmeticExpression representing the division operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left or right. + + + + Creates a new that subtracts the right argument from the left argument. + + A new DbArithmeticExpression representing the subtraction operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that computes the remainder of the left argument divided by the right argument. + + A new DbArithmeticExpression representing the modulo operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that multiplies the left argument by the right argument. + + A new DbArithmeticExpression representing the multiplication operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that adds the left argument to the right argument. + + A new DbArithmeticExpression representing the addition operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that compares the left and right arguments for equality. + + A new DbComparisonExpression representing the equality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that compares the left and right arguments for inequality. + + A new DbComparisonExpression representing the inequality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than the right argument. + + A new DbComparisonExpression representing the greater-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than the right argument. + + A new DbComparisonExpression representing the less-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than or equal to the right argument. + + A new DbComparisonExpression representing the greater-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than or equal to the right argument. + + A new DbComparisonExpression representing the less-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common result type that is both equality- and order-comparable exists between left and right. + + + + Creates a new that determines whether the specified argument is null. + + A new DbIsNullExpression with the specified argument. + An expression that specifies the argument. + argument is null. + argument has a collection result type. + + + + Creates a new that compares the specified input string to the given pattern. + + A new DbLikeExpression with the specified input, pattern and a null escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + Argument or pattern is null. + Argument or pattern does not have a string result type. + + + + Creates a new that compares the specified input string to the given pattern using the optional escape. + + A new DbLikeExpression with the specified input, pattern and escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + An optional expression that specifies the escape string. + argument, pattern or escape is null. + argument, pattern or escape does not have a string result type. + + + + Creates a new that applies a cast operation to a polymorphic argument. + + A new DbCastExpression with the specified argument and target type. + The argument to which the cast should be applied. + Type metadata that specifies the type to cast to. + Argument or toType is null. + The specified cast is not valid. + + + + Creates a new . + + A new DbTreatExpression with the specified argument and type. + An expression that specifies the instance. + Type metadata for the treat-as type. + argument or treatType is null. + treatType is not in the same type hierarchy as the result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + A that specifies the input set. + + Type metadata for the type that elements of the input set must have to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of exactly the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + An that specifies the input set. + + Type metadata for the type that elements of the input set must match exactly to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that determines whether the given argument is of the specified type or a subtype. + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOf. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new expression that determines whether the given argument is of the specified type, and only that type (not a subtype). + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOfOnly. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new that retrieves a specific Entity given a reference expression. + + A new DbDerefExpression that retrieves the specified Entity. + + An that provides the reference. This expression must have a reference Type. + + argument is null. + argument does not have a reference result type. + + + + Creates a new that retrieves the ref of the specified entity in structural form. + + A new DbEntityRefExpression that retrieves a reference to the specified entity. + The expression that provides the entity. This expression must have an entity result type. + argument is null. + argument does not have an entity result type. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + entitySet or keyRow is null. + keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + The type of the Entity that the reference should refer to. + entitySet, keyRow or entityType is null. + entityType is not in the same type hierarchy as the entity set's entity type, or keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that retrieves the key values of the specified reference in structural form. + + A new DbRefKeyExpression that retrieves the key values of the specified reference. + The expression that provides the reference. This expression must have a reference Type with an Entity element type. + argument is null. + argument does not have a reference result type. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + An expression that specifies the instance from which navigation should occur. + Metadata for the property that represents the end of the relationship from which navigation should occur. + Metadata for the property that represents the end of the relationship to which navigation should occur. + fromEnd, toEnd or navigateFrom is null. + fromEnd and toEnd are not declared by the same relationship type, or navigateFrom has a result type that is not compatible with the property type of fromEnd. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + Metadata for the relation type that represents the relationship. + The name of the property of the relation type that represents the end of the relationship from which navigation should occur. + The name of the property of the relation type that represents the end of the relationship to which navigation should occur. + An expression the specifies the instance from which navigation should occur. + type, fromEndName, toEndName or navigateFrom is null. + type is not associated with this command tree's metadata workspace or navigateFrom is associated with a different command tree, or type does not declare a relation end property with name toEndName or fromEndName, or navigateFrom has a result type that is not compatible with the property type of the relation end property with name fromEndName. + + + + Creates a new that removes duplicates from the given set argument. + + A new DbDistinctExpression that represents the distinct operation applied to the specified set argument. + An expression that defines the set over which to perform the distinct operation. + argument is null. + argument does not have a collection result type. + + + + Creates a new that converts a set into a singleton. + + A DbElementExpression that represents the conversion of the set argument to a singleton. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is an empty set. + + A new DbIsEmptyExpression with the specified argument. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that computes the subtraction of the right set argument from the left set argument. + + A new DbExceptExpression that represents the difference of the left argument from the right argument. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left and right. + + + + Creates a new that computes the intersection of the left and right set arguments. + + A new DbIntersectExpression that represents the intersection of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left or right. + + + + Creates a new that computes the union of the left and right set arguments and does not remove duplicates. + + A new DbUnionAllExpression that union, including duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, or count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new . + + A new DbCaseExpression with the specified cases and default result. + A list of expressions that provide the conditional for of each case. + A list of expressions that provide the result of each case. + An expression that defines the result when no case is matched. + whenExpressions or thenExpressions is null or contains null, or elseExpression is null. + whenExpressions or thenExpressions is empty or whenExpressions contains an expression with a non-Boolean result type, or no common result type exists for all expressions in thenExpressions and elseExpression. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + A list of expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + Expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new Expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + A list of expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + Expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null.. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs an empty collection of the specified collection type. + + A new DbNewInstanceExpression with the specified collection type and an empty Arguments list. + The type metadata for the collection to create + collectionType is null. + collectionType is not a collection type. + + + + Creates a new that produces a row with the specified named columns and the given values, specified as expressions. + + A new DbNewInstanceExpression that represents the construction of the row. + A list of string-DbExpression key-value pairs that defines the structure and values of the row. + columnValues is null or contains an element with a null column name or expression. + columnValues is empty, or contains a duplicate or invalid column name. + + + + Creates a new representing the retrieval of the specified property. + + A new DbPropertyExpression representing the property retrieval. + The instance from which to retrieve the property. May be null if the property is static. + Metadata for the property to retrieve. + propertyMetadata is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the specified navigation property. + + A new DbPropertyExpression representing the navigation property retrieval. + The instance from which to retrieve the navigation property. + Metadata for the navigation property to retrieve. + navigationProperty or instance is null. + + + + Creates a new representing the retrieval of the specified relationship end member. + + A new DbPropertyExpression representing the relationship end member retrieval. + The instance from which to retrieve the relationship end member. + Metadata for the relationship end member to retrieve. + relationshipEnd is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the instance property with the specified name from the given instance. + + A new DbPropertyExpression that represents the property retrieval. + The instance from which to retrieve the property. + The name of the property to retrieve. + propertyName is null or instance is null and the property is not static. + No property with the specified name is declared by the type of instance. + + + + Creates a new representing setting a property to a value. + + The property to be set. + The value to set the property to. + The newly created set clause. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression that specifies the input set. + A method representing a predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by Predicate does not have a Boolean result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + source is null. + source does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + Source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the outer and inner expressions, on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + outer, inner, outerKey or innerKey is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The expressions produced by outerKey and innerKey are not comparable for equality. + + + + Creates a new that projects the specified selector over the sets specified by the outer and inner expressions, joined on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbProjectExpression with the specified selector as its projection, and a new DbJoinExpression as its input. The input DbJoinExpression is created with an + + of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + + A method that specifies how an element of the result set should be derived from elements of the inner and outer sets. This method must produce an instance of a type that is compatible with Join and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The type of the selector . + outer, inner, outerKey, innerKey or selector is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The result of selector is null after conversion to DbExpression. + The expressions produced by outerKey and innerKey is not comparable for equality. + The result of Selector is not compatible with SelectMany. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that selects the specified expression over the given input set. + + A new DbProjectExpression that represents the select operation. + An expression that specifies the input set. + + A method that specifies how to derive the projected expression given a member of the input set. This method must produce an instance of a type that is compatible with Select and can be resolved into a + + . Compatibility requirements for TProjection are described in remarks. + + The method result type of projection. + source or projection is null. + The result of projection is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the apply column from each row, producing the overall collection of apply results. + + + An new DbProjectExpression that selects the apply column from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + source or apply is null. + The expression produced by apply is null. + source does not have a collection result type. + The expression produced by apply does not have a collection type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the specified selector over each row, producing the overall collection of results. + + + An new DbProjectExpression that selects the result of the given selector from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + + A method that specifies how an element of the result set should be derived given an element of the input and apply sets. This method must produce an instance of a type that is compatible with SelectMany and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The method result type of selector. + source, apply or selector is null. + The expression produced by apply is null. + The result of selector is null on conversion to DbExpression. + source does not have a collection result type. + The expression produced by apply does not have a collection type. does not have a collection type. + + + + Creates a new that skips the specified number of elements from the given sorted input set. + + A new DbSkipExpression that represents the skip operation. + + A that specifies the sorted input set. + + An expression the specifies how many elements of the ordered set to skip. + argument or count is null. + + count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that computes the union of the left and right set arguments with duplicates removed. + + A new DbExpression that computes the union, without duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Provides an API to construct s that invoke canonical EDM functions, and allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'Avg' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the average value. + An expression that specifies the collection from which the average value should be computed. + + + + Creates a that invokes the canonical 'Count' function over the specified collection. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'BigCount' function over the specified collection. The result type of the expression is Edm.Int64. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'Max' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the maximum value. + An expression that specifies the collection from which the maximum value should be retrieved + + + + Creates a that invokes the canonical 'Min' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the minimum value. + An expression that specifies the collection from which the minimum value should be retrieved. + + + + Creates a that invokes the canonical 'Sum' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the sum. + An expression that specifies the collection from which the sum should be computed. + + + + Creates a that invokes the canonical 'StDev' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value over non-null members of the collection. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'StDevP' function over the population of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'Var' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value for the non-null members of the collection. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'VarP' function over the population of the specified collection. The result type of the expression Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'Concat' function with the specified arguments, which must each have a string result type. The result type of the expression is string. + + A new DbFunctionExpression that produces the concatenated string. + An expression that specifies the string that should appear first in the concatenated result string. + An expression that specifies the string that should appear second in the concatenated result string. + + + + Creates a that invokes the canonical 'Contains' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not searchedForString occurs within searchedString. + An expression that specifies the string to search for any occurrence of searchedForString. + An expression that specifies the string to search for in searchedString. + + + + Creates a that invokes the canonical 'EndsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument ends with suffix. + An expression that specifies the string that is searched at the end for string suffix. + An expression that specifies the target string that is searched for at the end of stringArgument. + + + + Creates a that invokes the canonical 'IndexOf' function with the specified arguments, which must each have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the first index of stringToFind in searchString. + An expression that specifies the string to search for stringToFind. + An expression that specifies the string to locate within searchString should be checked. + + + + Creates a that invokes the canonical 'Left' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the leftmost substring of length from stringArgument. + An expression that specifies the string from which to extract the leftmost substring. + An expression that specifies the length of the leftmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'Length' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the length of stringArgument. + An expression that specifies the string for which the length should be computed. + + + + Creates a that invokes the canonical 'Replace' function with the specified arguments, which must each have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression than returns a new string based on stringArgument where every occurrence of toReplace is replaced by replacement. + An expression that specifies the string in which to perform the replacement operation. + An expression that specifies the string that is replaced. + An expression that specifies the replacement string. + + + + Creates a that invokes the canonical 'Reverse' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that produces the reversed value of stringArgument. + An expression that specifies the string to reverse. + + + + Creates a that invokes the canonical 'Right' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the rightmost substring of length from stringArgument. + An expression that specifies the string from which to extract the rightmost substring. + An expression that specifies the length of the rightmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'StartsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument starts with prefix. + An expression that specifies the string that is searched at the start for string prefix. + An expression that specifies the target string that is searched for at the start of stringArgument. + + + + Creates a that invokes the canonical 'Substring' function with the specified arguments, which must have a string and integer numeric result types. The result type of the expression is string. + + A new DbFunctionExpression that returns the substring of length from stringArgument starting at start. + An expression that specifies the string from which to extract the substring. + An expression that specifies the starting index from which the substring should be taken. + An expression that specifies the length of the substring. + + + + Creates a that invokes the canonical 'ToLower' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to lower case. + An expression that specifies the string that should be converted to lower case. + + + + Creates a that invokes the canonical 'ToUpper' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to upper case. + An expression that specifies the string that should be converted to upper case. + + + + Creates a that invokes the canonical 'Trim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading and trailing space removed. + An expression that specifies the string from which leading and trailing space should be removed. + + + + Creates a that invokes the canonical 'RTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with trailing space removed. + An expression that specifies the string from which trailing space should be removed. + + + + Creates a that invokes the canonical 'LTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading space removed. + An expression that specifies the string from which leading space should be removed. + + + + Creates a that invokes the canonical 'Year' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer year value from dateValue. + An expression that specifies the value from which the year should be retrieved. + + + + Creates a that invokes the canonical 'Month' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer month value from dateValue. + An expression that specifies the value from which the month should be retrieved. + + + + Creates a that invokes the canonical 'Day' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day value from dateValue. + An expression that specifies the value from which the day should be retrieved. + + + + Creates a that invokes the canonical 'DayOfYear' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day of year value from dateValue. + An expression that specifies the value from which the day within the year should be retrieved. + + + + Creates a that invokes the canonical 'Hour' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer hour value from timeValue. + An expression that specifies the value from which the hour should be retrieved. + + + + Creates a that invokes the canonical 'Minute' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer minute value from timeValue. + An expression that specifies the value from which the minute should be retrieved. + + + + Creates a that invokes the canonical 'Second' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer second value from timeValue. + An expression that specifies the value from which the second should be retrieved. + + + + Creates a that invokes the canonical 'Millisecond' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer millisecond value from timeValue. + An expression that specifies the value from which the millisecond should be retrieved. + + + + Creates a that invokes the canonical 'GetTotalOffsetMinutes' function with the specified argument, which must have a DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes dateTimeOffsetArgument is offset from GMT. + An expression that specifies the DateTimeOffset value from which the minute offset from GMT should be retrieved. + + + + Creates a that gets local DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to DATETIME2, discarding offset part + An expression that specifies the DateTimeOffset value. + + + + Creates a that gets UTC DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to Utc DATETIME2 + An expression that specifies the DateTimeOffset value. + + + + Creates a that invokes the canonical 'CurrentDateTime' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'CurrentDateTimeOffset' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CurrentUtcDateTime' function. + + A new DbFunctionExpression that returns the current UTC date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'TruncateTime' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that returns the value of dateValue with time set to zero. + An expression that specifies the value for which the time portion should be truncated. + + + + Creates a that invokes the canonical 'CreateDateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTime. + + A new DbFunctionExpression that returns a new DateTime based on the specified values. + An expression that provides the year value for the new DateTime instance. + An expression that provides the month value for the new DateTime instance. + An expression that provides the day value for the new DateTime instance. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'CreateDateTimeOffset' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTimeOffset. + + A new DbFunctionExpression that returns a new DateTimeOffset based on the specified values. + An expression that provides the year value for the new DateTimeOffset instance. + An expression that provides the month value for the new DateTimeOffset instance. + An expression that provides the day value for the new DateTimeOffset instance. + An expression that provides the hour value for the new DateTimeOffset instance. + An expression that provides the minute value for the new DateTimeOffset instance. + An expression that provides the second value for the new DateTimeOffset instance. + An expression that provides the number of minutes in the time zone offset value for the new DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CreateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.Time. + + A new DbFunctionExpression that returns a new Time based on the specified values. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'AddYears' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of years specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of years to add to dateValue. + + + + Creates a that invokes the canonical 'AddMonths' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of months specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of months to add to dateValue. + + + + Creates a that invokes the canonical 'AddDays' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of days specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of days to add to dateValue. + + + + Creates a that invokes the canonical 'AddHours' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of hours specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of hours to add to timeValue. + + + + Creates a that invokes the canonical 'AddMinutes' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of minutes specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of minutes to add to timeValue. + + + + Creates a that invokes the canonical 'AddSeconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of seconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of seconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMilliseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of milliseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of milliseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMicroseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of microseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of microseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddNanoseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of nanoseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of nanoseconds to add to timeValue. + + + + Creates a that invokes the canonical 'DiffYears' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of years that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffMonths' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of months that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffDays' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of days that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffHours' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of hours that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMinutes' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffSeconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of seconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMilliseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of milliseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMicroseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of microseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffNanoseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of nanoseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'Round' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value. + An expression that specifies the numeric value to round. + + + + Creates a that invokes the canonical 'Round' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to round. + An expression that specifies the number of digits of precision to use when rounding. + + + + Creates a that invokes the canonical 'Floor' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the largest integer value not greater than value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Ceiling' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the smallest integer value not less than the value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Abs' function with the specified argument, which must each have a numeric result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the absolute value of value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Truncate' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that truncates the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to truncate. + An expression that specifies the number of digits of precision to use when truncating. + + + + Creates a that invokes the canonical 'Power' function with the specified arguments, which must have numeric result types. The result type of the expression is the same as the result type of baseArgument. + + A new DbFunctionExpression that returns the value of baseArgument raised to the power specified by exponent. + An expression that specifies the numeric value to raise to the given power. + An expression that specifies the power to which baseArgument should be raised. + + + + Creates a that invokes the canonical 'BitwiseAnd' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise AND of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseOr' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise OR of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseNot' function with the specified argument, which must have an integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise NOT of value. + An expression that specifies the first operand. + + + + Creates a that invokes the canonical 'BitwiseXor' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise XOR (exclusive OR) of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'NewGuid' function. + + A new DbFunctionExpression that returns a new GUID value. + + + + Provides an API to construct s that invoke hierarchyid realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'HierarchyIdParse' function with the + specified argument, which must have a string result type. + The result type of the expression is Edm.HierarchyId. + + An expression that provides the canonical representation of the hierarchyid value. + A new DbFunctionExpression that returns a new hierarchyid value based on the specified value. + + + is null. + + + No overload of the canonical 'HierarchyIdParse' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'HierarchyIdGetRoot' function. + The result type of the expression is Edm.HierarchyId. + + A new DbFunctionExpression that returns a new root hierarchyid value. + + + + Creates a that invokes the canonical 'GetAncestor' function with the + specified argument, which must have an Int32 result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides an integer value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + is null. + + + No overload of the canonical 'GetAncestor' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetDescendant' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetDescendant' function accept an argument with the result type of + + and + + . + + + + + Creates a that invokes the canonical 'GetLevel' function. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + A new DbFunctionExpression that returns the level of the given hierarchyid. + + + is null. + + + + + Creates a that invokes the canonical 'IsDescendantOf' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns an integer value. + + + or + + is null. + + + No overload of the canonical 'IsDescendantOf' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetReparentedValue' function with the + specified arguments, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetReparentedValue' function accept an argument with the result type of + + and + + . + + + + + Provides a constructor-like means of calling + + . + + + + + Initializes a new instance of the class with the specified first column value and optional successive column values. + + A key-value pair that provides the first column in the new row instance. (required) + A key-value pairs that provide any subsequent columns in the new row instance. (optional) + + + + Creates a new that constructs a new row based on the columns contained in this Row instance. + + A new DbNewInstanceExpression that constructs a row with the same column names and DbExpression values as this Row instance. + + + + Converts the given Row instance into an instance of + + The Row instance. + A DbExpression based on the Row instance + + + is null. + + + + + + Provides an API to construct s that invoke spatial realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geometry value based on the specified value. + An expression that provides the well known text representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known text representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromText' function with the specified arguments. pointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known text representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known text representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known text representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known text representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known text representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromText' function with the specified arguments. geometryCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known text representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified binary value. + An expression that provides the well known binary representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known binary representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known binary representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known binary representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromBinary' function with the specified arguments. geometryCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known binary representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified arguments. geometryMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geography value based on the specified value. + An expression that provides the well known text representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known text representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromText' function with the specified arguments. + + The canonical 'GeographyPointFromText' function. + An expression that provides the well-known text representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownTextValue. + + + + Creates a that invokes the canonical 'GeographyLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known text representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known text representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known text representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known text representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromText' function with the specified arguments. geographyCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known text representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified binary value. + An expression that provides the well known binary representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known binary representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography point value based on the specified values. + An expression that provides the well known binary representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownBinaryValue. + + + + Creates a that invokes the canonical 'GeographyLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known binary representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known binary representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known binary representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known binary representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromBinary' function with the specified arguments. geographyCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known binary representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified arguments. geographyMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'CoordinateSystemId' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer SRID value from spatialValue. + An expression that specifies the value from which the coordinate system id (SRID) should be retrieved. + + + + Creates a that invokes the canonical 'SpatialTypeName' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the string Geometry Type name from spatialValue. + An expression that specifies the value from which the Geometry Type name should be retrieved. + + + + Creates a that invokes the canonical 'SpatialDimension' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the Dimension value from spatialValue. + An expression that specifies the value from which the Dimension value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialEnvelope' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the minimum bounding box for geometryValue. + An expression that specifies the value from which the Envelope value should be retrieved. + + + + Creates a that invokes the canonical 'AsBinary' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Binary. + + A new DbFunctionExpression that returns the well known binary representation of spatialValue. + An expression that specifies the spatial value from which the well known binary representation should be produced. + + + + Creates a that invokes the canonical 'AsGml' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the Geography Markup Language (GML) representation of spatialValue. + An expression that specifies the spatial value from which the Geography Markup Language (GML) representation should be produced. + + + + Creates a that invokes the canonical 'AsText' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the well known text representation of spatialValue. + An expression that specifies the spatial value from which the well known text representation should be produced. + + + + Creates a that invokes the canonical 'IsEmptySpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue is empty. + An expression that specifies the spatial value from which the IsEmptySpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsSimpleGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is a simple geometry. + The geometry value. + + + + Creates a that invokes the canonical 'SpatialBoundary' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the boundary for geometryValue. + An expression that specifies the geometry value from which the SpatialBoundary value should be retrieved. + + + + Creates a that invokes the canonical 'IsValidGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is valid. + An expression that specifies the geometry value which should be tested for spatial validity. + + + + Creates a that invokes the canonical 'SpatialEquals' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are equal. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for equality. + + + + Creates a that invokes the canonical 'SpatialDisjoint' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are spatially disjoint. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for disjointness. + + + + Creates a that invokes the canonical 'SpatialIntersects' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 intersect. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for intersection. + + + + Creates a that invokes the canonical 'SpatialTouches' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 touches geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialCrosses' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 crosses geometryValue2 intersect. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialWithin' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially within geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialContains' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially contains geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialOverlaps' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially overlaps geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialRelate' function with the specified arguments, which must have Edm.Geometry and string result types. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially related to geometryValue2 according to the spatial relationship designated by intersectionPatternMatrix. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + An expression that specifies the text representation of the Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern used to compare geometryValue1 and geometryValue2. + + + + Creates a that invokes the canonical 'SpatialBuffer' function with the specified arguments, which must have a Edm.Geography or Edm.Geometry and Edm.Double result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a geometry value representing all points less than or equal to distance from spatialValue. + An expression that specifies the spatial value. + An expression that specifies the buffer distance. + + + + Creates a that invokes the canonical 'Distance' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns the distance between the closest points in spatialValue1 and spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value from which the distance from spatialValue1 should be measured. + + + + Creates a that invokes the canonical 'SpatialConvexHull' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the convex hull for geometryValue. + An expression that specifies the geometry value from which the convex hull value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialIntersection' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the intersection of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the intersection with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialUnion' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the union of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the union with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialSymmetricDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the symmetric difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the symmetric difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialElementCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of elements in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value from which the number of elements should be retrieved. + + + + Creates a that invokes the canonical 'SpatialElementAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the collection element at position indexValue in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value. + An expression that specifies the position of the element to be retrieved from within the geometry or geography collection. + + + + Creates a that invokes the canonical 'XCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the X co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the X co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'YCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Y co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the Y co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Elevation' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the elevation value of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the elevation (Z co-ordinate) value should be retrieved. + + + + Creates a that invokes the canonical 'Measure' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Measure of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the Measure (M) co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Latitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Latitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Latitude value should be retrieved. + + + + Creates a that invokes the canonical 'Longitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Longitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Longitude value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialLength' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the length of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the length should be retrieved. + + + + Creates a that invokes the canonical 'StartPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the start point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the start point should be retrieved. + + + + Creates a that invokes the canonical 'EndPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the end point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the end point should be retrieved. + + + + Creates a that invokes the canonical 'IsClosedSpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether spatialValue is closed, or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the IsClosedSpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsRing' function with the specified argument, which must have an Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether geometryValue is a ring (both closed and simple), or null if geometryValue is not a curve. + An expression that specifies the geometry curve value from which the IsRing value should be retrieved. + + + + Creates a that invokes the canonical 'PointCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of points in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value from which the number of points should be retrieved. + + + + Creates a that invokes the canonical 'PointAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the point at position indexValue in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value. + An expression that specifies the position of the point to be retrieved from within the line string. + + + + Creates a that invokes the canonical 'Area' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the area of spatialValue or null if spatialValue is not a surface. + An expression that specifies the spatial surface value for which the area should be calculated. + + + + Creates a that invokes the canonical 'Centroid' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the centroid point of geometryValue (which may not be on the surface itself) or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the centroid should be retrieved. + + + + Creates a that invokes the canonical 'PointOnSurface' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either a point guaranteed to be on the surface geometryValue or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the point should be retrieved. + + + + Creates a that invokes the canonical 'ExteriorRing' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the exterior ring of the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingCount' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of interior rings in the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingAt' function with the specified arguments. The first argument must have an Edm.Geometry result type. The second argument must have an integer numeric result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the interior ring at position indexValue in geometryValue or null if geometryValue is not a polygon. + The geometry value. + An expression that specifies the position of the interior ring to be retrieved from within the polygon. + + + + Ensures that all metadata in a given expression tree is from the specified metadata workspace, + potentially rebinding and rebuilding the expressions to appropriate replacement metadata where necessary. + + + + Initializes a new instance of the class. + The target workspace. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + + DataRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new object for a specific type with an enumerable collection of data fields. + + + The metadata for the type represented by this object, supplied by + + . + + + An enumerable collection of objects that represent column information. + + + + + Gets for this + + object. + + + A object. + + + + + Gets type info for this object as a object. + + + A value. + + + + + A prepared command definition, can be cached and reused to avoid + repreparing a command. + + + + + Initializes a new instance of the class using the supplied + + . + + + The supplied . + + method used to clone the + + + + Initializes a new instance of the class. + + + + + Creates and returns a object that can be executed. + + The command for database. + + + + Metadata Interface for all CLR types + + + + + Value to pass to GetInformation to get the StoreSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaMapping + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaDefinitionVersion3 + + + + + Value to pass to GetInformation to get the StoreSchemaMappingVersion3 + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinitionVersion3 + + + + + Name of the MaxLength Facet + + + + + Name of the Unicode Facet + + + + + Name of the FixedLength Facet + + + + + Name of the Precision Facet + + + + + Name of the Scale Facet + + + + + Name of the Nullable Facet + + + + + Name of the DefaultValue Facet + + + + + Name of the Collation Facet + + + + + Name of the SRID Facet + + + + + Name of the IsStrict Facet + + + + Gets the namespace used by this provider manifest. + The namespace used by this provider manifest. + + + When overridden in a derived class, returns the set of primitive types supported by the data source. + The set of types supported by the data source. + + + When overridden in a derived class, returns a collection of EDM functions supported by the provider manifest. + A collection of EDM functions. + + + Returns the FacetDescription objects for a particular type. + The FacetDescription objects for the specified EDM type. + The EDM type to return the facet description for. + + + When overridden in a derived class, this method maps the specified storage type and a set of facets for that type to an EDM type. + + The instance that describes an EDM type and a set of facets for that type. + + The TypeUsage instance that describes a storage type and a set of facets for that type to be mapped to the EDM type. + + + When overridden in a derived class, this method maps the specified EDM type and a set of facets for that type to a storage type. + The TypeUsage instance that describes a storage type and a set of facets for that type. + The TypeUsage instance that describes the EDM type and a set of facets for that type to be mapped to a storage type. + + + When overridden in a derived class, this method returns provider-specific information. + The XmlReader object that represents the mapping to the underlying data store catalog. + The type of the information to return. + + + Gets the provider-specific information. + The provider-specific information. + The type of the information to return. + + + Indicates if the provider supports escaping strings to be used as patterns in a Like expression. + True if this provider supports escaping strings to be used as patterns in a Like expression; otherwise, false. + If the provider supports escaping, the character that would be used as the escape character. + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + The default is false. Providers should change this to true only after testing that schema queries (as + used in the Database First flow) work correctly with this flag. + + True only if the provider supports the parameter optimization. + + + Provider writers should override this method to return the argument with the wildcards and the escape character escaped. This method is only used if SupportsEscapingLikeArgument returns true. + The argument with the wildcards and the escape character escaped. + The argument to be escaped. + + + + Returns a boolean that specifies whether the provider can handle expression trees + containing instances of DbInExpression. + The default implementation returns false for backwards compatibility. Derived classes can override this method. + + + false + + + + + Returns a boolean that specifies whether the provider can process expression trees not having DbProjectExpression + nodes directly under both Left and Right sides of DbUnionAllExpression and DbIntersectExpression + + + false + + + + + The factory for building command definitions; use the type of this object + as the argument to the IServiceProvider.GetService method on the provider + factory; + + + + + Constructs an EF provider that will use the obtained from + the app domain Singleton for resolving EF dependencies such + as the instance to use. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object given a command tree. + + command tree for the statement + an executable command definition object + + This method simply delegates to the provider's implementation of CreateDbCommandDefinition. + + + + Creates command definition from specified manifest and command tree. + The created command definition. + The manifest. + The command tree. + + + Creates a command definition object for the specified provider manifest and command tree. + An executable command definition object. + Provider manifest previously retrieved from the store provider. + Command tree for the statement. + + + + Create the default DbCommandDefinition object based on the prototype command + This method is intended for provider writers to build a default command definition + from a command. + Note: This will clone the prototype + + the prototype command + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + DbCommand can cause deadlocks. So here allow sub-classes to override. + + the object to clone + a clone of the + + + + Clones the connection. + + The original connection. + Cloned connection + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + Returns provider manifest token given a connection. + The provider manifest token. + Connection to provider. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + Returns the provider manifest by using the specified version information. + The provider manifest by using the specified version information. + The token information associated with the provider manifest. + + + When overridden in a derived class, returns an instance of a class that derives from the DbProviderManifest. + A DbProviderManifest object that represents the provider manifest. + The token information associated with the provider manifest. + + + + Gets the that will be used to execute methods that use the specified connection. + + The database connection + + A new instance of + + + + + Gets the that will be used to execute methods that use the specified connection. + This overload should be used by the derived classes for compatability with wrapping providers. + + The database connection + The provider invariant name + + A new instance of + + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + Gets the spatial services for the . + The spatial services. + Information about the database that the spatial services will be used for. + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The token information associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + Returns providers given a connection. + + The instanced based on the specified connection. + + Connection to provider. + + + Retrieves the DbProviderFactory based on the specified DbConnection. + The retrieved DbProviderFactory. + The connection to use. + + + + Return an XML reader which represents the CSDL description + + The name of the CSDL description. + An XmlReader that represents the CSDL description + + + Generates a data definition language (DDL script that creates schema objects (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + The provider manifest token identifying the target version. + The structure of the database. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Creates a database indicated by connection and creates schema objects + (tables, primary keys, foreign keys) based on the contents of storeItemCollection. + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Creates a database indicated by connection and creates schema objects (tables, primary keys, foreign keys) based on the contents of a StoreItemCollection. + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + Override this method to avoid creating the store item collection if it is not needed. The default implementation evaluates the Lazy and calls the other overload of this method. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + + Expands |DataDirectory| in the given path if it begins with |DataDirectory| and returns the expanded path, + or returns the given string if it does not start with |DataDirectory|. + + The path to expand. + The expanded path. + + + + Adds an that will be used to resolve additional default provider + services when a derived type is registered as an EF provider either using an entry in the application's + config file or through code-based registration in . + + The resolver to add. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + + Use this method to set, add, or change other provider-related services. Note that this method + will only be called for such services if they are not already explicitly configured in some + other way by the application. This allows providers to set default services while the + application is still able to override and explicitly configure each service if required. + See and for more details. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + An instance of the given type, or null if the service could not be resolved. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + All registered services that satisfy the given type and key, or an empty enumeration if there are none. + + + + A specialization of the ProviderManifest that accepts an XmlReader + + + + + Initializes a new instance of the class. + + + An object that provides access to the XML data in the provider manifest file. + + + + Gets the namespace name supported by this provider manifest. + The namespace name supported by this provider manifest. + + + Gets the best mapped equivalent Entity Data Model (EDM) type for a specified storage type name. + The best mapped equivalent EDM type for a specified storage type name. + + + Gets the best mapped equivalent storage primitive type for a specified storage type name. + The best mapped equivalent storage primitive type for a specified storage type name. + + + Returns the list of facet descriptions for the specified Entity Data Model (EDM) type. + + A collection of type that contains the list of facet descriptions for the specified EDM type. + + + An for which the facet descriptions are to be retrieved. + + + + Returns the list of primitive types supported by the storage provider. + + A collection of type that contains the list of primitive types supported by the storage provider. + + + + Returns the list of provider-supported functions. + + A collection of type that contains the list of provider-supported functions. + + + + + EntityRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new instance of the class of a specific entity type with an enumerable collection of data fields and with specific key and entity set information. + + + The of the entity represented by the + + described by this + + object. + + + An enumerable collection of objects that represent column information. + + The key for the entity. + The entity set to which the entity belongs. + + + + Gets the for the entity. + + The key for the entity. + + + + Public Entity SQL Parser class. + + + + Parse the specified query with the specified parameters. + + The containing + + and information describing inline function definitions if any. + + The EntitySQL query to be parsed. + The optional query parameters. + + + + Parse a specific query with a specific set variables and produce a + + . + + + The containing + + and information describing inline function definitions if any. + + The query to be parsed. + The optional query variables. + + + + Entity SQL query inline function definition, returned as a part of . + + + + Function name. + + + Function body and parameters. + + + Start position of the function definition in the eSQL query text. + + + End position of the function definition in the eSQL query text. + + + + Entity SQL Parser result information. + + + + A command tree produced during parsing. + + + + List of objects describing query inline function definitions. + + + + + FieldMetadata class providing the correlation between the column ordinals and MemberMetadata. + + + + + Initializes a new object with the specified ordinal value and field type. + + An integer specified the location of the metadata. + The field type. + + + + Gets the type of field for this object. + + + The type of field for this object. + + + + + Gets the ordinal for this object. + + An integer representing the ordinal value. + + + + Get the hierarchyid value of a column with the given ordinal + + The ordinal of the column to retrieve the value + The hierarchyid value + + + + Class representing a parameter collection used in EntityCommand + + + + + Gets an Integer that contains the number of elements in the + + . + + + The number of elements in the as an Integer. + + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true if the has a fixed size; otherwise false. + + + + + Gets a value that indicates whether the + + is read-only. + + + Returns true if the is read only; otherwise false. + + + + + Gets a value that indicates whether the + + is synchronized. + + + Returns true if the is synchronized; otherwise false. + + + + + Gets an object that can be used to synchronize access to the + + . + + + An object that can be used to synchronize access to the + + . + + + + + Adds the specified object to the . + + + The index of the new object. + + + An . + + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Removes all the objects from the + + . + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified one-dimensional + + starting at the specified destination index. + + + The one-dimensional that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the at which copying starts. + + + + + Returns an enumerator that iterates through the + + . + + + An for the + + . + + + + + + + + + + + Gets the location of the specified with the specified name. + + + The zero-based location of the specified with the specified case-sensitive name. Returns -1 when the object does not exist in the + + . + + + The case-sensitive name of the to find. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts an into the + + at the specified index. + + The zero-based index at which value should be inserted. + + An to be inserted in the + + . + + + + Removes the specified parameter from the collection. + + A object to remove from the collection. + + + + + Removes the from the + + at the specified index. + + + The zero-based index of the object to remove. + + + + + Removes the from the + + at the specified parameter name. + + + The name of the to remove. + + + + + + + + + + + Gets the at the specified index. + + + The at the specified index. + + The zero-based index of the parameter to retrieve. + The specified index does not exist. + + + + Gets the with the specified name. + + + The with the specified name. + + The name of the parameter to retrieve. + The specified name does not exist. + + + + Adds the specified object to the + + . + + + A new object. + + + The to add to the collection. + + + The specified in the value parameter is already added to this or another + + . + + + The parameter passed was not a . + + The value parameter is null. + + + + Adds a value to the end of the . + + + A object. + + The name of the parameter. + The value to be added. + + + + Adds a to the + + given the parameter name and the data type. + + + A new object. + + The name of the parameter. + + One of the values. + + + + + Adds a to the + + with the parameter name, the data type, and the column length. + + + A new object. + + The name of the parameter. + + One of the values. + + The column length. + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified + + starting at the specified destination index. + + + The that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the + + at which copying starts. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts a object into the + + at the specified index. + + The zero-based index at which value should be inserted. + + A object to be inserted in the + + . + + + + + Removes the specified from the collection. + + + A object to remove from the collection. + + + The parameter is not a . + + The parameter does not exist in the collection. + + + + Class representing a command for the conceptual layer + + + + + Initializes a new instance of the class using the specified values. + + + + + Initializes a new instance of the class with the specified statement. + + The text of the command. + + + + Constructs the EntityCommand object with the given eSQL statement and the connection object to use + + The eSQL command text to execute + The connection object + Resolver used to resolve DbProviderServices + + + + Initializes a new instance of the class with the specified statement and connection. + + The text of the command. + A connection to the data source. + + + + Initializes a new instance of the class with the specified statement, connection and transaction. + + The text of the command. + A connection to the data source. + The transaction in which the command executes. + + + + Gets or sets the used by the + + . + + The connection used by the entity command. + + + + The connection object used for executing the command + + + + Gets or sets an Entity SQL statement that specifies a command or stored procedure to execute. + The Entity SQL statement that specifies a command or stored procedure to execute. + + + Gets or sets the command tree to execute; only one of the command tree or the command text can be set, not both. + The command tree to execute. + + + Gets or sets the amount of time to wait before timing out. + The time in seconds to wait for the command to execute. + + + + Gets or sets a value that indicates how the + + property is to be interpreted. + + + One of the enumeration values. + + + + Gets the parameters of the Entity SQL statement or stored procedure. + The parameters of the Entity SQL statement or stored procedure. + + + + The collection of parameters for this command + + + + + Gets or sets the transaction within which the executes. + + + The transaction within which the executes. + + + + + The transaction that this command executes in + + + + Gets or sets how command results are applied to rows being updated. + + One of the values. + + + + Gets or sets a value that indicates whether the command object should be visible in a Windows Form Designer control. + true if the command object should be visible in a Windows Form Designer control; otherwise, false. + + + Gets or sets a value that indicates whether the query plan caching is enabled. + true if the query plan caching is enabled; otherwise, false. + + + + Cancels the execution of an . + + + + + Creates a new instance of an object. + + + A new instance of an object. + + + + + Create and return a new parameter object representing a parameter in the eSQL statement + + The parameter object. + + + Executes the command and returns a data reader. + + The that contains the results. + + + + + Compiles the into a command tree and passes it to the underlying store provider for execution, then builds an + + out of the produced result set using the specified + + . + + + The that contains the results. + + + One of the values. + + + + + Executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + A DbDataReader object + + + Executes the current command. + The number of rows affected. + + + Executes the command, and returns the first column of the first row in the result set. Additional columns or rows are ignored. + The first column of the first row in the result set, or a null reference (Nothing in Visual Basic) if the result set is empty. + + + Compiles the entity-level command and creates a prepared version of the command. + + + Compiles the entity-level command and returns the store command text. + The store command text. + + + + Class representing a connection for the conceptual layer. An entity connection may only + be initialized once (by opening the connection). It is subsequently not possible to change + the connection string, attach a new store connection, or change the store connection string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, based on the connection string. + + The provider-specific connection string. + An invalid connection string keyword has been provided, or a required connection string keyword has not been provided. + + + + Initializes a new instance of the class with a specified + and + . + + + A to be associated with this + . + + + The underlying data source connection for this object. + + The workspace or connection parameter is null. + The conceptual model is missing from the workspace.-or-The mapping file is missing from the workspace.-or-The storage model is missing from the workspace.-or-The connection is not in a closed state. + The connection is not from an ADO.NET Entity Framework-compatible provider. + + + + Constructs the EntityConnection from Metadata loaded in memory + + Workspace containing metadata information. + Store connection. + If set to true the store connection is disposed when the entity connection is disposed, otherwise the caller must dispose the store connection. + + + + Gets or sets the connection string. + + The connection string required to establish the initial connection to a data source. The default value is an empty string. On a closed connection, the currently set value is returned. If no value has been set, an empty string is returned. + + An attempt was made to set the property after the + + ’s was initialized. The + + is initialized either when the instance is constructed through the overload that takes a + + as a parameter, or when the + + instance has been opened. + + An invalid connection string keyword has been provided or a required connection string keyword has not been provided. + + + Gets the number of seconds to wait when attempting to establish a connection before ending the attempt and generating an error. + The time (in seconds) to wait for a connection to open. The default value is the underlying data provider's default time-out. + The value set is less than 0. + + + Gets the name of the current database, or the database that will be used after a connection is opened. + The value of the Database property of the underlying data provider. + The underlying data provider is not known. + + + + Gets the state of the EntityConnection, which is set up to track the state of the underlying + database connection that is wrapped by this EntityConnection. + + + + Gets the name or network address of the data source to connect to. + The name of the data source. The default value is an empty string. + The underlying data provider is not known. + + + Gets a string that contains the version of the data source to which the client is connected. + The version of the data source that is contained in the provider connection string. + The connection is closed. + + + + Gets the provider factory associated with EntityConnection + + + + + Provides access to the underlying data source connection that is used by the + + object. + + + The for the data source connection. + + + + + Returns the associated with this + + . + + + The associated with this + + . + + The inline connection string contains an invalid Metadata keyword value. + + + + Gets the current transaction that this connection is enlisted in. May be null. + + + + Establishes a connection to the data source by calling the underlying data provider's Open method. + An error occurs when you open the connection, or the name of the underlying data provider is not known. + The inline connection string contains an invalid Metadata keyword value. + + + + Creates a new instance of an , with the + + set to this + + . + + + An object. + + The name of the underlying data provider is not known. + + + + Create a new command object that uses this connection object + + The command object. + + + Closes the connection to the database. + An error occurred when closing the connection. + + + Not supported. + Not supported. + When the method is called. + + + Begins a transaction by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + Begins a transaction with the specified isolation level by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + The isolation level of the transaction. + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + + Begins a database transaction + + The isolation level of the transaction + An object representing the new transaction + + + + Enlists this in the specified transaction. + + The transaction object to enlist into. + + The state of the is not + + . + + + + + Cleans up this connection object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Class representing a connection string builder for the entity client provider + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the supplied connection string. + + A provider-specific connection string to the underlying data source. + + + Gets or sets the name of a section as defined in a configuration file. + The name of a section in a configuration file. + + + Gets or sets the name of the underlying .NET Framework data provider in the connection string. + The invariant name of the underlying .NET Framework data provider. + + + Gets or sets the metadata locations in the connection string. + Gets or sets the metadata locations in the connection string. + + + Gets or sets the inner, provider-specific connection string. + The inner, provider-specific connection string. + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true in every case, because the + + supplies a fixed-size collection of keyword/value pairs. + + + + + Gets an that contains the keys in the + + . + + + An that contains the keys in the + + . + + + + Gets or sets the value associated with the specified key. In C#, this property is the indexer. + The value associated with the specified key. + The key of the item to get or set. + keyword is a null reference (Nothing in Visual Basic). + Tried to add a key that does not exist in the available keys. + Invalid value in the connection string (specifically, a Boolean or numeric value was expected but not supplied). + + + + Clears the contents of the instance. + + + + + Determines whether the contains a specific key. + + + Returns true if the contains an element that has the specified key; otherwise, false. + + + The key to locate in the . + + + + + Retrieves a value corresponding to the supplied key from this + + . + + Returns true if keyword was found in the connection string; otherwise, false. + The key of the item to retrieve. + The value corresponding to keyword. + keyword contains a null value (Nothing in Visual Basic). + + + + Removes the entry with the specified key from the + + instance. + + Returns true if the key existed in the connection string and was removed; false if the key did not exist. + + The key of the keyword/value pair to be removed from the connection string in this + + . + + keyword is null (Nothing in Visual Basic) + + + + A data reader class for the entity client provider + + + + Gets a value indicating the depth of nesting for the current row. + The depth of nesting for the current row. + + + Gets the number of columns in the current row. + The number of columns in the current row. + + + + Gets a value that indicates whether this contains one or more rows. + + + true if the contains one or more rows; otherwise, false. + + + + + Gets a value indicating whether the is closed. + + + true if the is closed; otherwise, false. + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + The number of rows changed, inserted, or deleted. Returns -1 for SELECT statements; 0 if no rows were affected or the statement failed. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The name of the column. + + + + Gets the number of fields in the that are not hidden. + + The number of fields that are not hidden. + + + + Gets for this + + . + + The information of a data record. + + + + Closes the object. + + + + + Releases the resources consumed by this and calls + + . + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the value of the specified column as a Boolean. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a byte. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of bytes from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of bytes read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the value of the specified column as a single character. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of characters from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of characters read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the name of the data type of the specified column. + The name of the data type. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + + Returns a object for the requested column ordinal that can be overridden with a provider-specific implementation. + + A data reader. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a double-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the data type of the specified column. + The data type of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a single-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a globally-unique identifier (GUID). + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 16-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 32-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 64-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the name of the column, given the zero-based column ordinal. + The name of the specified column. + The zero-based column ordinal. + + + Gets the column ordinal given the name of the column. + The zero-based column ordinal. + The name of the column. + The name specified is not a valid column name. + + + Returns the provider-specific field type of the specified column. + + The object that describes the data type of the specified column. + + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Gets all provider-specific attribute columns in the collection for the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + + Returns a that describes the column metadata of the + + . + + + A that describes the column metadata. + + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Populates an array of objects with the column values of the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + Gets a value that indicates whether the column contains nonexistent or missing values. + + true if the specified column is equivalent to ; otherwise, false. + + The zero-based column ordinal. + + + Advances the reader to the next result when reading the results of a batch of statements. + true if there are more result sets; otherwise, false. + + + Advances the reader to the next record in a result set. + true if there are more rows; otherwise, false. + + + + Returns an that can be used to iterate through the rows in the data reader. + + + An that can be used to iterate through the rows in the data reader. + + + + + Returns a nested . + + The nested data record. + The number of the DbDataRecord to return. + + + + Returns nested readers as objects. + + + The nested readers as objects. + + The ordinal of the column. + + + + Class representing a parameter used in EntityCommand + + + + + Initializes a new instance of the class using the default values. + + + + + Initializes a new instance of the class using the specified parameter name and data type. + + The name of the parameter. + + One of the values. + + + + + Initializes a new instance of the class using the specified parameter name, data type and size. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + The name of the source column. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + One of the values. + + true to indicate that the parameter accepts null values; otherwise, false. + The number of digits used to represent the value. + The number of decimal places to which value is resolved. + The name of the source column. + + One of the values. + + The value of the parameter. + + + Gets or sets the name of the entity parameter. + The name of the entity parameter. + + + + Gets or sets the of the parameter. + + + One of the values. + + + + Gets or sets the type of the parameter, expressed as an EdmType. + The type of the parameter, expressed as an EdmType. + + + + Gets or sets the number of digits used to represent the + + property. + + The number of digits used to represent the value. + + + + Gets or sets the number of decimal places to which + + is resolved. + + The number of decimal places to which value is resolved. + + + Gets or sets the value of the parameter. + The value of the parameter. + + + Gets or sets the direction of the parameter. + + One of the values. + + + + Gets or sets a value that indicates whether the parameter accepts null values. + true if null values are accepted; otherwise, false. + + + Gets or sets the maximum size of the data within the column. + The maximum size of the data within the column. + + + + Gets or sets the name of the source column mapped to the and used for loading or returning the + + . + + The name of the source column mapped to the dataset and used for loading or returning the value. + + + Gets or sets a value that indicates whether source column is nullable. + true if source column is nullable; otherwise, false. + + + + Gets or sets the to use when loading the value. + + + One of the values. + + + + + Resets the type associated with the . + + + + Returns a string representation of the parameter. + A string representation of the parameter. + + + + Class representing a provider factory for the entity client provider + + + + + A singleton object for the entity client provider factory object. + This remains a public field (not property) because DbProviderFactory expects a field. + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + This method is currently not supported. + + + + Returns the requested class. + + + A new instance of . The supported types are + + , + + , and + + . Returns null (or Nothing in Visual Basic) for every other type. + + + The to return. + + + + + Class representing a transaction for the conceptual layer + + + + + Gets for this + + . + + + An to the underlying data source. + + + + + The connection object owning this transaction object + + + + + Gets the isolation level of this . + + + An enumeration value that represents the isolation level of the underlying transaction. + + + + + Gets the DbTransaction for the underlying provider transaction. + + + + Commits the underlying transaction. + + + Rolls back the underlying transaction. + + + + Cleans up this transaction object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Represents a failure while trying to prepare or execute a CommandCompilation + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a failure while trying to prepare or execute a CommandExecution + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provider exception - Used by the entity client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An identifier for an entity. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an entity set name and a generic + + collection. + + + A that is the entity set name qualified by the entity container name. + + + A generic collection.Each key/value pair has a property name as the key and the value of that property as the value. There should be one pair for each property that is part of the + + . The order of the key/value pairs is not important, but each key property should be included. The property names are simple names that are not qualified with an entity type name or the schema name. + + + + + Initializes a new instance of the class with an entity set name and an + + collection of + + objects. + + + A that is the entity set name qualified by the entity container name. + + + An collection of + + objects with which to initialize the key. + + + + + Initializes a new instance of the class with an entity set name and specific entity key pair. + + + A that is the entity set name qualified by the entity container name. + + + A that is the name of the key. + + + An that is the key value. + + + + + Gets a singleton EntityKey by which a read-only entity is identified. + + + + + Gets a singleton EntityKey identifying an entity resulted from a failed TREAT. + + + + Gets or sets the name of the entity set. + + A value that is the name of the entity set for the entity to which the + + belongs. + + + + Gets or sets the name of the entity container. + + A value that is the name of the entity container for the entity to which the + + belongs. + + + + + Gets or sets the key values associated with this . + + + A of key values for this + + . + + + + + Gets a value that indicates whether the is temporary. + + + true if the is temporary; otherwise, false. + + + + Gets the entity set for this entity key from the given metadata workspace. + + The for the entity key. + + The metadata workspace that contains the entity. + The entity set could not be located in the specified metadata workspace. + + + Returns a value that indicates whether this instance is equal to a specified object. + true if this instance and obj have equal values; otherwise, false. + + An to compare with this instance. + + + + + Returns a value that indicates whether this instance is equal to a specified + + . + + true if this instance and other have equal values; otherwise, false. + + An object to compare with this instance. + + + + + Serves as a hash function for the current object. + + is suitable for hashing algorithms and data structures such as a hash table. + + + A hash code for the current . + + + + + Compares two objects. + + true if the key1 and key2 values are equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Compares two objects. + + true if the key1 and key2 values are not equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream and provides an additional caller-defined context. + + + + Information about a key that is part of an EntityKey. + A key member contains the key name and value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified entity key pair. + + The name of the key. + The key value. + + + Gets or sets the name of the entity key. + The key name. + + + Gets or sets the value of the entity key. + The key value. + + + Returns a string representation of the entity key. + A string representation of the entity key. + + + + Represents an eSQL Query compilation exception; + The class of exceptional conditions that may cause this exception to be raised are mainly: + 1) Syntax Errors: raised during query text parsing and when a given query does not conform to eSQL formal grammar; + 2) Semantic Errors: raised when semantic rules of eSQL language are not met such as metadata or schema information + not accurate or not present, type validation errors, scoping rule violations, user of undefined variables, etc. + For more information, see eSQL Language Spec. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Gets a description of the error. + A string that describes the error. + + + Gets the approximate context where the error occurred, if available. + A string that describes the approximate context where the error occurred, if available. + + + Gets the approximate line number where the error occurred. + An integer that describes the line number where the error occurred. + + + Gets the approximate column number where the error occurred. + An integer that describes the column number where the error occurred. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + DataRecord interface supporting structured types and rich metadata information. + + + + + Gets for this + + . + + + A object. + + + + + Gets a object with the specified index. + + + A object. + + The index of the row. + + + + Returns nested readers as objects. + + + Nested readers as objects. + + The ordinal of the column. + + + + Thrown to indicate that a command tree is invalid. + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Mapping exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents the Mapping metadata for an AssociationSet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the AssociationSetMapping elements in the + above example. And it is possible to access the AssociationTypeMap underneath it. + There will be only one TypeMap under AssociationSetMap. + + + + + Initializes a new AssociationSetMapping instance. + + The association set to be mapped. + The store entity set to be mapped. + The parent container mapping. + + + + Gets the association set that is mapped. + + + + + Gets the contained association type mapping. + + + + + Gets or sets the corresponding function mapping. Can be null. + + + + + Gets the store entity set that is mapped. + + + + + Gets or sets the source end property mapping. + + + + + Gets or sets the target end property mapping. + + + + + Gets the property mapping conditions. + + + + + Adds a property mapping condition. + + The condition to add. + + + + Removes a property mapping condition. + + The property mapping condition to remove. + + + + Describes modification function mappings for an association set. + + + + + Initializes a new AssociationSetModificationFunctionMapping instance. + + An association set. + A delete function mapping. + An insert function mapping. + + + + Gets the association set. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + + + + Represents the Mapping metadata for an association type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all association Type map elements in the + above example. Users can access the table mapping fragments under the + association type mapping through this class. + + + + + Creates an AssociationTypeMapping instance. + + The AssociationSetMapping that + the contains this AssociationTypeMapping. + + + + Gets the AssociationSetMapping that contains this AssociationTypeMapping. + + + + + Gets the association type being mapped. + + + + + Gets the single mapping fragment. + + + + + Mapping metadata for Complex properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the complex property map elements in the + above example. ComplexPropertyMaps contain ComplexTypeMaps which define mapping based + on the type of the ComplexProperty in case of inheritance. + + + + + Construct a new Complex Property mapping object + + The MemberMetadata object that represents this Complex member + + + + Gets a read only collections of type mappings corresponding to the + nested complex types. + + + + + Adds a type mapping corresponding to a nested complex type. + + The complex type mapping to be added. + + + + Removes a type mapping corresponding to a nested complex type. + + The complex type mapping to be removed. + + + + Mapping metadata for Complex Types. + + + + + Creates a ComplexTypeMapping instance. + + The ComplexType being mapped. + + + + Gets the ComplexType being mapped. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Mapping metadata for Conditional property mapping on a type. + Condition Property Mapping specifies a Condition either on the C side property or S side property. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the condition property map elements in the + above example. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Mapping metadata for End property of an association. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the end property map elements in the + above example. EndPropertyMaps provide mapping for each end of the association. + + + + + Creates an association end property mapping. + + An AssociationEndMember that specifies + the association end to be mapped. + + + + Gets an AssociationEndMember that specifies the mapped association end. + + + + + Gets a ReadOnlyCollection of ScalarPropertyMapping that specifies the children + of this association end property mapping. + + + + + Adds a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be added. + + + + Removes a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be removed. + + + + Represents the Mapping metadata for the EntityContainer map in CS space. + Only one EntityContainerMapping element is allowed in the MSL file for CS mapping. + + + For Example if conceptually you could represent the CS MSL file as following + ---Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --AssociationSetMapping + The type represents the metadata for EntityContainerMapping element in the above example. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + We currently assume that an Entity Container on the C side + is mapped to a single Entity Container in the S - space. + + + + + Initializes a new EntityContainerMapping instance. + + The conceptual entity container to be mapped. + The store entity container to be mapped. + The parent mapping item collection. + Flag indicating whether to generate update views. + + + + Gets the parent mapping item collection. + + + + + Gets the type kind for this item + + + + + Gets the conceptual entity container. + + + + + Gets the store entity container. + + + + + Gets the entity set mappings. + + + + + Gets the association set mappings. + + + + + Gets the function import mappings. + + + + + Gets a flag that indicates whether to generate the update views or not. + + + + + Adds an entity set mapping. + + The entity set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds an association set mapping. + + The association set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds a function import mapping. + + The function import mapping to add. + + + + Removes a function import mapping. + + The function import mapping to remove. + + + + Represents the Mapping metadata for an Extent in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for all the extent map elements in the + above example namely EntitySetMapping, AssociationSetMapping and CompositionSetMapping. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + + + Gets the parent container mapping. + + + + + Gets or sets the query view associated with this mapping. + + + + + Represents the Mapping metadata for an EntitySet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the EntitySetMapping elements in the + above example. And it is possible to access the EntityTypeMaps underneath it. + + + + + Initializes a new EntitySetMapping instance. + + The entity set to be mapped. + The parent container mapping. + + + + Gets the entity set that is mapped. + + + + + Gets the contained entity type mappings. + + + + + Gets the corresponding function mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Adds a function mapping. + + The function mapping to add. + + + + Removes a function mapping. + + The function mapping to remove. + + + + Mapping metadata for Entity type. + If an EntitySet represents entities of more than one type, than we will have + more than one EntityTypeMapping for an EntitySet( For ex : if + PersonSet Entity extent represents entities of types Person and Customer, + than we will have two EntityType Mappings under mapping for PersonSet). + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all entity Type map elements in the + above example. Users can access the table mapping fragments under the + entity type mapping through this class. + + + + + Creates an EntityTypeMapping instance. + + The EntitySetMapping that contains this EntityTypeMapping. + + + + Gets the EntitySetMapping that contains this EntityTypeMapping. + + + + + Gets the single EntityType being mapped. Throws exception in case of hierarchy type mapping. + + + + + Gets a flag that indicates whether this is a type hierarchy mapping. + + + + + Gets a read-only collection of mapping fragments. + + + + + Gets the mapped entity types. + + + + + Gets the mapped base types for a hierarchy mapping. + + + + + Adds an entity type to the mapping. + + The EntityType to be added. + + + + Removes an entity type from the mapping. + + The EntityType to be removed. + + + + Adds an entity type hierarchy to the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be added. + + + + Removes an entity type hierarchy from the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be removed. + + + + Adds a mapping fragment. + + The mapping fragment to be added. + + + + Removes a mapping fragment. + + The mapping fragment to be removed. + + + + Describes modification function mappings for an entity type within an entity set. + + + + + Initializes a new EntityTypeModificationFunctionMapping instance. + + An entity type. + A delete function mapping. + An insert function mapping. + An updated function mapping. + + + + Gets the entity type. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + Gets the update function mapping. + + + + + + + + Base class for the type created at design time to store the generated views. + + + + Returns the key/value pair at the specified index, which contains the view and its key. + The key/value pair at index , which contains the view and its key. + The index of the view. + + + + Gets or sets the name of . + + The container name. + + + + Gets or sets in storage schema. + + Container name. + + + Hash value. + Hash value. + + + Hash value of views. + Hash value. + + + Gets or sets view count. + View count. + + + + Attribute to mark the assemblies that contain the generated views type. + + + + + Initializes a new instance of the class. + + The view type. + + + Gets the T:System.Type of the view. + The T:System.Type of the view. + + + + Represents a complex type mapping for a function import result. + + + + + Initializes a new FunctionImportComplexTypeMapping instance. + + The return type. + The property mappings for the result type of a function import. + + + + Ges the return type. + + + + + Represents a function import entity type mapping. + + + + + Initializes a new FunctionImportEntityTypeMapping instance. + + The entity types at the base of + the type hierarchies to be mapped. + The entity types to be mapped. + The property mappings for the result types of a function import. + The mapping conditions. + + + + Gets the entity types being mapped. + + + + + Gets the entity types at the base of the hierarchies being mapped. + + + + + Gets the mapping conditions. + + + + + Represents a mapping condition for a function import result. + + + + + Gets the name of the column used to evaluate the condition. + + + + + + + + Represents a mapping condition for the result of a function import + evaluated by checking null or not null. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionIsNull instance. + + The name of the column used to evaluate the condition. + Flag that indicates whether a null or not null check is performed. + + + + Gets a flag that indicates whether a null or not null check is performed. + + + + + Represents a mapping condition for the result of a function import, + evaluated by comparison with a specified value. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionValue instance. + + The name of the column used to evaluate the condition. + The value to compare with. + + + + Gets the value used for comparison. + + + + + Represents a mapping from a model function import to a store composable or non-composable function. + + + + + Gets model function (or source of the mapping) + + + + + Gets store function (or target of the mapping) + + + + + Represents a mapping from a model function import to a store composable function. + + + + + Initializes a new FunctionImportMappingComposable instance. + + The model function import. + The store composable function. + The result mapping for the function import. + The parent container mapping. + + + + Gets the result mapping for the function import. + + + + + Represents a mapping from a model function import to a store non-composable function. + + + + + Initializes a new FunctionImportMappingNonComposable instance. + + The model function import. + The store non-composable function. + The function import result mappings. + The parent container mapping. + + + + Gets the function import result mappings. + + + + + Represents a result mapping for a function import. + + + + + Gets the type mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Base class for mapping a property of a function import return type. + + + + + Maps a function import return type property to a table column. + + + + + Initializes a new FunctionImportReturnTypeScalarPropertyMapping instance. + + The mapped property name. + The mapped column name. + + + + Gets the mapped property name. + + + + + Gets the mapped column name. + + + + + Specifies a function import structural type mapping. + + + + + Gets the property mappings for the result type of a function import. + + + + + Specifies a mapping condition evaluated by checking whether the value + of the a property/column is null or not null. + + + + + Creates an IsNullConditionMapping instance. + + An EdmProperty that specifies a property or column. + A boolean that indicates whether to perform a null or a not-null check. + + + + Gets a bool that specifies whether the condition is evaluated by performing a null check + or a not-null check. + + + + + Represents the base item class for all the mapping metadata + + + + + Represents the metadata for mapping fragment. + A set of mapping fragments makes up the Set mappings( EntitySet, AssociationSet or CompositionSet ) + Each MappingFragment provides mapping for those properties of a type that map to a single table. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the mapping fragment elements in the + above example. Users can access all the top level constructs of + MappingFragment element like EntityKey map, Property Maps, Discriminator + property through this mapping fragment class. + + + + + Creates a MappingFragment instance. + + The EntitySet corresponding to the table of view being mapped. + The TypeMapping that contains this MappingFragment. + Flag that indicates whether to include 'DISTINCT' when generating queries. + + + + Gets the EntitySet corresponding to the table or view being mapped. + + + + + Gets the TypeMapping that contains this MappingFragment. + + + + + Gets a flag that indicates whether to include 'DISTINCT' when generating queries. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Base class for items in the mapping space (DataSpace.CSSpace) + + + + + Class for representing a collection of mapping items in Edm space. + + + + + Describes modification function binding for change processing of entities or associations. + + + + + Initializes a new ModificationFunctionMapping instance. + + The entity or association set. + The entity or association type. + The metadata of function to which we should bind. + Bindings for function parameters. + The output parameter producing number of rows affected. + Bindings for the results of function evaluation + + + + Gets output parameter producing number of rows affected. May be null. + + + + + Gets Metadata of function to which we should bind. + + + + + Gets bindings for function parameters. + + + + + Gets bindings for the results of function evaluation. + + + + + + + + Describes the location of a member within an entity or association type structure. + + + + + Initializes a new ModificationFunctionMemberPath instance. + + Gets the members in the path from the leaf (the member being bound) + to the root of the structure. + Gets the association set to which we are navigating + via this member. If the value is null, this is not a navigation member path. + + + + Gets the members in the path from the leaf (the member being bound) + to the Root of the structure. + + + + + Gets the association set to which we are navigating via this member. If the value + is null, this is not a navigation member path. + + + + + + + + Binds a modification function parameter to a member of the entity or association being modified. + + + + + Initializes a new ModificationFunctionParameterBinding instance. + + The parameter taking the value. + The path to the entity or association member defining the value. + A flag indicating whether the current or original member value is being bound. + + + + Gets the parameter taking the value. + + + + + Gets the path to the entity or association member defining the value. + + + + + Gets a flag indicating whether the current or original + member value is being bound. + + + + + + + + Defines a binding from a named result set column to a member taking the value. + + + + + Initializes a new ModificationFunctionResultBinding instance. + + The name of the column to bind from the function result set. + The property to be set on the entity. + + + + Gets the name of the column to bind from the function result set. + + + + + Gets the property to be set on the entity. + + + + + + + + Mapping metadata for all types of property mappings. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all property map elements in the + above example. This includes the scalar property maps, complex property maps + and end property maps. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Mapping metadata for scalar properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the scalar property map elements in the + above example. + + + + + Creates a mapping between a simple property and a column. + + The property to be mapped. + The column to be mapped. + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Represents a collection of items in Storage Mapping (CS Mapping) space. + + + + Initializes a new instance of the class using the specified , and a collection of string indicating the metadata file paths. + The that this mapping is to use. + The that this mapping is to use. + The file paths that this mapping is to use. + + + Initializes a new instance of the class using the specified , and XML readers. + The that this mapping is to use. + The that this mapping is to use. + The XML readers that this mapping is to use. + + + + Gets or sets a for creating instances + that are used to retrieve pre-generated mapping views. + + + + Gets the version of this represents. + The version of this represents. + + + + Computes a hash value for the container mapping specified by the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A string that specifies the computed hash value. + + + + Computes a hash value for the single container mapping in the collection. + + A string that specifies the computed hash value. + + + + Creates a dictionary of (extent, generated view) for a container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Creates a dictionary of (extent, generated view) for the single container mapping + in the collection. + + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Factory method that creates a . + + + The edm metadata collection to map. Must not be null. + + + The store metadata collection to map. Must not be null. + + + MSL artifacts to load. Must not be null. + + + Paths to MSL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Specifies a structural type mapping. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Represents the Mapping metadata for a type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all the Type map elements in the + above example namely EntityTypeMapping, AssociationTypeMapping and CompositionTypeMapping. + The TypeMapping elements contain TableMappingFragments which in turn contain the property maps. + + + + + Specifies a mapping condition evaluated by comparing the value of + a property or column with a given value. + + + + + Creates a ValueConditionMapping instance. + + An EdmProperty that specifies a property or column. + An object that specifies the value to compare with. + + + + Gets an object that specifies the value to check against. + + + + + metadata exception class + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Represents a end of a Association Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Creates a read-only AssociationEndMember instance. + + The name of the association end member. + The reference type for the end. + The multiplicity of the end. + Flag that indicates the delete behavior of the end. + Metadata properties to be associated with the instance. + The newly created AssociationEndMember instance. + The specified name is null or empty. + The specified reference type is null. + + + + Class for representing an Association set + + + + + Gets the association related to this . + + + An object that represents the association related to this + + . + + + + + Gets the ends of this . + + + A collection of type that contains the ends of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents built-in type kind for this + + . + + + + + Creates a read-only AssociationSet instance from the specified parameters. + + The name of the association set. + The association type of the elements in the association set. + The entity set for the source association set end. + The entity set for the target association set end. + Metadata properties to be associated with the instance. + The newly created AssociationSet instance. + The specified name is null or empty. + The specified association type is null. + + The entity type of one of the ends of the specified + association type does not match the entity type of the corresponding entity set end. + + + + + Class representing a AssociationSet End + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the parent association set of this . + + + An object that represents the parent association set of this + + . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the End member that this object corresponds to. + + + An object that represents the End member that this + + object corresponds to. + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the name of the End for this . + + + The name of the End for this . + + + + + Gets the name of the End role for this . + + + The name of the End role for this . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + Gets the entity set referenced by this End role. + + An object that represents the entity set referred by this End role. + + + + + Returns the name of the End role for this . + + + The name of the End role for this . + + + + + Describes an association/relationship between two entities in the conceptual model or a foreign key relationship + between two tables in the store model. In the conceptual model the dependant class may or may not define a foreign key property. + If a foreign key is defined the property will be true and the property will contain details of the foreign keys + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of ends for this . + + + A collection of type that contains the list of ends for this + + . + + + + Gets or sets the referential constraint. + The referential constraint. + + + + Gets the list of constraints for this . + + + A collection of type that contains the list of constraints for this + + . + + + + Gets the Boolean property value that specifies whether the column is a foreign key. + A Boolean value that specifies whether the column is a foreign key. If true, the column is a foreign key. If false (default), the column is not a foreign key. + + + + Creates a read-only AssociationType instance from the specified parameters. + + The name of the association type. + The namespace of the association type. + Flag that indicates a foreign key (FK) relationship. + The data space for the association type. + The source association end member. + The target association end member. + A referential constraint. + Metadata properties to be associated with the instance. + The newly created AssociationType instance. + The specified name is null or empty. + The specified namespace is null or empty. + + + + List of all the built in types + + + + + Association Type Kind + + + + + AssociationSetEnd Kind + + + + + AssociationSet Kind + + + + + Association Type Kind + + + + + EntitySetBase Kind + + + + + Entity Type Base Kind + + + + + Collection Type Kind + + + + + Collection Kind + + + + + Complex Type Kind + + + + + Documentation Kind + + + + + DeleteAction Type Kind + + + + + Edm Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Enumeration Type Kind + + + + + Enum Member Kind + + + + + Facet Kind + + + + + EdmFunction Kind + + + + + Function Parameter Kind + + + + + Global Item Type Kind + + + + + Metadata Property Kind + + + + + Navigation Property Kind + + + + + Metadata Item Type Kind + + + + + EdmMember Type Kind + + + + + Parameter Mode Kind + + + + + Primitive Type Kind + + + + + Primitive Type Kind Kind + + + + + EdmProperty Type Kind + + + + + ProviderManifest Type Kind + + + + + Referential Constraint Type Kind + + + + + Ref Type Kind + + + + + RelationshipEnd Type Kind + + + + + Relationship Multiplicity Type Kind + + + + + Relationship Set Type Kind + + + + + Relationship Type + + + + + Row Type Kind + + + + + Simple Type Kind + + + + + Structural Type Kind + + + + + Type Information Kind + + + + + Kind of collection (applied to Properties) + + + + + Property is not a Collection + + + + + Collection has Bag semantics( unordered and duplicates ok) + + + + + Collection has List semantics + (Order is deterministic and duplicates ok) + + + + + Represents the Edm Collection Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + The instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + + + Represents the Edm Complex Type. This can be used to configure complex types + from a conceptual-space model-based convention. Complex types are not supported in the store model. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Creates a new instance of the type. + + The name of the complex type. + The namespace of the complex type. + The dataspace to which the complex type belongs to. + Members of the complex type. + Metadata properties to be associated with the instance. + Thrown if either name, namespace or members argument is null. + + A new instance a the type. + + + The newly created will be read only. + + + + + The concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Serializes an that conforms to the restrictions of a single + CSDL schema file to an XML writer. The model to be serialized must contain a single + . + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the XmlWriter. + + + The EdmModel to serialize. + + The XmlWriter to serialize to. + The serialized model's namespace. + true if the model is valid; otherwise, false. + + + + Information about an error that occurred processing an Entity Framework model. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + DataSpace + + + + + OSpace indicates the item in the clr space + + + + + CSpace indicates the item in the CSpace - edm primitive types + + types defined in csdl + + + + + SSpace indicates the item in the SSpace + + + + + Mapping between OSpace and CSpace + + + + + Mapping between CSpace and SSpace + + + + + Extension methods for . + + + + + Gets the conceptual model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the conceptual model. + + + + Gets the store model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the store model. + + + + Class representing the Documentation associated with an item + + + + + Initializes a new Documentation instance. + + A summary string. + A long description string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the summary for this . + + + The summary for this . + + + + + Gets the long description for this . + + + The long description for this . + + + + + Gets a value indicating whether this object contains only a null or an empty + + and a + + . + + + true if this object contains only a null or an empty + + and a + + ; otherwise, false. + + + + + Returns the summary for this . + + + The summary for this . + + + + + This class encapsulates the error information for a generic EDM error. + + + + Gets the error message. + The error message. + + + + Class for representing a function + + + + + Gets the built-in type kind for this . + + + One of the enumeration values of the enumeration. + + + + Returns the full name (namespace plus name) of this type. + The full name of the type. + + + + Gets the parameters of this . + + + A collection of type that contains the parameters of this + + . + + + + + Adds a parameter to this function. + + The parameter to be added. + + + + Gets the return parameter of this . + + + A object that represents the return parameter of this + + . + + + + + Gets the return parameters of this . + + + A collection of type that represents the return parameters of this + + . + + + + Gets the store function name attribute of this function. + + + Gets the parameter type semantics attribute of this function. + + + Gets the aggregate attribute of this function. + + + + Gets a value indicating whether built in attribute is present on this function. + + + true if the attribute is present; otherwise, false. + + + + + Gets a value indicating whether this instance is from the provider manifest. + + + true if this instance is from the provider manifest; otherwise, false. + + + + + Gets a value indicating whether the is a niladic function (a function that accepts no arguments). + + + true if the function is niladic; otherwise, false. + + + + Gets whether this instance is mapped to a function or to a stored procedure. + true if this instance is mapped to a function; false if this instance is mapped to a stored procedure. + + + Gets a query in the language that is used by the database management system or storage model. + + A string value in the syntax used by the database management system or storage model that contains the query or update statement of the + + . + + + + Gets or sets the schema associated with the function. + The schema associated with the function. + + + + The factory method for constructing the object. + + The name of the function. + The namespace of the function. + The namespace the function belongs to. + Additional function attributes and properties. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the type. + + + + + Contains additional attributes and properties of the + + + Note that objects are short lived and exist only to + make initialization easier. Instance of this type are not + compared to each other and arrays returned by array properties are copied to internal + collections in the ctor. Therefore it is fine to suppress the + Code Analysis messages. + + + + Gets or sets the function schema. + The function schema. + + + Gets or sets the store function name. + The store function name. + + + Gets or sets the command text associated with the function. + The command text associated with the function. + + + Gets or sets the entity sets for the function. + The entity sets for the function. + + + Gets a value that indicates whether this is an aggregate function. + true if this is an aggregate function; otherwise, false. + + + Gets or sets whether this function is a built-in function. + true if this function is a built-in function; otherwise, false. + + + Gets or sets whether the function contains no arguments. + true if the function contains no arguments; otherwise, false. + + + Gets or sets whether this function can be composed. + true if this function can be composed; otherwise, false. + + + Gets or sets whether this function is from a provider manifest. + true if this function is from a provider manifest; otherwise, false. + + + Gets or sets whether this function is a cached store function. + true if this function is a cached store function; otherwise, false. + + + Gets or sets whether this function is a function import. + true if this function is a function import; otherwise, false. + + + Gets or sets the return parameters. + The return parameters. + + + Gets or sets the parameter type semantics. + The parameter type semantics. + + + Gets or sets the function parameters. + The function parameters. + + + + Class for representing a collection of items in Edm space. + + + + + Initializes a new instance of the class by using the collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + The collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + + Initializes a new instance of the class. + The entity data model. + + + + Initializes a new instance of the class by using the paths where the conceptual schema definition language (CSDL) files exist. + + The paths where the conceptual schema definition language (CSDL) files exist. + + + Gets the conceptual model version for this collection. + The conceptual model version for this collection. + + + + Returns a collection of the objects. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + + + + Returns a collection of the objects with the specified conceptual model version. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + The conceptual model version. + + + + Factory method that creates an . + + + CSDL artifacts to load. Must not be null. + + + Paths to CSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the edm member class + + + + + Gets or sets the name of the property. Setting this from a store-space model-convention will change the name of the database + column for this property. In the conceptual model, this should align with the corresponding property from the entity class + and should not be changed. + + The name of this member. + + + Gets the type on which this member is declared. + + A object that represents the type on which this member is declared. + + + + + Gets the instance of the class that contains both the type of the member and facets for the type. + + + A object that contains both the type of the member and facets for the type. + + + + Returns the name of this member. + The name of this member. + + + + Tells whether this member is marked as a Computed member in the EDM definition + + + + + Tells whether this member's Store generated pattern is marked as Identity in the EDM definition + + + + + Represents a conceptual or store model. This class can be used to access information about the shape of the model + and the way the that it has been configured. + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + + Gets the data space associated with the model, which indicates whether + it is a conceptual model (DataSpace.CSpace) or a store model (DataSpace.SSpace). + + + + + Gets the association types in the model. + + + + + Gets the complex types in the model. + + + + + Gets the entity types in the model. + + + + + Gets the enum types in the model. + + + + + Gets the functions in the model. + + + + + Gets the container that stores entity and association sets, and function imports. + + + + Gets the global items associated with the model. + The global items associated with the model. + + + + Adds an association type to the model. + + The AssociationType instance to be added. + + + + Adds a complex type to the model. + + The ComplexType instance to be added. + + + + Adds an entity type to the model. + + The EntityType instance to be added. + + + + Adds an enumeration type to the model. + + The EnumType instance to be added. + + + + Adds a function to the model. + + The EdmFunction instance to be added. + + + + Removes an association type from the model. + + The AssociationType instance to be removed. + + + + Removes a complex type from the model. + + The ComplexType instance to be removed. + + + + Removes an entity type from the model. + + The EntityType instance to be removed. + + + + Removes an enumeration type from the model. + + The EnumType instance to be removed. + + + + Removes a function from the model. + + The EdmFunction instance to be removed. + + + + In conceptual-space, EdmProperty represents a property on an Entity. + In store-space, EdmProperty represents a column in a table. + + + + Creates a new primitive property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new enum property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new complex property. + The newly created property. + The name of the property. + The type of the property. + + + + Creates a new instance of EdmProperty type. + + Name of the property. + + Property + + A new instance of EdmProperty type + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a value indicating whether this can have a null value. + + + Nullability in the conceptual model and store model is a simple indication of whether or not + the property is considered nullable. Nullability in the object model is more complex. + When using convention based mapping (as usually happens with POCO entities), a property in the + object model is considered nullable if and only if the underlying CLR type is nullable and + the property is not part of the primary key. + When using attribute based mapping (usually used with entities that derive from the EntityObject + base class), a property is considered nullable if the IsNullable flag is set to true in the + attribute. This flag can + be set to true even if the underlying type is not nullable, and can be set to false even if the + underlying type is nullable. The latter case happens as part of default code generation when + a non-nullable property in the conceptual model is mapped to a nullable CLR type such as a string. + In such a case, the Entity Framework treats the property as non-nullable even though the CLR would + allow null to be set. + There is no good reason to set a non-nullable CLR type as nullable in the object model and this + should not be done even though the attribute allows it. + + + true if this can have a null value; otherwise, false. + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets the type name of the property. + The type name of the property. + + + + Gets the default value for this . + + + The default value for this . + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets whether the property is a collection type property. + true if the property is a collection type property; otherwise, false. + + + Gets whether this property is a complex type property. + true if this property is a complex type property; otherwise, false. + + + Gets whether this property is a primitive type. + true if this property is a primitive type; otherwise, false. + + + Gets whether this property is an enumeration type property. + true if this property is an enumeration type property; otherwise, false. + + + Gets whether this property is an underlying primitive type. + true if this property is an underlying primitive type; otherwise, false. + + + Gets the complex type information for this property. + The complex type information for this property. + + + Gets the primitive type information for this property. + The primitive type information for this property. + + + Gets the enumeration type information for this property. + The enumeration type information for this property. + + + Gets the underlying primitive type information for this property. + The underlying primitive type information for this property. + + + Gets or sets the concurrency mode for the property. + The concurrency mode for the property. + + + Gets or sets the database generation method for the database column associated with this property + The store generated pattern for the property. + + + Gets or sets the kind of collection for this model. + The kind of collection for this model. + + + Gets whether the maximum length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the maximum length of the property. + The maximum length of the property. + + + Gets or sets whether this property uses the maximum length supported by the provider. + true if this property uses the maximum length supported by the provider; otherwise, false. + + + Gets whether the fixed length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether the length of this property is fixed. + true if the length of this property is fixed; otherwise, false. + + + Gets whether the Unicode facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether this property is a Unicode property. + true if this property is a Unicode property; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the precision of this property. + The precision of this property. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the scale of this property. + The scale of this property. + + + Sets the metadata properties. + The metadata properties to be set. + + + + This class encapsulates the error information for a schema error that was encountered. + + + + + Constructs a EdmSchemaError object. + + The explanation of the error. + The code associated with this error. + The severity of the error. + + + Returns the error message. + The error message. + + + Gets the error code. + The error code. + + + Gets the severity level of the error. + + One of the values. The default is + + . + + + + Gets the line number where the error occurred. + The line number where the error occurred. + + + Gets the column where the error occurred. + The column where the error occurred. + + + Gets the location of the schema that contains the error. This string also includes the name of the schema at the end. + The location of the schema that contains the error. + + + Gets the name of the schema that contains the error. + The name of the schema that contains the error. + + + Gets a string representation of the stack trace at the time the error occurred. + A string representation of the stack trace at the time the error occurred. + + + + Defines the different severities of errors that can occur when validating an Entity Framework model. + + + + + A warning that does not prevent the model from being used. + + + + + An error that prevents the model from being used. + + + + + Base EdmType class for all the model types + + + + Gets the name of this type. + The name of this type. + + + Gets the namespace of this type. + The namespace of this type. + + + Gets a value indicating whether this type is abstract or not. + true if this type is abstract; otherwise, false. + Thrown if the setter is called on instance that is in ReadOnly state + + + Gets the base type of this type. + The base type of this type. + Thrown if the setter is called on instance that is in ReadOnly state + Thrown if the value passed in for setter will create a loop in the inheritance chain + + + Gets the full name of this type. + The full name of this type. + + + Returns the full name of this type. + The full name of this type. + + + + Returns an instance of the whose element type is this type. + + + The object whose element type is this type. + + + + + Class for representing an entity container + + + + + Creates an entity container with the specified name and data space. + + The entity container name. + The entity container data space. + Thrown if the name argument is null. + Thrown if the name argument is empty string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets a list of entity sets and association sets that this + + includes. + + + A object that contains a list of entity sets and association sets that this + + includes. + + + + Gets the association sets for this entity container. + The association sets for this entity container . + + + Gets the entity sets for this entity container. + The entity sets for this entity container . + + + + Specifies a collection of elements. Each function contains the details of a stored procedure that exists in the database or equivalent CommandText that is mapped to an entity and its properties. + + + A that contains + + elements. + + + + + Returns an object by using the specified name for the entity set. + + + An object that represents the entity set that has the specified name. + + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified name for the entity set. + + true if there is an entity set that matches the search criteria; otherwise, false. + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains an object. If there is no entity set, this output parameter contains null. + + + + + Returns a object by using the specified name for the relationship set. + + + An object that represents the relationship set that has the specified name. + + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns a object by using the specified name for the relationship set. + + true if there is a relationship set that matches the search criteria; otherwise, false. + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains a object. + + + + + Returns the name of this . + + + The name of this . + + + + + Adds the specified entity set to the container. + + The entity set to add. + + + Removes a specific entity set from the container. + The entity set to remove. + + + + Adds a function import to the container. + + The function import to add. + + + + The factory method for constructing the EntityContainer object. + + The name of the entity container to be created. + DataSpace in which this entity container belongs to. + Entity sets that will be included in the new container. Can be null. + Functions that will be included in the new container. Can be null. + Metadata properties to be associated with the instance. + The EntityContainer object. + Thrown if the name argument is null or empty string. + The newly created EntityContainer will be read only. + + + + Represents a particular usage of a structure defined in EntityType. In the conceptual-model, this represents a set that can + query and persist entities. In the store-model it represents a table. + From a store-space model-convention it can be used to configure + table name with property and table schema with property. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + + + + The factory method for constructing the EntitySet object. + + The name of the EntitySet. + The db schema. Can be null. + The db table. Can be null. + + The provider specific query that should be used to retrieve data for this EntitySet. Can be null. + + The entity type of the entities that this entity set type contains. + + Metadata properties that will be added to the newly created EntitySet. Can be null. + + The EntitySet object. + Thrown if the name argument is null or empty string. + The newly created EntitySet will be read only. + + + + Class for representing a entity set + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets escaped provider specific SQL describing this entity set. + + + + + Gets or sets the name of the current entity or relationship set. + If this property is changed from store-space, the mapping layer must also be updated to reflect the new name. + To change the table name of a store space use the Table property. + + The name of the current entity or relationship set. + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Gets the entity container of the current entity or relationship set. + + An object that represents the entity container of the current entity or relationship set. + + Thrown if the setter is called when the EntitySetBase instance or the EntityContainer passed into the setter is in ReadOnly state + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database table name for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database schema for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Returns the name of the current entity or relationship set. + The name of the current entity or relationship set. + + + + Represents the structure of an . In the conceptual-model this represents the shape and structure + of an entity. In the store model this represents the structure of a table. To change the Schema and Table name use EntitySet. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the declared navigation properties associated with the entity type. + The declared navigation properties associated with the entity type. + + + + Gets the navigation properties of this . + + + A collection of type that contains the list of navigation properties on this + + . + + + + Gets the list of declared properties for the entity type. + The declared properties for the entity type. + + + Gets the collection of declared members for the entity type. + The collection of declared members for the entity type. + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Returns a object that references this + + . + + + A object that references this + + . + + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + The base type. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + Adds the specified navigation property to the members of this type. + The navigation property is added regardless of the read-only flag. + + The navigation property to be added. + + + + Represents the Entity Type + + + + Gets the list of all the key members for the current entity or relationship type. + + A object that represents the list of key members for the current entity or relationship type. + + + + Gets the list of all the key properties for this entity type. + The list of all the key properties for this entity type. + + + + Adds the specified property to the list of keys for the current entity. + + The property to add. + if member argument is null + Thrown if the EntityType has a base type of another EntityTypeBase. In this case KeyMembers should be added to the base type + If the EntityType instance is in ReadOnly state + + + Removes the specified key member from the collection. + The key member to remove. + + + + Represents an enumeration member. + + + + Gets the kind of this type. + + + Gets the name of this enumeration member. + + + Gets the value of this enumeration member. + + + Overriding System.Object.ToString to provide better String representation for this type. + The name of this enumeration member. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Represents an enumeration type. + + + + Returns the kind of the type + + + Gets a collection of enumeration members for this enumeration type. + + + Gets a value indicating whether the enum type is defined as flags (i.e. can be treated as a bit field) + + + Gets the underlying type for this enumeration type. + + + + Creates a read-only EnumType instance. + + The name of the enumeration type. + The namespace of the enumeration type. + The underlying type of the enumeration type. + Indicates whether the enumeration type can be treated as a bit field; that is, a set of flags. + The members of the enumeration type. + Metadata properties to be associated with the enumeration type. + The newly created EnumType instance. + underlyingType is null. + + name is null or empty. + -or- + namespaceName is null or empty. + -or- + underlyingType is not a supported underlying type. + -or- + The specified members do not have unique names. + -or- + The value of a specified member is not in the range of the underlying type. + + + + + Class for representing a Facet object + This object is Immutable (not just set to readonly) and + some parts of the system are depending on that behavior + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the description of this . + + + The object that represents the description of this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the type of this . + + + The object that represents the type of this + + . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the Facet instance is in ReadOnly state + + + Gets a value indicating whether the value of the facet is unbounded. + true if the value of the facet is unbounded; otherwise, false. + + + + Returns the name of this . + + + The name of this . + + + + + Class for representing a FacetDescription object + + + + Gets the name of this facet. + The name of this facet. + + + Gets the type of this facet. + + An object that represents the type of this facet. + + + + Gets the minimum value for this facet. + The minimum value for this facet. + + + Gets the maximum value for this facet. + The maximum value for this facet. + + + Gets the default value of a facet with this facet description. + The default value of a facet with this facet description. + + + Gets a value indicating whether the value of this facet is a constant. + true if this facet is a constant; otherwise, false. + + + Gets a value indicating whether this facet is a required facet. + true if this facet is a required facet; otherwise, false. + + + Returns the name of this facet. + The name of this facet. + + + + Class representing a function parameter + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the mode of this . + + + One of the values. + + Thrown if the FunctionParameter instance is in ReadOnly state + + + + Gets the name of this . + + + The name of this . + + + + + Gets the instance of the class that contains both the type of the parameter and facets for the type. + + + A object that contains both the type of the parameter and facets for the type. + + + + Gets the type name of this parameter. + The type name of this parameter. + + + Gets whether the max length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the maximum length of the parameter. + The maximum length of the parameter. + + + Gets whether the parameter uses the maximum length supported by the database provider. + true if parameter uses the maximum length supported by the database provider; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the precision value of the parameter. + The precision value of the parameter. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the scale value of the parameter. + The scale value of the parameter. + + + + Gets the on which this parameter is declared. + + + A object that represents the function on which this parameter is declared. + + + + + Returns the name of this . + + + The name of this . + + + + + The factory method for constructing the object. + + The name of the parameter. + The EdmType of the parameter. + + The of the parameter. + + + A new, read-only instance of the type. + + + + + Represents the base item class for all the metadata + + + + + An interface to get the underlying store and conceptual model for a . + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Class for representing a collection of items. + Most of the implementation for actual maintenance of the collection is + done by MetadataCollection + + + + Gets the data model associated with this item collection. + The data model associated with this item collection. + + + + Returns a strongly typed object by using the specified identity. + + The item that is specified by the identity. + The identity of the item. + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity with either case-sensitive or case-insensitive search. + + The item that is specified by the identity. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The type returned by the method. + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all the items of the specified type. + + The type returned by the method. + + + + Returns an object by using the specified type name and the namespace name in this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + Returns all the overloads of the functions by using the specified name from this item collection. + A collection of type ReadOnlyCollection that contains all the functions that have the specified name. + A dictionary of functions. + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first one. + The name of the entity container. + + + + Returns an object by using the specified entity container name. If there is no entity container, the output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Do not perform any extension check + + + + + Check the extension against a specific value + + + + + Check the extension against the set of acceptable extensions + + + + + Represents the base item class for all the metadata + + + Represents the base item class for all the metadata + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + Gets the list of properties of the current type. + + A collection of type that contains the list of properties of the current type. + + + + + Adds or updates an annotation with the specified name and value. + + + If an annotation with the given name already exists then the value of that annotation + is updated to the given value. If the given value is null then the annotation will be + removed. + + The name of the annotation property. + The value of the annotation property. + + + + Removes an annotation with the specified name. + + The name of the annotation property. + true if an annotation was removed; otherwise, false. + + + Gets or sets the documentation associated with this type. + + A object that represents the documentation on this type. + + + + + Returns a conceptual model built-in type that matches one of the + + values. + + + An object that represents the built-in type in the EDM. + + + One of the values. + + + + Returns the list of the general facet descriptions for a specified type. + + A object that represents the list of the general facet descriptions for a specified type. + + + + + Class representing a metadata attribute for an item + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the instance of the class that contains both the type of this + + and facets for the type. + + + A object that contains both the type of this + + and facets for the type. + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the value of this . + + + The value of this . + + + + + Gets a boolean that indicates whether the metadata property is an annotation. + + + + + The factory method for constructing the MetadataProperty object. + + The name of the metadata property. + The type usage of the metadata property. + The value of the metadata property. + The MetadataProperty object. + + Thrown is null. + + The newly created MetadataProperty will be read only. + + + + Creates a metadata annotation having the specified name and value. + + The annotation name. + The annotation value. + A MetadataProperty instance representing the created annotation. + + + + Runtime Metadata Workspace + + + + + Initializes a new instance of the class. + + + + + Constructs a with loaders for all item collections () + needed by EF except the o/c mapping which will be created automatically based on the given o-space and c-space + loaders. The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + Delegate to return the o-space item collection. + + + + Constructs a with loaders for all item collections () + that come from traditional EDMX mapping. Default o-space and o/c mapping collections will be used. + The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + + + + Initializes a new instance of the class using the specified paths and assemblies. + + The paths to workspace metadata. + The names of assemblies used to construct workspace. + + + + The Max EDM version thats going to be supported by the runtime. + + + + + Creates an configured to use the + + data space. + + The created parser object. + + + + Creates a new bound to this metadata workspace based on the specified query expression. + + + A new with the specified expression as it's + + property. + + + A that defines the query. + + + If + + is null + + + If + + contains metadata that cannot be resolved in this metadata workspace + + + If + + is not structurally valid because it contains unresolvable variable references + + + + + Gets items. + + + The items. + + + The from which to retrieve items. + + + + Registers the item collection with each associated data model. + The output parameter collection that needs to be filled up. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The delegate for logging the load messages. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + The conceptual model in which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object that represents the type that matches the given type name and the namespace name in the specified data model. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + true to perform the case-insensitive search; otherwise, false. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns the list of primitive types in the specified data model. + + A collection of type that contains all the primitive types in the specified data model. + + The data model for which you need the list of primitive types. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Tests the retrieval of . + + true if the retrieval was successful; otherwise, false. + + The from which to attempt retrieval of + + . + + When this method returns, contains the item collection. This parameter is passed uninitialized. + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true on success, false on failure. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + Clears all the metadata cache entries. + + + Gets original value members from an entity set and entity type. + The original value members from an entity set and entity type. + The entity set from which to retrieve original values. + The entity type of which to retrieve original values. + + + + Returns members of a given / + + for which original values are needed when modifying an entity. + + + The s for which original value is required. + + + An belonging to the C-Space. + + + An that participates in the given + + . + + true if entities may be updated partially; otherwise, false. + + + + Represent the edm navigation property class + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the relationship type that this navigation property operates on. + The relationship type that this navigation property operates on. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "to" relationship end member of this navigation. + The "to" relationship end member of this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "from" relationship end member in this navigation. + The "from" relationship end member in this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + + Where the given navigation property is on the dependent end of a referential constraint, + returns the foreign key properties. Otherwise, returns an empty set. We will return the members in the order + of the principal end key properties. + + A collection of the foreign key properties. + + + + Creates a NavigationProperty instance from the specified parameters. + + The name of the navigation property. + Specifies the navigation property type and its facets. + The relationship type for the navigation. + The source end member in the navigation. + The target end member in the navigation. + The metadata properties of the navigation property. + The newly created NavigationProperty instance. + + + + Class for representing a collection of items for the object layer. + Most of the implementation for actual maintenance of the collection is + done by ItemCollection + + + + + Initializes a new instance of the class. + + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + The delegate to which log messages are sent. + + + Loads metadata from the specified assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + + + Returns a collection of primitive type objects. + A collection of primitive type objects. + + + + Returns the CLR type that corresponds to the supplied by the objectSpaceType parameter. + + The CLR type of the OSpace argument. + + A that represents the object space type. + + + + + Returns a CLR type corresponding to the supplied by the objectSpaceType parameter. + + true if there is a type that matches the search criteria; otherwise, false. + + A that represents the object space type. + + The CLR type. + + + The method returns the underlying CLR type for the specified OSpace type argument. If the DataSpace of the parameter is not OSpace, an ArgumentException is thrown. + The CLR type of the OSpace argument. + The OSpace type to look up. + + + Returns the underlying CLR type for the specified OSpace enum type argument. If the DataSpace of the parameter is not OSpace, the method returns false and sets the out parameter to null. + true on success, false on failure + The OSpace enum type to look up + The CLR enum type of the OSpace argument + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all items of the specified type. + + The type returned by the method. + + + + Represents the list of possible actions for delete operation + + + + + no action + + + + + Cascade to other ends + + + + + The enumeration defining the mode of a parameter + + + + + In parameter + + + + + Out parameter + + + + + Both in and out parameter + + + + + Return Parameter + + + + + The enumeration defining the type semantics used to resolve function overloads. + These flags are defined in the provider manifest per function definition. + + + + + Allow Implicit Conversion between given and formal argument types (default). + + + + + Allow Type Promotion between given and formal argument types. + + + + + Use strict Equivalence only. + + + + + Class representing a primitive type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a enumeration value that indicates a primitive type of this + + . + + + A enumeration value that indicates a primitive type of this + + . + + + + + Gets the list of facet descriptions for this . + + + A collection of type that contains the list of facet descriptions for this + + . + + + + + Returns an equivalent common language runtime (CLR) type of this + + . Note that the + + property always returns a non-nullable type value. + + + A object that represents an equivalent common language runtime (CLR) type of this + + . + + + + + Returns the equivalent of this + + . + + + For example if this instance is nvarchar and it's + base type is Edm String then the return type is Edm String. + If the type is actually already a model type then the + return type is "this". + + + An object that is an equivalent of this + + . + + + + Returns the list of primitive types. + + A collection of type that contains the list of primitive types. + + + + + Returns the equivalent of a + + . + + + An object that is an equivalent of a specified + + . + + + A value of type . + + + + + Primitive Types as defined by EDM + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Geometry Type Kind + + + + + Geography Type Kind + + + + + Geometric point type kind + + + + + Geometric linestring type kind + + + + + Geometric polygon type kind + + + + + Geometric multi-point type kind + + + + + Geometric multi-linestring type kind + + + + + Geometric multi-polygon type kind + + + + + Geometric collection type kind + + + + + Geographic point type kind + + + + + Geographic linestring type kind + + + + + Geographic polygon type kind + + + + + Geographic multi-point type kind + + + + + Geographic multi-linestring type kind + + + + + Geographic multi-polygon type kind + + + + + Geographic collection type kind + + + + + HierarchyId type kind + + + + + Specifies the kinds of item attributes in the conceptual model. + + + + + An enumeration member indicating that an item attribute is System + + + + + An enumeration member indicating that an item attribute is Extended. + + + + + Class representing a read-only wrapper around MetadataCollection + + The type of items in this collection + + + + The enumerator for MetadataCollection + + + + Gets the member at the current position. + The member at the current position. + + + + Gets the member at the current position + + + + Disposes of this enumerator. + + + + Moves to the next member in the collection of type + + . + + + true if the enumerator is moved in the collection of type + + ; otherwise, false. + + + + + Positions the enumerator before the first position in the collection of type + + . + + + + Gets a value indicating whether this collection is read-only. + true if this collection is read-only; otherwise, false. + + + Gets an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + + + Retrieves an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + + + Determines whether the collection contains an item with the specified identity. + true if the collection contains the item to be searched for; otherwise, false. The default is false. + The identity of the item. + + + Retrieves an item from this collection by using the specified identity. + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + When this method returns, this output parameter contains an item from the collection. If there is no matched item, this output parameter contains null. + + + Returns an enumerator that can iterate through this collection. + + A that can be used to iterate through this + + . + + + + Returns the index of the specified value in this collection. + The index of the specified value in this collection. + A value to seek. + + + + This class represents a referential constraint between two entities specifying the "to" and "from" ends of the relationship. + + + + + Constructs a new constraint on the relationship + + role from which the relationship originates + role to which the relationship is linked/targeted to + properties on entity type of to role which take part in the constraint + properties on entity type of from role which take part in the constraint + Argument Null exception if any of the arguments is null + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the "from role" that takes part in this + + . + + + A object that represents the "from role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the "to role" that takes part in this . + + + A object that represents the "to role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the list of properties for the "from role" on which this + + is defined. + + + A collection of type that contains the list of properties for "from role" on which this + + is defined. + + + + + Gets the list of properties for the "to role" on which this + + is defined. + + + A collection of type that contains the list of properties for the "to role" on which this + + is defined. + + + + + Returns the combination of the names of the + + and the + + . + + + The combination of the names of the + + and the + + . + + + + + Class representing a ref type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type referenced by this . + + + An object that represents the entity type referenced by this + + . + + + + + + + + + + + Initializes a new instance of the RelationshipEndMember class + + + + Gets the operational behavior of this relationship end member. + + One of the values. The default is + + . + + + + Gets the multiplicity of this relationship end member. + + One of the values. + + + + Access the EntityType of the EndMember in an association. + The EntityType of the EndMember in an association. + + + + Represents the multiplicity information about the end of a relationship type + + + + + Lower Bound is Zero and Upper Bound is One + + + + + Both lower bound and upper bound is one + + + + + Lower bound is zero and upper bound is null + + + + + Class for representing a relationship set + + + + + Gets the relationship type of this . + + + An object that represents the relationship type of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Represents the Relationship type + + + + Gets the list of ends for this relationship type. + + A collection of type that contains the list of Ends for this relationship type. + + + + + Represents the Edm Row Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties on this . + + + A collection of type that contains the list of properties on this + + . + + + + Gets a collection of the properties defined by the current type. + A collection of the properties defined by the current type. + + + + The factory method for constructing the object. + + Properties of the row type object. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the object. + + + + + Class representing a simple type + + + + + Serializes the storage (database) section of an to XML. + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the + + The EdmModel to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + Serialize the to the + + The EdmModel to serialize + Namespace name on the Schema element + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + The pattern for Server Generated Properties. + + + + + Not a Server Generated Property. This is the default. + + + + + A value is generated on INSERT, and remains unchanged on update. + + + + + A value is generated on both INSERT and UPDATE. + + + + + Class for representing a collection of items in Store space. + + + + + Initializes a new instance of the class using the specified XMLReader. + + The XMLReader used to create metadata. + + + Initializes a new instances of the class. + The model of the . + + + + Initializes a new instance of the class using the specified file paths. + + The file paths used to create metadata. + + + Gets the provider factory of the StoreItemCollection. + The provider factory of the StoreItemCollection. + + + Gets the provider manifest of the StoreItemCollection. + The provider manifest of the StoreItemCollection. + + + Gets the manifest token of the StoreItemCollection. + The manifest token of the StoreItemCollection. + + + Gets the invariant name of the StoreItemCollection. + The invariant name of the StoreItemCollection. + + + Gets the version of the store schema for this collection. + The version of the store schema for this collection. + + + + Returns a collection of the objects. + + + A object that represents the collection of the + + objects. + + + + + Factory method that creates a . + + + SSDL artifacts to load. Must not be null. + + + Paths to SSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + Custom resolver. Currently used to resolve DbProviderServices implementation. If null + the default resolver will be used. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the Structural Type + + + + Gets the list of members on this type. + + A collection of type that contains a set of members on this type. + + + + + Adds a member to this type + + The member to add + + + Removes a member from this type. + The member to remove. + + + + Class representing a type information for an item + + + + + Factory method for creating a TypeUsage with specified EdmType and facets + + EdmType for which to create a type usage + facets to be copied into the new TypeUsage + new TypeUsage instance + + + + Creates a object with the specified conceptual model type. + + + A object with the default facet values for the specified + + . + + + A for which the + + object is created. + + + + + Creates a object to describe a string type by using the specified facet values. + + + A object describing a string type by using the specified facet values. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false. + + + + Creates a object to describe a string type by using the specified facet values and unbounded MaxLength. + + + A object describing a string type by using the specified facet values and unbounded MaxLength. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + The maximum length of the binary type. + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + The simple type that defines the units of measurement of the offset. + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object to describe a decimal type by using the specified facet values. + + + A object describing a decimal type by using the specified facet values. + + + A for which the + + object is created. + + + The precision of the decimal type as type . + + + The scale of the decimal type as type . + + + + + Creates a object to describe a decimal type with unbounded precision and scale facet values. + + + A object describing a decimal type with unbounded precision and scale facet values. + + + A for which the + + object is created. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the type information described by this . + + + An object that represents the type information described by this + + . + + + + + Gets the list of facets for the type that is described by this + + . + + + A collection of type that contains the list of facets for the type that is described by this + + . + + + + + Returns a Model type usage for a provider type + + Model (CSpace) type usage + + + + Checks whether this is a subtype of the specified + + . + + + true if this is a subtype of the specified + + ; otherwise, false. + + + The object to be checked. + + + + + Returns the full name of the type described by this . + + + The full name of the type described by this as string. + + + + + This exception is thrown when a requested object is not found in the store. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of class that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Caches an ELinq query + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg15 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + + The values currently assigned to the properties of an entity. + + + + + This is the interface that represent the minimum interface required + to be an entity in ADO.NET. + + + + Notifies the change tracker that a property change is pending on a complex object. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property of a complex object has changed. + The name of the changed property. + property is null. + + + + Attribute for complex properties + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + attribute for complex types + + + + + Attribute identifying the Edm base class + + + + + Attribute indicating an enum type. + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this attribute has been replaced by the starting with EF6. + + + + + Creates a new DbFunctionAttribute instance. + + The namespace name of the EDM function represented by the attributed method. + The function name of the EDM function represented by the attributed method. + + + + Base attribute for properties mapped to store elements. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Attribute identifying the Ends defined for a RelationshipSet + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Initializes a new instance of the + + class. + + The namespace name of the relationship property. + The name of the relationship. The relationship name is not namespace qualified. + The role name at the other end of the relationship. + + + The namespace name of the navigation property. + + A that is the namespace name. + + + + Gets the unqualified relationship name. + The relationship name. + + + Gets the role name at the other end of the relationship. + The target role name is specified by the Role attribute of the other End element in the association that defines this relationship in the conceptual model. For more information, see Association (EDM). + + + + Defines a relationship between two entity types based on an association in the conceptual model. + + + + + Creates an instance of the class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + + + + Initializes a new instance of the + + class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + A value that indicates whether the relationship is based on the foreign key value. + + + The namespace for the relationship. + + A that is the namespace for the relationship. + + + + Name of the relationship. + + A that is the name of a relationship that is defined by this + + . + + + + Name of the role at one end of the relationship. + + A that is the name of the role. + + + + Multiplicity at one end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at one end of the relationship. + + A that is the type of the object at this end of the association. + + + + Name of the role at the other end of the relationship. + + A that is the name of the role. + + + + Multiplicity at the other end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at the other end of the relationship. + + A that is the type of the object t the other end of the association. + + + + Gets a Boolean value that indicates whether the relationship is based on the foreign key value. + true if the relationship is based on the foreign key value; otherwise false. + + + + Attribute for scalar properties in an IEntity. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + Gets or sets the value that indicates whether the property can have a null value. + The value that indicates whether the property can have a null value. + + + Gets or sets the value that indicates whether the property is part of the entity key. + The value that indicates whether the property is part of the entity key. + + + + Attribute for static types + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a unique value for each model referenced by the assembly. + + + Setting this parameter to a unique value for each model file in a Visual Basic + assembly will prevent the following error: + "'System.Data.Entity.Core.Objects.DataClasses.EdmSchemaAttribute' cannot be specified more than once in this project, even with identical parameter values." + + A string that is a unique GUID value for the model in the assembly. + + + + Base attribute for schematized types + + + + The name of the type in the conceptual schema that maps to the class to which this attribute is applied. + + A that is the name. + + + + The namespace name of the entity object type or complex type in the conceptual schema that maps to this type. + + A that is the namespace name. + + + + + Collection of entities modeling a particular EDM construct + which can either be all entities of a particular type or + entities participating in a particular relationship. + + The type of entities in this collection. + + + + Initializes a new instance of the class. + + + + Gets the number of objects that are contained in the collection. + + The number of elements that are contained in the + + . + + + + + Gets a value that indicates whether the + + is read-only. + + Always returns false. + + + + IListSource.ContainsListCollection implementation. Always returns false. + This means that the IList we return is the one which contains our actual data, + it is not a list of collections. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + Loads related objects into the collection, using the specified merge option. + + Specifies how the objects in this collection should be merged with the objects that might have been returned from previous queries against the same + + . + + + + Defines relationships between an object and a collection of related objects in an object context. + + Loads related entities into the local collection. If the collection is already filled + or partially filled, merges existing entities with the given entities. The given + entities are not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. We allow + deleted elements only when the state manager is already tracking the relationship + instance. + + Collection of objects in the object context that are related to the source object. + entities collection is null. + + The source object or an object in the entities collection is null or is not in an + + or state.-or-The relationship cannot be defined based on the EDM metadata. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + + Defines a relationship between two attached objects in an object context. + The object being attached. + When the entity is null. + + When the entity cannot be related to the source object. This can occur when the association in the conceptual schema does not support a relationship between the two types.-or-When either object is null or is not in an + + or state. + + + + Adds an object to the collection. + + An object to add to the collection. entity must implement + + . + + entity is null. + + + Removes an object from the collection and marks the relationship for deletion. + true if item was successfully removed; otherwise, false. + The object to remove from the collection. + entity object is null. + The entity object is not attached to the same object context.-or-The entity object does not have a valid relationship manager. + + + Returns an enumerator that is used to iterate through the objects in the collection. + + An that iterates through the set of values cached by + + . + + + + + Returns an enumerator that is used to iterate through the set of values cached by + + . + + + An that iterates through the set of values cached by + + . + + + + Removes all entities from the collection. + + + Determines whether a specific object exists in the collection. + + true if the object is found in the ; otherwise, false. + + + The object to locate in the . + + + + Copies all the contents of the collection to an array, starting at the specified index of the target array. + The array to copy to. + The zero-based index in the array at which copying begins. + + + Used internally to serialize entity objects. + The streaming context. + + + Used internally to deserialize entity objects. + The streaming context. + + + Returns an object query that, when it is executed, returns the same set of objects that exists in the current collection. + + An that represents the entity collection. + + + When the object is in an state + or when the object is in a + state with a + other than + . + + + + + This is the class is the basis for all perscribed EntityObject classes. + + + + Gets the entity state of the object. + + The of this object. + + + + Gets or sets the key for this object. + + The for this object. + + + + + Used by the ObjectStateManager to attach or detach this EntityObject to the cache. + + Reference to the ObjectStateEntry that contains this entity + + + + Returns the container for the lazily created relationship + navigation property objects, collections and refs. + + + + Notifies the change tracker that a property change is pending. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property has changed. + The name of the changed property. + property is null. + + + + Models a relationship end with multiplicity 1. + + + + Returns the key for the related object. + + Returns the EntityKey of the target entity associated with this EntityReference. + Is non-null in the following scenarios: + (a) Entities are tracked by a context and an Unchanged or Added client-side relationships exists for this EntityReference's owner with the + same RelationshipName and source role. This relationship could have been created explicitly by the user (e.g. by setting + the EntityReference.Value, setting this property directly, or by calling EntityCollection.Add) or automatically through span queries. + (b) If the EntityKey was non-null before detaching an entity from the context, it will still be non-null after detaching, until any operation + occurs that would set it to null, as described below. + (c) Entities are detached and the EntityKey is explicitly set to non-null by the user. + (d) Entity graph was created using a NoTracking query with full span + Is null in the following scenarios: + (a) Entities are tracked by a context but there is no Unchanged or Added client-side relationship for this EntityReference's owner with the + same RelationshipName and source role. + (b) Entities are tracked by a context and a relationship exists, but the target entity has a temporary key (i.e. it is Added) or the key + is one of the special keys + (c) Entities are detached and the relationship was explicitly created by the user. + + + An that is the key of the related object. + + + + + Models a relationship end with multiplicity 1. + + The type of the entity being referenced. + + + + Creates a new instance of . + + + The default constructor is required for some serialization scenarios. It should not be used to + create new EntityReferences. Use the GetRelatedReference or GetRelatedEnd methods on the RelationshipManager + class instead. + + + + + Gets or sets the related object returned by this + + . + + + The object returned by this . + + + + + Loads the related object for this with the specified merge option. + + + Specifies how the object should be returned if it already exists in the + + . + + + The source of the is null + or a query returned more than one related end + or a query returned zero related ends, and one related end was expected. + + + + Creates a many-to-one or one-to-one relationship between two objects in the object context. + The object being attached. + When the entity is null. + When the entity cannot be related to the current related end. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + Creates an equivalent object query that returns the related object. + + An that returns the related object. + + + When the object is in an state + or when the object is in a + state with a + other than . + + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + + This interface is implemented by a change tracker and is used by data classes to report changes + + + + Notifies the change tracker of a pending change to a property of an entity type. + The name of the property that is changing. + + + Notifies the change tracker that a property of an entity type has changed. + The name of the property that has changed. + + + Notifies the change tracker of a pending change to a complex property. + The name of the top-level entity property that is changing. + The complex type that contains the property that is changing. + The name of the property that is changing on complex type. + + + Notifies the change tracker that a property of a complex type has changed. + The name of the complex property of the entity type that has changed. + The complex type that contains the property that changed. + The name of the property that changed on complex type. + + + Gets current state of a tracked object. + + An that is the state of the tracked object.For more information, see Identity Resolution, State Management, and Change Tracking and Tracking Changes in POCO Entities. + + + + + Minimum interface that a data class must implement in order to be managed by a change tracker. + + + + + Gets or sets the used to report changes. + + + The used to report changes. + + + + + Interface that defines an entity containing a key. + + + + + Gets or sets the for instances of entity types that implement this interface. + + + If an object is being managed by a change tracker, it is expected that + IEntityChangeTracker methods EntityMemberChanging and EntityMemberChanged will be + used to report changes on EntityKey. This allows the change tracker to validate the + EntityKey's new value and to verify if the change tracker is in a state where it can + allow updates to the EntityKey. + + + The for instances of entity types that implement this interface. + + + + + Interface that a data class must implement if exposes relationships + + + + Returns the relationship manager that manages relationships for an instance of an entity type. + + Classes that expose relationships must implement this property + by constructing and setting RelationshipManager in their constructor. + The implementation of this property should use the static method RelationshipManager.Create + to create a new RelationshipManager when needed. Once created, it is expected that this + object will be stored on the entity and will be provided through this property. + + + The for this entity. + + + + + Represents one end of a relationship. + + + + + Gets or sets a value indicating whether the entity (for an or all entities + in the collection (for an have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded + and wants to prevent any other entities from being loaded automatically. + Note that explicit loading using will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity is detached the IsLoaded flag is reset to false indicating that not all related entities + are now loaded. + + + True if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise false. + + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this is participating. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + The role name at the source end of the relationship. + + + Gets the role name at the target end of the relationship. + The role name at the target end of the relationship. + + + Returns a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + Loads the related object or objects into this related end with the default merge option. + + + Loads the related object or objects into the related end with the specified merge option. + + The to use when merging objects into an existing + . + + + + Adds an object to the related end. + + An object to add to the collection. entity must implement + + . + + + + Adds an object to the related end. + An object to add to the collection. + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed, false if entity was not part of the + + . + + + The object to remove from the collection. entity must implement + + . + + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed; false if entity was not part of the + + . + + An object to remove from the collection. + + + Defines a relationship between two attached objects. + + The object being attached. entity must implement + + . + + + + Defines a relationship between two attached objects. + The object being attached. + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Base class for EntityCollection and EntityReference + + + + Occurs when a change is made to a related end. + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this participates. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + + A that is the role name. + + + + Gets the role name at the target end of the relationship. + + A that is the role name. + + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + Gets a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + + + + + Loads the related object or objects into the related end with the default merge option. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Loads an object or objects from the related end with the specified merge option. + + + The to use when merging objects into an existing + . + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Attaches an entity to the related end. This method works in exactly the same way as Attach(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Attaches an entity to the related end. If the related end is already filled + or partially filled, this merges the existing entities with the given entity. The given + entity is not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. + Deleted elements are allowed only when the state manager is already tracking the relationship + instance. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Adds an entity to the related end. This method works in exactly the same way as Add(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to add to the related end + + + + Adds an entity to the related end. If the owner is + attached to a cache then the all the connected ends are + added to the object cache and their corresponding relationships + are also added to the ObjectStateManager. The RelatedEnd of the + relationship is also fixed. + + Entity instance to add to the related end + + + + Removes an entity from the related end. This method works in exactly the same way as Remove(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Removes an entity from the related end. If owner is + attached to a cache, marks relationship for deletion and if + the relationship is composition also marks the entity for deletion. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + Identifies the kind of a relationship + + + + + The relationship is an Association + + + + + Container for the lazily created relationship navigation + property objects (collections and refs). + + + + + Creates a new object. + + + Used by data classes that support relationships. If the change tracker + requests the RelationshipManager property and the data class does not + already have a reference to one of these objects, it calls this method + to create one, then saves a reference to that object. On subsequent accesses + to that property, the data class should return the saved reference. + The reason for using a factory method instead of a public constructor is to + emphasize that this is not something you would normally call outside of a data class. + By requiring that these objects are created via this method, developers should + give more thought to the operation, and will generally only use it when + they explicitly need to get an object of this type. It helps define the intended usage. + + + The requested . + + Reference to the entity that is calling this method. + + + + Returns either an or + + of the correct type for the specified target role in a relationship. + + + representing the + + or + + that was retrieved. + + Name of the relationship in which targetRoleName is defined. The relationship name is not namespace qualified. + Target role to use to retrieve the other end of relationshipName . + relationshipName or targetRoleName is null. + The source type does not match the type of the owner. + targetRoleName is invalid or unable to find the relationship type in the metadata. + + + + Takes an existing EntityReference that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityReference has already been initialized, + if the relationship manager already contains a relationship with this name and target role, or if the relationship manager is already attached to a ObjectContext.W + + The relationship name. + The role name of the related end. + + The to initialize. + + + The type of the being initialized. + + + When the provided + is already initialized.-or-When the relationship manager is already attached to an + + or when the relationship manager already contains a relationship with this name and target role. + + + + + Takes an existing EntityCollection that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityCollection has already been initialized, + or if the relationship manager is already attached to a ObjectContext. + + The relationship name. + The target role name. + An existing EntityCollection. + Type of the entity represented by targetRoleName + + + + Gets an of related objects with the specified relationship name and target role name. + + + The of related objects. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + + Gets the for a related object by using the specified combination of relationship name and target role name. + + + The of a related object. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + Returns an enumeration of all the related ends managed by the relationship manager. + + An of objects that implement + + . An empty enumeration is returned when the relationships have not yet been populated. + + + + + Called by Object Services to prepare an for binary serialization with a serialized relationship. + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + This class contains the common methods need for an date object. + + + + + Public constant name used for change tracking + Providing this definition allows users to use this constant instead of + hard-coding the string. This helps to ensure the property name is correct + and allows faster comparisons in places where we are looking for this specific string. + Users can still use the case-sensitive string directly instead of the constant, + it will just be slightly slower on comparison. + Including the dash (-) character around the name ensures that this will not conflict with + a real data property, because -EntityKey- is not a valid identifier name + + + + + Notification that a property has been changed. + + + The PropertyChanged event can indicate all properties on the + object have changed by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangedEventArgs. + + + + + Notification that a property is about to be changed. + + + The PropertyChanging event can indicate all properties on the + object are changing by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangingEventArgs. + + + + + Raises the event. + + The name of the changed property. + + + + Raises the event. + + The name of the property changing. + + + Returns the minimum date time value supported by the data source. + + A value that is the minimum date time that is supported by the data source. + + + + Raises an event that is used to report that a property change is pending. + The name of the changing property. + + + Raises an event that is used to report that a property change has occurred. + The name for the changed property. + + + Returns a complex type for the specified property. + + Unlike most of the other helper methods in this class, this one is not static + because it references the SetValidValue for complex objects, which is also not static + because it needs a reference to this. + + A complex type object for the property. + A complex object that inherits from complex object. + The name of the complex property that is the complex object. + Indicates whether the type supports null values. + Indicates whether the type is initialized. + The type of the complex object being requested. + + + Determines whether the specified byte arrays contain identical values. + true if both arrays are of the same length and contain the same byte values or if both arrays are null; otherwise, false. + The first byte array value to compare. + The second byte array to compare. + + + Returns a copy of the current byte value. + + A copy of the current value. + + The current byte array value. + + + + Makes sure the value being set for a property is valid. + + + The value being validated. + + The value passed into the property setter. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + If value is null for a non nullable value. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + The value being set. + Indicates whether the property is nullable. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + A that is set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value that is set. + + The value that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + The name of the property that is being validated. + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + Name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + The name of the property that is being validated. + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + The name of the property that is being validated. + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + + + Validates that the property is not null, and throws if it is. + The validated property. + The string value to be checked. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The string value is null for a non-nullable string. + + + Validates that the property is not null, and throws if it is. + + The validated value. + + The string value to be checked. + Flag indicating if this property is allowed to be null. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + Name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Sets a complex object for the specified property. + A complex type that derives from complex object. + The original complex object for the property, if any. + The complex object is being set. + The complex property that is being set to the complex object. + The type of the object being replaced. + + + Verifies that a complex object is not null. + The complex object being validated. + The complex object that is being validated. + The complex property on the parent object that is associated with complexObject . + The type of the complex object being verified. + + + + Provides access to the original values of object data. The DbUpdatableDataRecord implements methods that allow updates to the original values of an object. + + + + Gets the number of fields in the record. + An integer value that is the field count. + + + Returns a value that has the given field ordinal. + The value that has the given field ordinal. + The ordinal of the field. + + + Gets a value that has the given field name. + The field value. + The name of the field. + + + Retrieves the field value as a Boolean. + The field value as a Boolean. + The ordinal of the field. + + + Retrieves the field value as a byte. + The field value as a byte. + The ordinal of the field. + + + Retrieves the field value as a byte array. + The number of bytes copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of bytes to copy. + + + Retrieves the field value as a char. + The field value as a char. + The ordinal of the field. + + + Retrieves the field value as a char array. + The number of characters copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of characters to copy. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as a + + + The field value as a . + + The ordinal of the field. + + + Retrieves the name of the field data type. + The name of the field data type. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Retrieves the field value as a decimal. + The field value as a decimal. + The ordinal of the field. + + + Retrieves the field value as a double. + The field value as a double. + The ordinal of the field. + + + Retrieves the type of a field. + The field type. + The ordinal of the field. + + + Retrieves the field value as a float. + The field value as a float. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + Retrieves the name of a field. + The name of the field. + The ordinal of the field. + + + Retrieves the ordinal of a field by using the name of the field. + The ordinal of the field. + The name of the field. + + + Retrieves the field value as a string. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Populates an array of objects with the field values of the current record. + The number of field values returned. + An array of objects to store the field values. + + + + Returns whether the specified field is set to . + + + true if the field is set to ; otherwise false. + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets field values in a record. + The number of the fields that were set. + The values of the field. + + + + Sets a field to the value. + + The ordinal of the field. + + + Gets data record information. + + A object. + + + + + Retrieves a field value as a . + + + A field value as a . + + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + + List of type pairs that constructor call new XXXX(YYY yyy) could be translated to SQL CAST(yyy AS XXXXX) call + + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that these functions have been moved to the class starting with EF6. + The functions are retained here only to help in the migration of older EF apps to EF6. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + Options for query execution. + + + + + Creates a new instance of . + + Merge option to use for entity results. + + + + Creates a new instance of . + + Merge option to use for entity results. + Whether the query is streaming or buffering. + + + + Merge option to use for entity results. + + + + + Whether the query is streaming or buffering. + + + + Determines whether the specified objects are equal. + true if the two objects are equal; otherwise, false. + The left object to compare. + The right object to compare. + + + + Determines whether the specified objects are not equal. + + The left object to compare. + The right object to compare. + true if the two objects are not equal; otherwise, false. + + + + + + + + + + Defines behavior for implementations of IQueryable that allow modifications to the membership of the resulting set. + + Type of entities returned from the queryable. + + + Notifies the set that an object that represents a new entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The new object to add to the set. + + + Notifies the set that an object that represents an existing entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to add to the set. + + + Notifies the set that an object that represents an existing entity must be deleted from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to delete from the set. + + + Notifies the set that an object that represents an existing entity must be detached from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The object to detach from the set. + + + + The different ways that new objects loaded from the database can be merged with existing objects already in memory. + + + + + Will only append new (top level-unique) rows. This is the default behavior. + + + + + Same behavior as LoadOption.OverwriteChanges. + + + + + Same behavior as LoadOption.PreserveChanges. + + + + + Will not modify cache. + + + + + ObjectContext is the top-level object that encapsulates a connection between the CLR and the database, + serving as a gateway for Create, Read, Update, and Delete operations. + + + + + Initializes a new instance of the class with the given connection. During construction, the metadata workspace is extracted from the + + object. + + + An that contains references to the model and to the data source connection. + + The connection is null. + The connection is invalid or the metadata workspace is invalid. + + + + Creates an ObjectContext with the given connection and metadata workspace. + + connection to the store + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + Initializes a new instance of the class with the given connection string and default entity container name. + + The connection string, which also provides access to the metadata information. + The connectionString is null. + The connectionString is invalid or the metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection string and entity container name. + + The connection string, which also provides access to the metadata information. + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connectionString is null. + The connectionString , defaultContainerName , or metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection and entity container name. + + + An that contains references to the model and to the data source connection. + + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connection is null. + The connection , defaultContainerName , or metadata workspace is not valid. + + + Gets the connection used by the object context. + + A object that is the connection. + + + When the instance has been disposed. + + + + Gets or sets the default container name. + + A that is the default container name. + + + + Gets the metadata workspace used by the object context. + + The object associated with this + + . + + + + Gets the object state manager used by the object context to track object changes. + + The used by this + + . + + + + Gets or sets the timeout value, in seconds, for all object context operations. A null value indicates that the default value of the underlying provider will be used. + + An value that is the timeout value, in seconds. + + The timeout value is less than 0. + + + Gets the LINQ query provider associated with this object context. + + The instance used by this object context. + + + + + Gets the instance that contains options that affect the behavior of the + + . + + + The instance that contains options that affect the behavior of the + + . + + + + + Returns itself. ObjectContext implements to provide a common + interface for and ObjectContext both of which will return the underlying + ObjectContext. + + + + + Gets the transaction handler in use by this context. May be null if no transaction have been started. + + + The transaction handler. + + + + + Returns the being used for this context. + + + + Occurs when changes are saved to the data source. + + + Occurs when a new entity object is created from data in the data source as part of a query or load operation. + + + Accepts all changes made to objects in the object context. + + + Adds an object to the object context. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to add. + + The entity parameter is null or the entitySetName does not qualify. + + + Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The value to use when you load the related objects. + + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + + The value to use when you load the related objects. + + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Applies property changes from a detached object to an object already attached to the object context. + The name of the entity set to which the object belongs. + The detached object that has property updates to apply to the original object. + When entitySetName is null or an empty string or when changed is null. + + When the from entitySetName does not match the + + of the object + + or when the entity is in a state other than + + or + + or the original object is not attached to the context. + + When the type of the changed object is not the same type as the original object. + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + The entity type of the object. + entitySetName or current is null. + + The from entitySetName does not match the + + of the object + + or the object is not in the + + or it is in a + + state or the entity key of the supplied object is invalid. + + entitySetName is an empty string. + + + + Copies the scalar values from the supplied object into set of original values for the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has original values to apply to the object. The entity key of originalEntity must match the + + property of an entry in the + + . + + The type of the entity object. + entitySetName or original is null. + + The from entitySetName does not match the + + of the object + + or an + + for the object cannot be found in the + + or the object is in an + + or a + + state or the entity key of the supplied object is invalid or has property changes. + + entitySetName is an empty string. + + + Attaches an object or object graph to the object context in a specific entity set. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to attach. + + The entity is null. + + Invalid entity set or the object has a temporary key or the object has an + + and the + + does not match with the entity set passed in as an argument of the method or the object does not have an + + and no entity set is provided or any object from the object graph has a temporary + + or any object from the object graph has an invalid + + (for example, values in the key do not match values in the object) or the entity set could not be found from a given entitySetName name and entity container name or any object from the object graph already exists in another state manager. + + + + Attaches an object or object graph to the object context when the object has an entity key. + The object to attach. + The entity is null. + Invalid entity key. + + + Creates the entity key for a specific object, or returns the entity key if it already exists. + + The of the object. + + The fully qualified name of the entity set to which the entity object belongs. + The object for which the entity key is being retrieved. + When either parameter is null. + When entitySetName is empty or when the type of the entity object does not exist in the entity set or when the entitySetName is not fully qualified. + When the entity key cannot be constructed successfully based on the supplied parameters. + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified entity type. + + + The new instance. + + + Entity type of the requested . + + + The property is not set on the + + or the specified type belongs to more than one entity set. + + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name. + + + The new instance. + + + Name of the entity set for the returned . The string must be qualified by the default container name if the + + property is not set on the + + . + + + Entity type of the requested . + + + The from entitySetName does not match the + + of the object + + or the + + property is not set on the + + and the name is not qualified as part of the entitySetName parameter or the specified type belongs to more than one entity set. + + + + + Creates an in the current object context by using the specified query string. + + + An of the specified type. + + The query string to be executed. + Parameters to pass to the query. + + The entity type of the returned . + + The queryString or parameters parameter is null. + + + Marks an object for deletion. + + An object that specifies the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + The entity is null. + + The entity is not associated with this (for example, was newly created and not associated with any context yet, or was obtained through some other context, or was already detached). + + + + + Finalizes an instance of the class. + + + + Releases the resources used by the object context. + + + + Releases the resources used by the object context. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns an object that has the specified entity key. + + An that is an instance of an entity type. + + The key of the object to be found. + The key parameter is null. + + The object is not found in either the or the data source. + + + + Updates a collection of objects in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Updates an object in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Persists all updates to the database and resets change tracking in the object context. + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + This parameter is needed for client-side transaction support. If true, the change tracking on all objects is reset after + + finishes. If false, you must call the + method after . + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + A value that determines the behavior of the operation. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + + Ensures that changes are synchronized with changes in all objects that are tracked by the + + . + + + + Returns an object that has the specified entity key. + true if the object was retrieved successfully. false if the key is temporary, the connection is null, or the value is null. + The key of the object to be found. + When this method returns, contains the object. + Incompatible metadata for key . + key is null. + + + + Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + The to use when executing the query. + + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given function on the default container. + + Element type for function results. + + Name of function. May include container (e.g. ContainerName.FunctionName) or just function name when DefaultContainerName is known. + + The options for executing this function. + + The parameter values to use for the function. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + An object representing the result of executing this function. + If function is null or empty + + If function is invalid (syntax, + does not exist, refers to a function with return type incompatible with T) + + + + Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution. + The number of rows affected. + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration. + + An enumeration of objects that represent custom data classes that map to the conceptual model. + + + + Returns all the existing proxy types. + + An of all the existing proxy types. + + + + Returns the entity type of the POCO entity associated with a proxy object of a specified type. + + The of the associated POCO entity. + + + The of the proxy object. + + + + Creates and returns an instance of the requested type . + An instance of the requested type T , or an instance of a derived type that enables T to be used with the Entity Framework. The returned object is either an instance of the requested type or an instance of a derived type that enables the requested type to be used with the Entity Framework. + Type of object to be returned. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior of + DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + + The to use when executing the query. The default is + . + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Translates a that contains rows of entity data to objects of the requested entity type. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + When reader is null. + + + + Translates a that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + The entity set of the TResult type. + + The to use when translated objects are added to the object context. The default is + + . + + When reader is null. + + When the supplied mergeOption is not a valid value. + + When the supplied entitySetName is not a valid entity set for the TResult type. + + + + Creates the database by using the current data source connection and the metadata in the + + . + + + + Deletes the database that is specified as the database in the current data source connection. + + + + Checks if the database that is specified as the database in the current store connection exists on the store. Most of the actual work + is done by the DbProviderServices implementation for the current store connection. + + true if the database exists; otherwise, false. + + + + Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the + + . The + + loads metadata from store schema definition language (SSDL) files. + + + A DDL script that creates schema objects for the metadata in the + + . + + + + + Defines options that affect the behavior of the ObjectContext. + + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + and are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + Gets or sets a Boolean value that determines whether related objects are loaded automatically when a navigation property is accessed. + true if lazy loading is enabled; otherwise, false. + + + Gets or sets a Boolean value that determines whether proxy instances are created for custom data classes that are persistence ignorant. + true if proxies are created; otherwise, false. The default value is true. + + + Gets or sets a Boolean value that determines whether to use the legacy PreserveChanges behavior. + true if the legacy PreserveChanges behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the consistent NullReference behavior. + + If this flag is set to false then setting the Value property of the for an + FK relationship to null when it is already null will have no effect. When this flag is set to true, then + setting the value to null will always cause the FK to be nulled and the relationship to be deleted + even if the value is currently null. The default value is false when using ObjectContext and true + when using DbContext. + + true if the consistent NullReference behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the C# NullComparison behavior. + + This flag determines whether C# behavior should be exhibited when comparing null values in LinqToEntities. + If this flag is set, then any equality comparison between two operands, both of which are potentially + nullable, will be rewritten to show C# null comparison semantics. As an example: + (operand1 = operand2) will be rewritten as + (((operand1 = operand2) AND NOT (operand1 IS NULL OR operand2 IS NULL)) || (operand1 IS NULL && operand2 IS NULL)) + The default value is false when using . + + true if the C# NullComparison behavior should be used; otherwise, false. + + + + EventArgs for the ObjectMaterialized event. + + + + + Constructs new arguments for the ObjectMaterialized event. + + The object that has been materialized. + + + Gets the entity object that was created. + The entity object that was created. + + + + Delegate for the ObjectMaterialized event. + + The ObjectContext responsable for materializing the object. + EventArgs containing a reference to the materialized object. + + + + This class represents a query parameter at the object layer, which consists + of a Name, a Type and a Value. + + + + + Initializes a new instance of the class with the specified name and type. + + The parameter name. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The common language runtime (CLR) type of the parameter. + If the value of either argument is null. + If the value of the name argument is invalid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + + Initializes a new instance of the class with the specified name and value. + + The parameter name. This name should not include the "@" parameter marker that is used in Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The initial value (and inherently, the type) of the parameter. + If the value of either argument is null. + If the value of the name argument is not valid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + Gets the parameter name, which can only be set through a constructor. + The parameter name, which can only be set through a constructor. + + + Gets the parameter type. + + The of the parameter. + + + + Gets or sets the parameter value. + The parameter value. + + + + This class represents a collection of query parameters at the object layer. + + + + Gets the number of parameters currently in the collection. + + The number of objects that are currently in the collection. + + + + + This collection is read-write - parameters may be added, removed + and [somewhat] modified at will (value only) - provided that the + implementation the collection belongs to has not locked its parameters + because it's command definition has been prepared. + + + + Provides an indexer that allows callers to retrieve parameters by name. + + The instance. + + The name of the parameter to find. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + No parameter with the specified name is found in the collection. + + + + Adds the specified to the collection. + + The parameter to add to the collection. + The parameter argument is null. + + The parameter argument already exists in the collection. This behavior differs from that of most collections that allow duplicate entries. -or-Another parameter with the same name as the parameter argument already exists in the collection. Note that the lookup is case-insensitive. This behavior differs from that of most collections, and is more like that of a + + . + + The type of the parameter is not valid. + + + + Deletes all instances from the collection. + + + + + Checks for the existence of a specified in the collection by reference. + + Returns true if the parameter object was found in the collection; otherwise, false. + + The to find in the collection. + + The parameter argument is null. + + + + Determines whether an with the specified name is in the collection. + + Returns true if a parameter with the specified name was found in the collection; otherwise, false. + The name of the parameter to look for in the collection. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + The name parameter is null. + + + Allows the parameters in the collection to be copied into a supplied array, starting with the object at the specified index. + The array into which to copy the parameters. + The index in the array at which to start copying the parameters. + + + + Removes an instance of an from the collection by reference if it exists in the collection. + + Returns true if the parameter object was found and removed from the collection; otherwise, false. + An object to remove from the collection. + The parameter argument is null. + + + + These methods return enumerator instances, which allow the collection to + be iterated through and traversed. + + An object that can be used to iterate through the collection. + + + Returns an untyped enumerator over the collection. + + An instance. + + + + + This class implements untyped queries at the object-layer. + + + + Returns the command text for the query. + A string value. + + + Gets the object context associated with this object query. + + The associated with this + + instance. + + + + Gets or sets how objects returned from a query are added to the object context. + + The query . + + + + + Whether the query is streaming or buffering + + + + Gets the parameter collection for this object query. + + The parameter collection for this . + + + + Gets or sets a value that indicates whether the query plan should be cached. + A value that indicates whether the query plan should be cached. + + + Returns the commands to execute against the data source. + A string that represents the commands that the query executes against the data source. + + + Returns information about the result type of the query. + + A value that contains information about the result type of the query. + + + + Executes the untyped object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + + Gets the result element type for this query instance. + + + + + Gets the expression describing this query. For queries built using + LINQ builder patterns, returns a full LINQ expression tree; otherwise, + returns a constant expression wrapping this query. Note that the + default expression is not cached. This allows us to differentiate + between LINQ and Entity-SQL queries. + + + + + Gets the associated with this query instance. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + + ObjectQuery implements strongly-typed queries at the object-layer. + Queries are specified using Entity-SQL strings and may be created by calling + the Entity-SQL-based query builder methods declared by ObjectQuery. + + The result type of this ObjectQuery + + + + Creates a new instance using the specified Entity SQL command as the initial query. + + The Entity SQL query. + + The on which to execute the query. + + + + + Creates a new instance using the specified Entity SQL command as the initial query and the specified merge option. + + The Entity SQL query. + + The on which to execute the query. + + + Specifies how the entities that are retrieved through this query should be merged with the entities that have been returned from previous queries against the same + + . + + + + Gets or sets the name of this object query. + + A string value that is the name of this . + + The value specified on set is not valid. + + + Executes the object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + Specifies the related objects to include in the query results. + + A new with the defined query path. + + Dot-separated list of related objects to return in the query results. + path is null. + path is empty. + + + Limits the query to unique results. + + A new instance that is equivalent to the original instance with SELECT DISTINCT applied. + + + + + This query-builder method creates a new query whose results are all of + the results of this query, except those that are also part of the other + query specified. + + A query representing the results to exclude. + a new ObjectQuery instance. + If the query parameter is null. + + + Groups the query results by the specified criteria. + + A new instance of type + + that is equivalent to the original instance with GROUP BY applied. + + The key columns by which to group the results. + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + The query parameter is null or an empty string + or the projection parameter is null or an empty string. + + + + This query-builder method creates a new query whose results are those that + are both in this query and the other query specified. + + A query representing the results to intersect with. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to only results of a specific type. + + A new instance that is equivalent to the original instance with OFTYPE applied. + + + The type of the returned when the query is executed with the applied filter. + + The type specified is not valid. + + + Orders the query results by the specified criteria. + + A new instance that is equivalent to the original instance with ORDER BY applied. + + The key columns by which to order the results. + Zero or more parameters that are used in this method. + The keys or parameters parameter is null. + The key is an empty string. + + + Limits the query results to only the properties that are defined in the specified projection. + + A new instance of type + + that is equivalent to the original instance with SELECT applied. + + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + projection is null or parameters is null. + The projection is an empty string. + + + Limits the query results to only the property specified in the projection. + + A new instance of a type compatible with the specific projection. The returned + + is equivalent to the original instance with SELECT VALUE applied. + + The projection list. + An optional set of query parameters that should be in scope when parsing. + + The type of the returned by the + + method. + + projection is null or parameters is null. + The projection is an empty string. + + + Orders the query results by the specified criteria and skips a specified number of results. + + A new instance that is equivalent to the original instance with both ORDER BY and SKIP applied. + + The key columns by which to order the results. + The number of results to skip. This must be either a constant or a parameter reference. + An optional set of query parameters that should be in scope when parsing. + Any argument is null. + keys is an empty string or count is an empty string. + + + Limits the query results to a specified number of items. + + A new instance that is equivalent to the original instance with TOP applied. + + The number of items in the results as a string. + An optional set of query parameters that should be in scope when parsing. + count is null. + count is an empty string. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + without duplicates (i.e., results are unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + including any duplicates (i.e., results are not necessarily unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to results that match specified filtering criteria. + + A new instance that is equivalent to the original instance with WHERE applied. + + The filter predicate. + Zero or more parameters that are used in this method. + predicate is null or parameters is null. + The predicate is an empty string. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + This class implements IEnumerable and IDisposable. Instance of this class + is returned from ObjectQuery.Execute method. + + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + IListSource.ContainsListCollection implementation. Always returns false. + + + + Returns the results in a format useful for data binding. + + An of entity objects. + + + + + When overridden in a derived class, gets the type of the generic + + . + + + The type of the generic . + + + + Performs tasks associated with freeing, releasing, or resetting resources. + + + Releases the resources used by the object result. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the next result set of a stored procedure. + An ObjectResult that enumerates the values of the next result set. Null, if there are no more, or if the ObjectResult is not the result of a stored procedure call. + The type of the element. + + + + This class represents the result of the method. + + The type of the result. + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the type of the . + + + A that is the type of the . + + + + + Represents a typed entity set that is used to perform create, read, update, and delete operations. + + The type of the entity. + + + + Gets the metadata of the entity set represented by this instance. + + + An object. + + + + Adds an object to the object context in the current entity set. + The object to add. + + + Attaches an object or object graph to the object context in the current entity set. + The object to attach. + + + Marks an object for deletion. + + An object that represents the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + + + + Sets the property of an + + to match the property values of a supplied object. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of originalEntity must match the + + property of an entry in the + + . + + + + Creates a new entity type object. + The new entity type object, or an instance of a proxy type that corresponds to the entity type. + + + Creates an instance of the specified type. + An instance of the requested type T , or an instance of a proxy type that corresponds to the type T . + Type of object to be returned. + + + + Represents either a entity, entity stub or relationship + + + + + Gets the for the + + . + + + The for the + + . + + + + + Gets the for the object or relationship. + + + The for the object or relationship. + + + + + Gets the state of the . + + + The state of the . + + + + Gets the entity object. + The entity object. + + + Gets the entity key. + The entity key. + + + + Gets a value that indicates whether the represents a relationship. + + + true if the represents a relationship; otherwise, false. + + + + Gets the read-only version of original values of the object or relationship. + The read-only version of original values of the relationship set entry or entity. + + + + Gets the updatable version of original values of the object associated with this + + . + + The updatable original values of object data. + + + + Gets the current property values of the object or relationship associated with this + + . + + + A that contains the current values of the object or relationship associated with this + + . + + + + Accepts the current values as original values. + + + Marks an entity as deleted. + + + + Returns the names of an object’s properties that have changed since the last time + + was called. + + + An collection of names as string. + + + + Sets the state of the object or relationship to modify. + If State is not Modified or Unchanged + + + Marks the specified property as modified. + The name of the property. + If State is not Modified or Unchanged + + + Rejects any changes made to the property with the given name since the property was last loaded, attached, saved, or changes were accepted. The original value of the property is stored and the property will no longer be marked as modified. + The name of the property to change. + + + Uses DetectChanges to determine whether or not the current value of the property with the given name is different from its original value. Note that this may be different from the property being marked as modified since a property which has not changed can still be marked as modified. + + Note that this property always returns the same result as the modified state of the property for change tracking + proxies and entities that derive from the EntityObject base class. This is because original values are not tracked + for these entity types and hence there is no way to know if the current value is really different from the + original value. + + true if the property has changed; otherwise, false. + The name of the property. + + + + Gets the instance for the object represented by entry. + + + The object. + + The entry is a stub or represents a relationship + + + + Changes state of the entry to the specified value. + + + The value to set for the + + property of the entry. + + + + Sets the current values of the entry to match the property values of a supplied object. + The detached object that has updated values to apply to the object. currentEntity can also be the object’s entity key. + + + Sets the original values of the entry to match the property values of a supplied object. + The detached object that has original values to apply to the object. originalEntity can also be the object’s entity key. + + + + Used to report that a scalar entity property is about to change + The current value of the specified property is cached when this method is called. + + The name of the entity property that is changing + + + + Used to report that a scalar entity property has been changed + The property value that was cached during EntityMemberChanging is now + added to OriginalValues + + The name of the entity property that has changing + + + + Used to report that a complex property is about to change + The current value of the specified property is cached when this method is called. + + The name of the top-level entity property that is changing + The complex object that contains the property that is changing + The name of the property that is changing on complexObject + + + + Used to report that a complex property has been changed + The property value that was cached during EntityMemberChanging is now added to OriginalValues + + The name of the top-level entity property that has changed + The complex object that contains the property that changed + The name of the property that changed on complexObject + + + + Returns the EntityState from the ObjectStateEntry + + + + + Maintains object state and identity management for entity type instances and relationship instances. + + + + + Initializes a new instance of the class. + + + The , which supplies mapping and metadata information. + + + + + Gets the associated with this state manager. + + + The associated with this + + . + + + + Occurs when entities are added to or removed from the state manager. + + + + Returns a collection of objects for objects or relationships with the given state. + + + A collection of objects in the given + + . + + + An used to filter the returned + + objects. + + + When state is . + + + + + Changes state of the for a specific object to the specified entityState . + + + The for the supplied entity . + + The object for which the state must be changed. + The new state of the object. + When entity is null. + + When the object is not detached and does not have an entry in the state manager + or when you try to change the state to + from any other + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the name of the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + When source or target is null. + + When trying to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and a LINQ expression that defines the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + A LINQ expression that selects the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + The entity type of the source object. + When source , target , or selector is null. + selector is malformed or cannot return a navigation property. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a + state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the properties of the relationship. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the relationship. + The role name at the target end of the relationship. + + The requested of the specified relationship. + + When source or target is null. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an + state + or when state is not a valid value. + + + + + Returns an for the object or relationship entry with the specified key. + + + The corresponding for the given + + . + + + The . + + When key is null. + When the specified key cannot be found in the state manager. + + No entity with the specified exists in the + + . + + + + + Returns an for the specified object. + + + The corresponding for the given + + . + + + The to which the retrieved + + belongs. + + + No entity for the specified exists in the + + . + + + + + Tries to retrieve the corresponding for the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given object; otherwise, false. + + + The to which the retrieved + + belongs. + + + When this method returns, contains the for the given + + This parameter is passed uninitialized. + + + + + Tries to retrieve the corresponding for the object or relationship with the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given + + ; otherwise, false. + + + The given . + + + When this method returns, contains an for the given + + This parameter is passed uninitialized. + + A null (Nothing in Visual Basic) value is provided for key . + + + + Returns the that is used by the specified object. + + + The for the specified object. + + + The object for which to return the . + + + The entity does not implement IEntityWithRelationships and is not tracked by this ObjectStateManager + + + + + Returns the that is used by the specified object. + + + true if a instance was returned for the supplied entity ; otherwise false. + + + The object for which to return the . + + + When this method returns, contains the + + for the entity . + + + + + The original values of the properties of an entity when it was retrieved from the database. + + + + + A DataContractResolver that knows how to resolve proxy types created for persistent + ignorant classes to their base types. This is used with the DataContractSerializer. + + + + During deserialization, maps any xsi:type information to the actual type of the persistence-ignorant object. + Returns the type that the xsi:type is mapped to. Returns null if no known type was found that matches the xsi:type. + The xsi:type information to map. + The namespace of the xsi:type. + The declared type. + + An instance of . + + + + During serialization, maps actual types to xsi:type information. + true if the type was resolved; otherwise, false. + The actual type of the persistence-ignorant object. + The declared type. + + An instance of . + + When this method returns, contains a list of xsi:type declarations. + When this method returns, contains a list of namespaces used. + + + + Defines the different ways to handle modified properties when refreshing in-memory data from the database. + + + + + For unmodified client objects, same behavior as StoreWins. For modified client + objects, Refresh original values with store value, keeping all values on client + object. The next time an update happens, all the client change units will be + considered modified and require updating. + + + + + Discard all changes on the client and refresh values with store values. + Client original values is updated to match the store. + + + + + Flags used to modify behavior of ObjectContext.SaveChanges() + + + + + Changes are saved without the DetectChanges or the AcceptAllChangesAfterSave methods being called. + + + + + After changes are saved, the AcceptAllChangesAfterSave method is called, which resets change tracking in the ObjectStateManager. + + + + + Before changes are saved, the DetectChanges method is called to synchronize the property values of objects that are attached to the object context with data in the ObjectStateManager. + + + + + This exception is thrown when a update operation violates the concurrency constraint. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The enumerable collection of objects. + + + + + Property constraint exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of the class with default message. + + + + + Initializes a new instance of the class with supplied message. + + A localized error message. + + + + Initializes a new instance of the class with supplied message and inner exception. + + A localized error message. + The inner exception. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + The inner exception. + + + Gets the name of the property that violated the constraint. + The name of the property that violated the constraint. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the store provider exhibits a behavior incompatible with the entity client provider + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Used for conversion between different representations of bit array. + Returns (n+(div-1))/div, rearranged to avoid arithmetic overflow. + For example, in the bit to int case, the straightforward calc would + be (n+31)/32, but that would cause overflow. So instead it's + rearranged to ((n-1)/32) + 1, with special casing for 0. + + Usage: + GetArrayLength(77, BitsPerInt32): returns how many ints must be + allocated to store 77 bits. + + length of array + use a conversion constant, e.g. BytesPerInt32 to get + how many ints are required to store n bytes + length of the array + + + + Is this tree uses user-defined functions + Simplifying query with UDFs could caused to suboptimal plans + + Current subtree to process + Mapped variables + + + + + Exception during save changes to store + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The collection of objects. + + + + + Gets the objects for this + + . + + + A collection of objects comprised of either a single entity and 0 or more relationships, or 0 entities and 1 or more relationships. + + + + + Initializes a new instance of with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instance of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Gets the transaction the underlying store connection is enlisted in. May be null. + + + + + Enables the user to pass in a database transaction created outside of the object + if you want the Entity Framework to execute commands within that external transaction. + Alternatively, pass in null to clear the framework's knowledge of that transaction. + + the external transaction + Thrown if the transaction is already completed + + Thrown if the connection associated with the object is already enlisted in a + + transaction + + + Thrown if the connection associated with the object is already participating in a transaction + + Thrown if the connection associated with the transaction does not match the Entity Framework's connection + + + + Begins a transaction on the underlying store connection + + + a object wrapping access to the underlying store's transaction object + + + + + Begins a transaction on the underlying store connection using the specified isolation level + + The database isolation level with which the underlying store transaction will be created + + a object wrapping access to the underlying store's transaction object + + + + + Returns the connection being used by this context. This may cause the + connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Sets the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Runs the registered on this context. + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + + If set to true the initializer is run even if it has already been run. + + + + + Checks whether or not the database is compatible with the current Code First model. + + + Model compatibility currently uses the following rules. + If the context was created using either the Model First or Database First approach then the + model is assumed to be compatible with the database and this method returns true. + For Code First the model is considered compatible if the model is stored in the database + in the Migrations history table and that model has no differences from the current model as + determined by Migrations model differ. + If the model is not stored in the database but an EF 4.1/4.2 model hash is found instead, + then this is used to check for compatibility. + + + If set to true then an exception will be thrown if no model metadata is found in the database. If set to false then this method will return true if metadata is not found. + + True if the model hash in the context and the database match; false otherwise. + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + Calling this method from outside of an initializer will mark the database as having + not been initialized. This means that if an attempt is made to use the database again + after it has been deleted, then any initializer set will run again and, usually, will + try to create the database again automatically. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + By default, the instance to use is read from the application's .config + file from the "EntityFramework DefaultConnectionFactory" entry in appSettings. If no entry is found in + the config file then is used. Setting this property in code + always overrides whatever value is found in the config file. + + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local or ambient transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the timeout value, in seconds, for all context operations. + The default value is null, where null indicates that the default value of the underlying + provider will be used. + + + The timeout, in seconds, or null to use the provider default. + + + + + Set this property to log the SQL generated by the to the given + delegate. For example, to log to the console, set this property to . + + + The format of the log text can be changed by creating a new formatter that derives from + and setting it with . + For more low-level control over logging/interception see and + . + + + + + A class derived from this class can be placed in the same assembly as a class derived from + to define Entity Framework configuration for an application. + Configuration is set by calling protected methods and setting protected properties of this + class in the constructor of your derived type. + The type to use can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Any class derived from must have a public parameterless constructor + and that constructor should call this constructor. + + + + + The Singleton instance of for this app domain. This can be + set at application start before any Entity Framework features have been used and afterwards + should be treated as read-only. + + The instance of . + + + + Attempts to discover and load the associated with the given + type. This method is intended to be used by tooling to ensure that + the correct configuration is loaded into the app domain. Tooling should use this method + before accessing the property. + + A type to use for configuration discovery. + + + + Attempts to discover and load the from the given assembly. + This method is intended to be used by tooling to ensure that the correct configuration is loaded into + the app domain. Tooling should use this method before accessing the + property. If the tooling knows the type being used, then the + method should be used since it gives a greater chance that + the correct configuration will be found. + + An to use for configuration discovery. + + + + Occurs during EF initialization after the DbConfiguration has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that this event should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The exceptions to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here. + + The resolver to add. + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + + A implementation is automatically registered as a default resolver + when it is added with a call to . This allows EF providers to act as + resolvers for other services that may need to be overridden by the provider. + + The resolver to add. + + + + Gets the that is being used to resolve service + dependencies in the Entity Framework. + + + + + Call this method from the constructor of a class derived from to register + an Entity Framework provider. + + + Note that the provider is both registered as a service itself and also registered as a default resolver with + a call to AddDefaultResolver. This allows EF providers to act as resolvers for other services that + may need to be overridden by the provider. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register + an ADO.NET provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolvers for + and . This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + A function that returns a new instance of an execution strategy. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A function that returns a new instance of an execution strategy. + A string that will be matched against the server name in the connection string. + + + + Call this method from the constructor of a class derived from to register a + . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + A string that will be matched against the server name in the connection string. + + + + Sets the that is used to create connections by convention if no other + connection string or connection is given to or can be discovered by . + Note that a default connection factory is set in the app.config or web.config file whenever the + EntityFramework NuGet package is installed. As for all config file settings, the default connection factory + set in the config file will take precedence over any setting made with this method. Therefore the setting + must be removed from the config file before calling this method will have any effect. + Call this method from the constructor of a class derived from to change + the default connection factory being used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The connection factory. + + + + Call this method from the constructor of a class derived from to + set the pluralization service. + + The pluralization service to use. + + + + Call this method from the constructor of a class derived from to + set the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + + Calling this method is equivalent to calling . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is typically used by providers to register an associated SQL generator for Code First Migrations. + It is different from setting the generator in the because it allows + EF to use the Migrations pipeline to create a database even when there is no Migrations configuration in the project + and/or Migrations are not being explicitly used. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + A delegate that returns a new instance of the SQL generator each time it is called. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows provider manifest tokens to + be obtained from connections without necessarily opening the connection. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The manifest token resolver. + + + + Call this method from the constructor of a class derived from to set + a factory for implementations of which allows custom annotations + represented by instances to be serialized to and from the EDMX XML. + + + Note that an is not needed if the annotation uses a simple string value. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The name of custom annotation that will be handled by this serializer. + A delegate that will be used to create serializer instances. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows a + to be obtained from a in cases where the default implementation is not + sufficient. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The provider factory service. + + + + Call this method from the constructor of a class derived from to set + a as the model cache key factory which allows the key + used to cache the model behind a to be changed. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can + be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The key factory. + + + + Call this method from the constructor of a class derived from to set + a delegate which can be used for + creation of the default for a any + . This default factory will only be used if no factory is + set explicitly in the and if no factory has been registered + for the provider in use using the + + method. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + a delegate which allows for creation of a customized + for the given provider for any + that does not have an explicit factory set. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + the global instance of which will be used whenever a spatial provider is + required and a provider-specific spatial provider cannot be found. Normally, a provider-specific spatial provider + is obtained from the a implementation which is in turn returned by resolving + a service for passing the provider invariant name as a key. However, this + cannot work for stand-alone instances of and since + it is impossible to know the spatial provider to use. Therefore, when creating stand-alone instances + of and the global spatial provider is always used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider and provider + manifest token. + + + Use + to register spatial services for use only when a specific manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The indicating the type of ADO.NET connection for which this spatial provider will be used. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider with any + manifest token. + + + Use + to register spatial services for use when any manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this spatial provider will be used. + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + a factory for the type of to use with . + + + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + instance onto before any commands will be logged. + For more low-level control over logging/interception see and + . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A delegate that will create formatter instances. + + + + Call this method from the constructor of a class derived from to + register an at application startup. Note that interceptors can also + be added and removed at any time using . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The interceptor to register. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Sets a singleton model store implementation (persisted model cache). + + The model store implementation. + + + + Call this method from the constructor of a class derived from to register + a database table existence checker for a given provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The table existence checker to use. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + This attribute can be placed on a subclass of to indicate that the subclass of + representing the code-based configuration for the application is in a different + assembly than the context type. + + + Normally a subclass of should be placed in the same assembly as + the subclass of used by the application. It will then be discovered automatically. + However, if this is not possible or if the application contains multiple context types in different + assemblies, then this attribute can be used to direct DbConfiguration discovery to the appropriate type. + An alternative to using this attribute is to specify the DbConfiguration type to use in the application's + config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. + + + + + Indicates that the given subclass of should be used for code-based configuration + for this application. + + + The type to use. + + + + + Indicates that the subclass of represented by the given assembly-qualified + name should be used for code-based configuration for this application. + + + The type to use. + + + + + Gets the subclass of that should be used for code-based configuration + for this application. + + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to (localdb)\MSSQLLocalDB unless a different DefaultConnectionFactory is registered.) + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + The model that will back this context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + + An existing ObjectContext to wrap with the new context. + + If set to true the ObjectContext is disposed when the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuilder, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns a instance for access to entities of the given type in the context + and the underlying store. + + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the non-generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic instance for access to entities of the given type in the context + and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + + + + Saves all changes made in this context to the underlying database. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + Collection of validation results for invalid entities. The collection is never null and must not contain null values or results for valid entities. + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation; false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + + User-defined dictionary containing additional info for custom validation. It will be passed to + + and will be exposed as + + . This parameter is optional and can be null. + + Entity validation result. Possibly null when overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Wraps access to the transaction object on the underlying store connection and ensures that the + Entity Framework executes commands on the database within the context of that transaction. + An instance of this class is retrieved by calling BeginTransaction() on the + + object. + + + + + Gets the database (store) transaction that is underlying this context transaction. + + + + + Commits the underlying store transaction + + + + + Rolls back the underlying store transaction + + + + + Cleans up this transaction object and ensures the Entity Framework + is no longer using that transaction. + + + + + Releases the resources used by this transaction object + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this class was called EdmFunctionAttribute in some previous versions of Entity Framework. + + + + + Initializes a new instance of the class. + + The namespace of the mapped-to function. + The name of the mapped-to function. + + + The namespace of the mapped-to function. + The namespace of the mapped-to function. + + + The name of the mapped-to function. + The name of the mapped-to function. + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that this class was called EntityFunctions in some previous versions of Entity Framework. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding + DbContext.OnModelCreating(DbModelBuilder) + . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Configures the default database schema name. This default database schema name is used + for database objects that do not have an explicitly configured schema name. + + The name of the default database schema. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes the specified type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers an entity type as part of the model. + + The type to be registered. + + This method is provided as a convenience to allow entity types to be registered dynamically + without the need to use MakeGenericMethod in order to call the normal generic Entity method. + This method does not allow further configuration of the entity type using the fluent APIs since + these APIs make extensive use of generic type parameters. + + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types + in the model that inherit from or implement the type specified by the generic argument. + This method does not register types as part of the model. + + The type of the entities or complex types that this convention will apply to. + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also known as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + when targeting .Net Framework 4 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v6.0 + should be used. + + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also known as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + + The conventions version to use. + + + + + Gets the conventions version. + + + The conventions version. + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + + + + + + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + + + + + + + Returns the equivalent non-generic object. + + The generic set object. + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. + + The type of the context. + + Whether or not the model has changed is determined by the + method. + To seed the database create a derived class and override the Seed method. + + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + Describes the state of an entity. + + + + + The entity is not being tracked by the context. + An entity is in this state immediately after it has been created with the new operator + or with one of the Create methods. + + + + + The entity is being tracked by the context and exists in the database, and its property + values have not changed from the values in the database. + + + + + The entity is being tracked by the context but does not yet exist in the database. + + + + + The entity is being tracked by the context and exists in the database, but has been marked + for deletion from the database the next time SaveChanges is called. + + + + + The entity is being tracked by the context and exists in the database, and some or all of its + property values have been modified. + + + + + A provider-independent service API for HierarchyId type support. + + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Represents hierarchical data. + + + + + The Path separator character + + + + + Constructs an HierarchyId. + + + + + Constructs an HierarchyId with the given canonical string representation value. + + Hierarchyid value. + Canonical string representation + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + Value Condition Less than zero: hid1 is less than hid2. + Zero: hid1 equals hid2. + Greater than zero: hid1 is greater than hid2. + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are equal, false otherwise + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are not equal, false otherwise + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a value-based hash code, to allow HierarchyId to be used in hash tables. + + the hash value of this HierarchyId + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a string representation of the hierarchyid value. + + A string representation of the hierarchyid value. + + + + Implementation of IComparable.CompareTo() + + The object to compare to + 0 if the HierarchyIds are "equal" (i.e., have the same _hierarchyId value) + + + + An implementation of this interface is used to initialize the underlying database when + an instance of a derived class is used for the first time. + This initialization can conditionally create the database and/or seed it with data. + The strategy used is set using the static InitializationStrategy property of the + class. + The following implementations are provided: , + , . + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + An represents the collection of all entities in the context, or that + can be queried from the database, of a given type. is a concrete + implementation of IDbSet. + + + was originally intended to allow creation of test doubles (mocks or + fakes) for . However, this approach has issues in that adding new members + to an interface breaks existing code that already implements the interface without the new members. + Therefore, starting with EF6, no new members will be added to this interface and it is recommended + that be used as the base class for test doubles. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Inherit from this class to create a service that allows for code generation of custom annotations as part of + scaffolding Migrations. The derived class should be set onto the . + + + Note that an is not needed if the annotation uses a simple string value, + or if calling ToString on the annotation object is sufficient for use in the scaffolded Migration. + + + + + Override this method to return additional namespaces that should be included in the code generated for the + scaffolded migration. The default implementation returns an empty enumeration. + + The names of the annotations that are being included in the generated code. + A list of additional namespaces to include. + + + + Implement this method to generate code for the given annotation value. + + The name of the annotation for which a value is being generated. + The annotation value. + The writer to which generated code should be written. + + + + Represents a pair of annotation values in a scaffolded or hand-coded . + + + Code First allows for custom annotations to be associated with columns and tables in the + generated model. This class represents a pair of annotation values in a migration such + that when the Code First model changes the old annotation value and the new annotation + value can be provided to the migration and used in SQL generation. + + + + + Creates a new pair of annotation values. + + The old value of the annotation, which may be null if the annotation has just been created. + The new value of the annotation, which may be null if the annotation has been deleted. + + + + Gets the old value of the annotation, which may be null if the annotation has just been created. + + + + + Gets the new value of the annotation, which may be null if the annotation has been deleted. + + + + + + + + + + + Returns true if both annotation pairs contain the same values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if both pairs contain the same values. + + + + Returns true if the two annotation pairs contain different values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if the pairs contain different values. + + + + Returned by and related methods to indicate whether or + not one object does not conflict with another such that the two can be combined into one. + + + If the two objects are not compatible then information about why they are not compatible is contained + in the property. + + + + + Creates a new instance. + + Indicates whether or not the two tested objects are compatible. + + An error message indicating how the objects are not compatible. Expected to be null if isCompatible is true. + + + + + True if the two tested objects are compatible; otherwise false. + + + + + If is true, then returns an error message indicating how the two tested objects + are incompatible. + + + + + Implicit conversion to a bool to allow the result object to be used directly in checks. + + The object to convert. + True if the result is compatible; false otherwise. + + + + Types used as custom annotations can implement this interface to indicate that an attempt to use + multiple annotations with the same name on a given table or column may be possible by merging + the multiple annotations into one. + + + Normally there can only be one custom annotation with a given name on a given table or + column. If a table or column ends up with multiple annotations, for example, because + multiple CLR properties map to the same column, then an exception will be thrown. + However, if the annotation type implements this interface, then the two annotations will be + checked for compatibility using the method and, if compatible, + will be merged into one using the method. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new merged annotation. This method is + only expected to succeed if returns true. + + The annotation to merge with this one. + A new merged annotation. + + + + Instances of this class are used as custom annotations for representing database indexes in an + Entity Framework model. + + + An index annotation is added to a Code First model when an is placed on + a mapped property of that model. This is used by Entity Framework Migrations to create indexes on + mapped database columns. Note that multiple index attributes on a property will be merged into a + single annotation for the column. Similarly, index attributes on multiple properties that map to the + same column will be merged into a single annotation for the column. This means that one index + annotation can represent multiple indexes. Within an annotation there can be only one index with any + given name. + + + + + The name used when this annotation is stored in Entity Framework metadata or serialized into + an SSDL/EDMX file. + + + + + Creates a new annotation for the given index. + + An index attributes representing an index. + + + + Creates a new annotation for the given collection of indexes. + + Index attributes representing one or more indexes. + + + + Gets the indexes represented by this annotation. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + + Each index annotation contains at most one with a given name. + Two annotations are considered compatible if each IndexAttribute with a given name is only + contained in one annotation or the other, or if both annotations contain an IndexAttribute + with the given name. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new annotation containing the merged indexes. + + + Each index annotation contains at most one with a given name. + The merged annotation will contain IndexAttributes from both this and the other annotation. + If both annotations contain an IndexAttribute with the same name, then the merged annotation + will contain one IndexAttribute with that name. + + The annotation to merge with this one. + A new annotation with indexes from both annotations merged. + + The other annotation contains indexes that are not compatible with indexes in this annotation. + + + + + + + + This class is used to serialize and deserialize objects so that they + can be stored in the EDMX form of the Entity Framework model. + + + An example of the serialized format is: + { Name: 'MyIndex', Order: 7, IsClustered: True, IsUnique: False } { } { Name: 'MyOtherIndex' }. + Note that properties that have not been explicitly set in an index attribute will be excluded from + the serialized output. So, in the example above, the first index has all properties specified, + the second has none, and the third has just the name set. + + + + + Serializes the given into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize which must be an IndexAnnotation object. + The serialized value. + + + + Deserializes the given string back into an object. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + If there is an error reading the serialized value. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Checks if the is tracking any new, deleted, or changed entities or + relationships that will be sent to the database if is called. + + + Functionally, calling this method is equivalent to checking if there are any entities or + relationships in the Added, Updated, or Deleted state. + Note that this method calls unless + has been set to false. + + + True if underlying have changes, else false. + + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from + ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + The context. + + + + A non-generic version of the class. + + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Represents information about a database connection. + + + + + Creates a new instance of DbConnectionInfo representing a connection that is specified in the application configuration file. + + The name of the connection string in the application configuration. + + + + Creates a new instance of DbConnectionInfo based on a connection string. + + The connection string to use for the connection. + The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Describes the origin of the database connection string associated with a . + + + + + The connection string was created by convention. + + + + + The connection string was read from external configuration. + + + + + The connection string was explicitly specified at runtime. + + + + + The connection string was overridden by connection information supplied to DbContextInfo. + + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + + true if lazy loading is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + + true if proxy creation is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is false. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + Gets or sets a value indicating whether the + method is called automatically by methods of and related classes. + The default value is true. + + + true if should be called automatically; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + Provides runtime information about a given type. + + + + + Creates a new instance representing a given type. + + + The type deriving from . + + + + + Creates a new instance representing a given targeting a specific database. + + + The type deriving from . + + Connection information for the database to be used. + + + + Creates a new instance representing a given type. An external list of + connection strings can be supplied and will be used during connection string resolution in place + of any connection strings specified in external configuration files. + + + It is preferable to use the constructor that accepts the entire config document instead of using this + constructor. Providing the entire config document allows DefaultConnectionFactroy entries in the config + to be found in addition to explicitly specified connection strings. + + + The type deriving from . + + A collection of connection strings. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + + + + Creates a new instance representing a given , targeting a specific database. + An external config object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + Connection information for the database to be used. + + + + Creates a new instance representing a given type. A + can be supplied in order to override the default determined provider used when constructing + the underlying EDM model. + + + The type deriving from . + + + A specifying the underlying ADO.NET provider to target. + + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + A can be supplied in order to override the default determined + provider used when constructing the underlying EDM model. This can be useful to prevent EF from + connecting to discover a manifest token. + + + The type deriving from . + + An object representing the config file. + + A specifying the underlying ADO.NET provider to target. + + + + + The concrete type. + + + + + Whether or not instances of the underlying type can be created. + + + + + The connection string used by the underlying type. + + + + + The connection string name used by the underlying type. + + + + + The ADO.NET provider name of the connection used by the underlying type. + + + + + The origin of the connection string used by the underlying type. + + + + + An action to be run on the DbModelBuilder after OnModelCreating has been run on the context. + + + + + If instances of the underlying type can be created, returns + a new instance; otherwise returns null. + + + A instance. + + + + + A non-generic version of the class. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object,object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + The object representing the tracked entity. + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object, object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Provides the base implementation of the retry mechanism for unreliable operations and transient conditions that uses + exponentially increasing delays between retries. + + + A new instance will be created each time an operation is executed. + The following formula is used to calculate the delay after retryCount number of attempts: + min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) + The retryCount starts at 0. + The random factor distributes uniformly the retry attempts from multiple simultaneous operations failing simultaneously. + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + Returns true to indicate that might retry the execution after a failure. + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + A delegate representing an executable operation that doesn't return any results. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + The type of result expected from the executable operation. + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Determines whether the operation should be retried and the delay before the next attempt. + + The exception thrown during the last execution attempt. + + Returns the delay indicating how long to wait for before the next execution attempt if the operation should be retried; + null otherwise + + + + + Recursively gets InnerException from as long as it's an + , or + and passes it to + + The type of the unwrapped exception. + The exception to be unwrapped. + A delegate that will be called with the unwrapped exception. + + The result from . + + + + + Determines whether the specified exception represents a transient failure that can be compensated by a retry. + + The exception object to be verified. + + true if the specified exception is considered as transient, otherwise false. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + Gets the name of the property. + The name of the property. + + + + Gets or sets the current value of this property. + + The current value. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Gets the provider information. + + + + + Gets the provider manifest. + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Gets the mapping model. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Base class for persisted model cache. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the default database schema used by a model. + + The type of context representing the model. + The default database schema. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + Setting this value to false for a modified property will revert the change by setting the + current value to the original value. If the result is that no properties of the entity are + marked as modified, then the entity will be marked as Unchanged. + Setting this value to false for properties of Added, Unchanged, or Deleted entities + is a no-op. + + + true if this instance is modified; otherwise, false . + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false . + + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Groups a pair of strings that identify a provider and server version together into a single object. + + + Instances of this class act as the key for resolving a for a specific + provider from a . This is typically used when registering spatial services + in or when the spatial services specific to a provider is + resolved by an implementation of . + + + + + Creates a new object for a given provider invariant name and manifest token. + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + The manifest token is sometimes referred to as a version hint. + + + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + + + + + + + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new DbQuery<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + + + + + + + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + Returns a new instance of the non-generic class for this query. + + The query. + A non-generic version. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a generic version of this class. + + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a non-generic version of this class. + + The type of elements returned by the query. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a generic version of this class. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking + and AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a non-generic version of this class. + + The type of entities returned by the query. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking and + AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateConcurrencyException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Exception thrown by when the saving of changes to the database fails. + Note that state entries referenced by this exception are not serialized due to security and accesses to the + state entries after serialization will return null. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Loads or saves models from/into .edmx files at a specified location. + + + + + Initializes a new DefaultDbModelStore instance. + + The parent directory for the .edmx files. + + + + Gets the location of the .edmx files. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the path of the .edmx file corresponding to the specified context type. + + A context type. + The .edmx file path. + + + + Validates the model store is valid. + The default implementation verifies that the .edmx file was last + written after the context assembly was last written. + + The type of context representing the model. + The path of the stored model. + Whether the edmx file should be invalidated. + + + + An that doesn't retry operations if they fail. + + + + + Returns false to indicate that will not retry the execution after a failure. + + + + + Executes the specified operation once. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation once and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + A default implementation of that uses the + underlying provider to get the manifest token. + Note that to avoid multiple queries, this implementation using caching based on the actual type of + instance, the property, + and the property. + + + + + + + + Event arguments passed to event handlers. + + + + + Returns a snapshot of the that is about to be locked. + Use the GetService methods on this object to get services that have been registered. + + + + + Call this method to add a instance to the Chain of + Responsibility of resolvers that are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The only exception to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here, unless the + overrideConfigFile is set to true in which case the resolver added here will also override config + file settings. + + The resolver to add. + If true, then the resolver added will take precedence over settings in the config file. + + + + Call this method to add a instance to the Chain of Responsibility + of resolvers that are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + The resolver to add. + + + + Adds a wrapping resolver to the configuration that is about to be locked. A wrapping + resolver is a resolver that incepts a service would have been returned by the resolver + chain and wraps or replaces it with another service of the same type. + + The type of service to wrap or replace. + A delegate that takes the unwrapped service and key and returns the wrapped or replaced service. + + + + + + + + + + + + + + + + An implementation used for resolving + factories. + + + This class can be used by to aid in the resolving + of factories as a default service for the provider. + + The type of execution strategy that is resolved. + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + A string that will be matched against the server name in the connection string. null will match anything. + + A function that returns a new instance of an execution strategy. + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return null. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + This interface is implemented by any object that can resolve a dependency, either directly + or through use of an external container. + + + The public services currently resolved using IDbDependencyResolver are documented here: + http://msdn.microsoft.com/en-us/data/jj680697 + + + + + Attempts to resolve a dependency for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return null and not throw. This + allows resolvers to be used in a Chain of Responsibility pattern such that multiple resolvers + can be asked to resolve a dependency until one finally does. + + The interface or abstract base class that defines the dependency to be resolved. The returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + The resolved dependency, which must be an instance of the given contract type, or null if the dependency could not be resolved. + + + + Attempts to resolve a dependencies for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return an empty enumeration and + not throw. This method differs from in that it returns all registered + services for the given type and key combination. + + The interface or abstract base class that defines the dependency to be resolved. Every returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + All services that resolve the dependency, which must be instances of the given contract type, or an empty enumeration if the dependency could not be resolved. + + + + Extension methods to call the method using + a generic type parameter and/or no name. + + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Implements to resolve a dependency such that it always returns + the same instance. + + The type that defines the contract for the dependency that will be resolved. + + This class is immutable such that instances can be accessed by multiple threads at the same time. + + + + + Constructs a new resolver that will return the given instance for the contract type + regardless of the key passed to the Get method. + + The instance to return. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches exactly the key passed to the Get method. + + The instance to return. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches the key passed to the Get method based on the given predicate. + + The instance to return. + A predicate that takes the key object and returns true if and only if it matches. + + + + + + + + + + An implementation used for resolving + factories. + + + + + Initializes a new instance of + + A function that returns a new instance of a transaction handler. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which the transaction handler will be used. + null will match anything. + + + A string that will be matched against the server name in the connection string. null will match anything. + + + + + If the given type is , then this method will attempt + to return the service to use, otherwise it will return null. When the given type is + , then the key is expected to be a . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + , then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + + + + + + + Provides utility methods for reading from an App.config or Web.config file. + + + + + Initializes a new instance of . + + The configuration to read from. + + + + Gets the specified provider services from the configuration. + + The invariant name of the provider services. + The provider services type name, or null if not found. + + + + Used for design-time scenarios where the user's code needs to be executed inside + of an isolated, runtime-like . + + Instances of this class should be created inside of the guest domain. + Handlers should be created inside of the host domain. To invoke operations, + create instances of the nested classes inside + + + + + Initializes a new instance of the class. Do this inside of the guest + domain. + + The path for the assembly containing the user's code. + The parameter is not used. + + + + Used to get the assembly-qualified name of the DbProviderServices type for the + specified provider invariant name. + + + + + Represents an operation. + + + + + Initializes a new instance of the class. + + An object to handle callbacks during the operation. + + + + Executes an action passing exceptions to the handler. + + The action to execute. + + + + Executes an action passing the result or exceptions to the handler. + + The result type. + The action to execute. + + + + Executes an action passing results or exceptions to the handler. + + The type of results. + The action to execute. + + + + Base handler type. Handlers aren't required to use this exact type. Only the + namespace, name, and member signatures need to be the same. This also applies to + handler contracts types + + + + + Indicates whether the specified contract is implemented by this handler. + + The full name of the contract interface. + True if the contract is implemented, otherwise false. + + + + Used to handle reported design-time activity. + + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + A contract handlers can use to accept a single result. + + + + + + Sets the result. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + true if the error was handled; otherwise, false. + + + + Used to handle reported design-time activity. + + + + + Initializes a new instance of the class. + + A callback for . + A callback for . + A callback for . + A callback for . + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + Used with to handle operation results. + + + + + Gets a value indicating whether a result is available. + + A value indicating whether a result is available. + + + + Gets the result. + + The result. + + + + Gets the type of the exception if any. + + The exception type. + + + + Gets the error message if any. + + The error message. + + + + Get the error stack trace if any. + + The stack trace. + + + + Invoked when a result is available. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Utility class for reading a metadata model from .edmx. + + + + + Reads a metadata model from .edmx. + + XML reader for the .edmx + Default database schema used by the model. + The loaded metadata model. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + A key used for resolving . It consists of the ADO.NET provider invariant name + and the database server name as specified in the connection string. + + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A string that will be matched against the server name in the connection string. + + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + + + A string that will be matched against the server name in the connection string. + + + + + + + + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + A factory for creating derived instances. Implement this + interface to enable design-time services for context types that do not have a + public default constructor. + At design-time, derived instances can be created in order to enable specific + design-time experiences such as model rendering, DDL generation etc. To enable design-time instantiation + for derived types that do not have a public, default constructor, implement + this interface. Design-time services will auto-discover implementations of this interface that are in the + same assembly as the derived type. + + The type of the context. + + + + Creates a new instance of a derived type. + + An instance of TContext + + + + A strategy that is used to execute a command or query against the database, possibly with logic to retry when a failure occurs. + + + + + Indicates whether this might retry the execution after a failure. + + + + + Executes the specified operation. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory. + + + + Determines whether the current cached model key is equal to the specified cached model key. + true if the current cached model key is equal to the specified cached model key; otherwise, false. + The cached model key to compare to the current cached model key. + + + Returns the hash function for this cached model key. + The hash function for this cached model key. + + + + Implement this interface on your context to use custom logic to calculate the key used to lookup an already created model in the cache. + This interface allows you to have a single context type that can be used with different models in the same AppDomain, + or multiple context types that use the same model. + + + + Gets the cached key associated with the provider. + The cached key associated with the provider. + + + + A service for obtaining the correct from a given + . + + + On .NET 4.5 the provider is publicly accessible from the connection. On .NET 4 the + default implementation of this service uses some heuristics to find the matching + provider. If these fail then a new implementation of this service can be registered + on to provide an appropriate resolution. + + + + + Returns the for the given connection. + + The connection. + The provider factory for the connection. + + + + A service for getting a provider manifest token given a connection. + The class is used by default and makes use of the + underlying provider to get the token which often involves opening the connection. + A different implementation can be used instead by adding an + to that may use any information in the connection to return + the token. For example, if the connection is known to point to a SQL Server 2008 database then + "2008" can be returned without opening the connection. + + + + + Returns the manifest token to use for the given connection. + + The connection for which a manifest token is required. + The manifest token to use. + + + + Implement this interface to allow custom annotations represented by instances to be + serialized to and from the EDMX XML. Usually a serializer instance is set using the + method. + + + + + Serializes the given annotation value into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize. + The serialized value. + + + + Deserializes the given string back into the expected annotation value. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to start a transaction. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The isolation level to associate. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + This is the default log formatter used when some is set onto the + property. A different formatter can be used by creating a class that inherits from this class and overrides + some or all methods to change behavior. + + + To set the new formatter create a code-based configuration for EF using and then + set the formatter class to use with . + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + onto before any commands will be logged. + For more low-level control over logging/interception see and + . + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Creates a formatter that will not filter by any and will instead log every command + from any context and also commands that do not originate from a context. + + + This constructor is not used when a delegate is set on . Instead it can be + used by setting the formatter directly using . + + The delegate to which output will be sent. + + + + Creates a formatter that will only log commands the come from the given instance. + + + This constructor must be called by a class that inherits from this class to override the behavior + of . + + + The context for which commands should be logged. Pass null to log every command + from any context and also commands that do not originate from a context. + + The delegate to which output will be sent. + + + + The context for which commands are being logged, or null if commands from all contexts are + being logged. + + + + + Writes the given string to the underlying write delegate. + + The string to write. + + + + This property is obsolete. Using it can result in logging incorrect execution times. Call + instead. + + + + + The stopwatch used to time executions. This stopwatch is started at the end of + , , and + methods and is stopped at the beginning of the , , + and methods. If these methods are overridden and the stopwatch is being used + then the overrides should either call the base method or start/stop the stopwatch themselves. + + The interception context for which the stopwatch will be obtained. + The stopwatch. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + Called whenever a command is about to be executed. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the + context filtering behavior. + + The type of the operation's results. + The command that will be executed. + Contextual information associated with the command. + + + + Called whenever a command has completed executing. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the context + filtering behavior. + + The type of the operation's results. + The command that was executed. + Contextual information associated with the command. + + + + Called to log a command that is about to be executed. Override this method to change how the + command is logged to . + + The type of the operation's results. + The command to be logged. + Contextual information associated with the command. + + + + Called by to log each parameter. This method can be called from an overridden + implementation of to log parameters, and/or can be overridden to + change the way that parameters are logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + The parameter to log. + + + + Called to log the result of executing a command. Override this method to change how results are + logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + + + + Does not write to log unless overridden. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that began the transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was opened. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was closed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + + + + + + + + + + + + A simple logger for logging SQL and other database operations to the console or a file. + A logger can be registered in code or in the application's web.config /app.config file. + + + + + Creates a new logger that will send log output to the console. + + + + + Creates a new logger that will send log output to a file. If the file already exists then + it is overwritten. + + A path to the file to which log output will be written. + + + + Creates a new logger that will send log output to a file. + + A path to the file to which log output will be written. + True to append data to the file if it exists; false to overwrite the file. + + + + Stops logging and closes the underlying file if output is being written to a file. + + + + + Stops logging and closes the underlying file if output is being written to a file. + + + True to release both managed and unmanaged resources; False to release only unmanaged resources. + + + + + Starts logging. This method is a no-op if logging is already started. + + + + + Stops logging. This method is a no-op if logging is not started. + + + + + Called to start logging during Entity Framework initialization when this logger is registered. + as an . + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when executing commands. It is provided publicly so that + code that runs outside of the core EF assemblies can opt-in to command interception/tracing. This is + typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls into + implementations. + + + An instance of this class is passed to the dispatch methods of + and does not contain mutable information such as the result of the operation. This mutable information + is obtained from the that is passed to the interceptors. + Instances of this class are publicly immutable. To add contextual information use one of the + With... or As... methods to create a new interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The that will be used or has been used to execute the command with a + . This property is only used for + and its async counterparts. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations including the result of the operation. + + The type of the operation's results. + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Base class that implements . This class is a convenience for + use when only one or two methods of the interface actually need to have any implementation. + + + + + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The original tree created by Entity Framework. Interceptors can change the + property to change the tree that will be used, but the + will always be the tree created by Entity Framework. + + + + + The command tree that will be used by Entity Framework. This starts as the tree contained in the + the property but can be set by interceptors to change + the tree that will be used by Entity Framework. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + setting . + + The connection on which the operation will be executed. + Information about the context of the call being made, including the value to be set. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type on a . + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Provides access to all dispatchers through the fluent API. + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + This is the registration point for interceptors. Interceptors + receive notifications when EF performs certain operations such as executing commands against + the database. For example, see . + + + + + Registers a new to receive notifications. Note that the interceptor + must implement some interface that extends from to be useful. + + The interceptor to add. + + + + Removes a registered so that it will no longer receive notifications. + If the given interceptor is not registered, then this is a no-op. + + The interceptor to remove. + + + + This is the entry point for dispatching to interceptors. This is usually only used internally by + Entity Framework but it is provided publicly so that other code can make sure that registered + interceptors are called when operations are performed on behalf of EF. For example, EF providers + a may make use of this when executing commands. + + + + + Represents contextual information associated with calls into + implementations. + + + Note that specific types/operations that can be intercepted may use a more specific + interception context derived from this class. For example, if SQL is being executed by + a , then the DbContext will be contained in the + instance that is passed to the methods + of . + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. See + + The context from which to copy state. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item if + a single has been used to construct multiple + instances. + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item when + EF has created a new for use in database creation and initialization, or + if a single is used with multiple . + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + True if the operation is being executed asynchronously, otherwise false. + + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + Call this method when creating a copy of an interception context in order to add new state + to it. Using this method instead of calling the constructor directly ensures virtual dispatch + so that the new type will have the same type (and any specialized state) as the context that + is being cloned. + + A new context with all state copied. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The connection on which the transaction was started + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The connection on which the transaction was started. + A new interception context that also contains the connection on which the transaction was started. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to enlist a connection. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The transaction to be used in the invocation. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework executes commands. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework creates command trees. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called after a new has been created. + The tree that is used after interception can be changed by setting + while intercepting. + + + Command trees are created for both queries and insert/update/delete commands. However, query + command trees are cached by model which means that command tree creation only happens the + first time a query is executed and this notification will only happen at that time + + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework loads the application's . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Occurs during EF initialization after the has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that an interceptor of this type should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework performs operations on a . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is invoked. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The transaction used by Entity Framework can be changed by setting + . + + The connection that began the transaction. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was closed. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is set. + + The connection. + Contextual information associated with the call. + + + + Called after is set. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being disposed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was disposed. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection. + Contextual information associated with the call. + + + + Called before or its async counterpart is invoked. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + + The connection that was opened. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + This is the base interface for all interfaces that provide interception points for various + different types and operations. For example, see . + Interceptors are registered on the class. + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework commits or rollbacks a transaction. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being disposed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was disposed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + Represents contextual information associated with calls that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type . + + + An instance of this class is passed to the dispatch methods and does not contain mutable information such as + the result of the operation. This mutable information is obtained from the + that is passed to the interceptors. Instances of this class are publicly immutable. To add contextual information + use one of the With... or As... methods to create a new interception context containing the new information. + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The value that will be assigned to the target property. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Used by and when resolving + a provider invariant name from a . + + + + Gets the name of the provider. + The name of the provider. + + + + Instances of this class are used to create DbConnection objects for + SQL Server LocalDb based on a given database name or connection string. + + + An instance of this class can be set on the class or in the + app.config/web.config for the application to cause all DbContexts created with no + connection information or just a database name to use SQL Server LocalDb by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + The connection string to use for options to the database other than the 'Initial Catalog', 'Data Source', and 'AttachDbFilename'. The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the database name when CreateConnection is called. The 'Data Source' will be set based on the LocalDbVersion argument. + + + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + The default is 'Integrated Security=True;'. + + + + + Creates a connection for SQL Server LocalDb based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a mapping view. + + + + + Creates a instance having the specified entity SQL. + + A string that specifies the entity SQL. + + + + Gets the entity SQL. + + + + + Base abstract class for mapping view cache implementations. + Derived classes must have a parameterless constructor if used with . + + + + + Gets a hash value computed over the mapping closure. + + + + + Gets a view corresponding to the specified extent. + + An that specifies the extent. + A that specifies the mapping view, + or null if the extent is not associated with a mapping view. + + + + Specifies the means to create concrete instances. + + + + + Creates a generated view cache instance for the container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + + A that specifies the generated view cache. + + + + + Defines a custom attribute that specifies the mapping view cache type (subclass of ) + associated with a context type (subclass of or ). + The cache type is instantiated at runtime and used to retrieve pre-generated views in the + corresponding context. + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + + A subclass of . + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + The assembly qualified full name of the cache type. + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Applies the convention to the given model. + + The container to apply the convention to. + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Compares objects using reference equality. + + + + + Gets the default instance. + + + + + Represents a custom pluralization term to be used by the + + + + + Get the singular. + + + + + Get the plural. + + + + + Create a new instance + + A non null or empty string representing the singular. + A non null or empty string representing the plural. + + + + Default pluralization service implementation to be used by Entity Framework. This pluralization + service is based on English locale. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + A collection of user dictionary entries to be used by this service.These inputs + can customize the service according the user needs. + + + + Returns the plural form of the specified word. + The plural form of the input parameter. + The word to be made plural. + + + Returns the singular form of the specified word. + The singular form of the input parameter. + The word to be made singular. + + + + Pluralization services to be used by the EF runtime implement this interface. + By default the is used, but the pluralization service to use + can be set in a class derived from . + + + + + Pluralize a word using the service. + + The word to pluralize. + The pluralized word + + + + Singularize a word using the service. + + The word to singularize. + The singularized word. + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + The exception that is thrown when the action failed again after being retried the configured number of times. + + + + + Initializes a new instance of the class with no error message. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use its default for the database file location. + The connection string to use for options to the database other than the 'Data Source'. The Data Source will be prepended to this string based on the database name when CreateConnection is called. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True;'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will be prepended to this string based on the database name when CreateConnection is called. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True;'. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Implemented by Entity Framework providers and used to check whether or not tables exist + in a given database. This is used by database initializers when determining whether or not to + treat an existing database as empty such that tables should be created. + + + + + When overridden in a derived class checks where the given tables exist in the database + for the given connection. + + + The context for which table checking is being performed, usually used to obtain an appropriate + . + + + A connection to the database. May be open or closed; should be closed again if opened. Do not + dispose. + + The tables to check for existence. + The name of the EdmMetadata table to check for existence. + True if any of the model tables or EdmMetadata table exists. + + + + Helper method to get the table name for the given s-space . + + The s-space entity set for the table. + The table name. + + + + Thrown when an error occurs committing a . + + + + + Initializes a new instance of + + + + + Initializes a new instance of + + The exception message. + + + + Initializes a new instance of + + The exception message. + The inner exception. + + + + Initializes a new instance of the class. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + A transaction handler that allows to gracefully recover from connection failures + during transaction commit by storing transaction tracing information in the database. + It needs to be registered by using . + + + This transaction handler uses to store the transaction information + the schema used can be configured by creating a class derived from + that overrides and passing it to the constructor of this class. + + + + + Initializes a new instance of the class using the default . + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes a new instance of the class. + + The transaction context factory. + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Gets the transaction context. + + + The transaction context. + + + + + The map between the store transactions and the transaction tracking objects + + + + + Creates a new instance of an to use for quering the transaction log. + If null the default will be used. + + An instance or null. + + + + + + + + + + Gets the number of transactions to be executed on the context before the transaction log will be cleaned. + The default value is 20. + + + + + + + + + + + Stores the tracking information for the new transaction to the database in the same transaction. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + If there was an exception thrown checks the database for this transaction and rethrows it if not found. + Otherwise marks the commit as succeeded and queues the transaction information to be deleted. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was rolled back. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was disposed. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + + + + Adds the specified transaction to the list of transactions that can be removed from the database + + The transaction to be removed from the database. + + + + Removes the transactions marked for deletion. + + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + This class is used by to write and read transaction tracing information + from the database. + To customize the definition of the transaction table you can derive from + this class and override . Derived classes can be registered + using . + + + By default EF will poll the resolved to check wether the database schema is compatible and + will try to modify it accordingly if it's not. To disable this check call + Database.SetInitializer<TTransactionContext>(null) where TTransactionContext is the type of the resolved context. + + + + + Initializes a new instance of the class. + + The connection used by the context for which the transactions will be recorded. + + + + Gets or sets a that can be used to read and write instances. + + + + + + + + The base class for interceptors that handle the transaction operations. Derived classes can be registered using + or + . + + + + + Initializes a new instance of the class. + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + The connection to use for the initialization. + + This method is called by migrations. It is important that no action is performed on the + specified context that causes it to be initialized. + + + + + Gets the context. + + + The for which the transaction operations will be handled. + + + + + Gets the context. + + + The for which the transaction operations will be handled, could be null. + + + + + Gets the connection. + + + The for which the transaction operations will be handled. + + + This connection object is only used to determine whether a particular operation needs to be handled + in cases where a context is not available. + + + + + + + + Gets or sets a value indicating whether this transaction handler is disposed. + + + true if disposed; otherwise, false. + + + + + Releases the resources used by this transaction handler. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Checks whether the supplied interception context contains the target context + or the supplied connection is the same as the one used by the target context. + + A connection. + An interception context. + + true if the supplied interception context contains the target context or + the supplied connection is the same as the one used by the target context if + the supplied interception context doesn't contain any contexts; false otherwise. + + + Note that calling this method will trigger initialization of any DbContext referenced from the + + + + + When implemented in a derived class returns the script to prepare the database + for this transaction handler. + + A script to change the database schema for this transaction handler. + + + + Can be implemented in a derived class. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection that was disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being rolled back. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Rrepresents a transaction + + + + + A unique id assigned to a transaction object. + + + + + The local time when the transaction was started. + + + + + + + + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Allows configuration to be performed for an complex type in a model. + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same ComplexTypeConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows derived configuration classes for entities and complex types to be registered with a + . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Discovers all types that inherit from or + in the given assembly and adds an instance + of each discovered type to this registrar. + + + Note that only types that are abstract or generic type definitions are skipped. Every + type that is discovered and added must provide a parameterless constructor. + + The assembly containing model configurations to add. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows the conventions used by a instance to be customized. + The default conventions can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + + + + Discover all conventions in the given assembly and add them to the . + + + This method add all conventions ordered by type name. The order in which conventions are added + can have an impact on how they behave because it governs the order in which they are run. + All conventions found must have a parameterless public constructor. + + The assembly containing conventions to be added. + + + + Enables one or more conventions for the . + + The conventions to be enabled. + + + + Enables a convention for the . + + The type of the convention to be enabled. + + + + Enables a convention for the . This convention + will run after the one specified. + + The type of the convention after which the enabled one will run. + The convention to enable. + + + + Enables a configuration convention for the . This convention + will run before the one specified. + + The type of the convention before which the enabled one will run. + The convention to enable. + + + + Disables one or more conventions for the . + + The conventions to be disabled. + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the + System.Data.Entity.ModelConfiguration.Conventions namespace. + + The type of the convention to be disabled. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties in a model. + + + + + Filters the properties that this convention applies to based on a predicate. + + A function to test each property for a condition. + + A instance so that multiple calls can be chained. + + + + + Filters the properties that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each property. If the value is null, the + property will be filtered out. + + + A instance so that multiple calls can be chained. + + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties of entity types in a model and a captured value. + + The type of the captured value. + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model. + + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type. + + The common type of the entity types that this convention applies to. + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model and a captured value. + + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type and a + captured value. + + The common type of the entity types that this convention applies to. + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to modify a relationship. + + The type of the entity that the relationship is being configured from. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Creates a convention that configures stored procedures to be used to delete entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to insert entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a convention that configures stored procedures to be used to update entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to delete entities. + + The type of the entity that the stored procedure can be used to delete. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to insert entities. + + The type of the entity that the stored procedure can be used to insert. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + + Sets the name of the stored procedure. + + Name of the procedure. + The same configuration instance so that multiple calls can be chained. + + + + Sets the name of the stored procedure. + + Name of the procedure. + Name of the schema. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + Configures stored procedure used to insert relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Performs configuration of a stored procedure uses to modify an entity in the database. + + + + + Allows configuration to be performed for a stored procedure that is used to modify entities. + + The type of the entity that the stored procedure can be used to modify. + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to update entities. + + The type of the entity that the stored procedure can be used to update. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + Initializes a new instance of the class. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + A lambda expression to an anonymous type that contains the properties to be mapped. C#: t => new { t.Id, t.Property1, t.Property2 } VB.Net: Function(t) New With { p.Id, t.Property1, t.Property2 } + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Re-maps all properties inherited from base types. + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name to be mapped to. + + Name of the table. + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + The same configuration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + A lambda expression representing the property being used to discriminate between types. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object to further configure the discriminator condition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a column with length facets for an entity type or complex type. This configuration functionality is exposed by the Code First Fluent API, see . + + + + Configures the column to allow the maximum length supported by the database provider. + The same instance so that multiple calls can be chained. + + + Configures the column to have the specified maximum length. + The same instance so that multiple calls can be chained. + The maximum length for the column. Setting the value to null will remove any maximum length restriction from the column and a default length will be used for the database column. + + + Configures the column to be fixed length. + The same instance so that multiple calls can be chained. + + + Configures the column to be variable length. + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a primitive column from an entity type. + + + + Configures the primitive column to be optional. + The same instance so that multiple calls can be chained. + + + Configures the primitive column to be required. + The same instance so that multiple calls can be chained. + + + Configures the data type of the primitive column used to store the property. + The same instance so that multiple calls can be chained. + The name of the database provider specific data type. + + + Configures the order of the primitive column used to store the property. This method is also used to specify key ordering when an entity type has a composite key. + The same instance so that multiple calls can be chained. + The order that this column should appear in the database table. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. Setting 'null' will result in a default length being used for the column. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + Value indicating if the column supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the column. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an index. + + + + + Configures the index to be unique. + + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures whether the index will be unique. + + Value indicating if the index should be unique or not. + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a primary key index. + + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A lambda expression representing the navigation property on the other end of the relationship. + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + A lambda expression representing the property to be used as the foreign key. If the foreign key is made up of multiple properties then specify an anonymous type including the properties. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the principal entity type. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for a database column that has been configured with . + The annotation value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The name of the column that was configured with the HasKey method. + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the join table. The annotation value can later be used when + processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key points to the parent entity of the navigation property specified in the HasMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key points to the parent entity of the navigation property specified in the WithMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + Determines whether the specified object is equal to the current object. + true if the specified object is equal to the current object; otherwise, false. + The object to compare with the current object. + + + + + + + + + + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + The type of the parent entity of the navigation property specified in the HasMany call. + The type of the parent entity of the navigation property specified in the WithMany call. + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + The default conventions for procedure and parameter names will be used. + + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + + + Configuration to override the default conventions for procedure and parameter names. + + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property in a mapping fragment. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the database column used to store the property, in a mapping fragment. + + The name of the column. + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via lightweight conventions. + + + + + Gets the for this property. + + + + + Configures the name of the database column used to store the property. + + The name of the column. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + + The same instance so that multiple calls can be chained. + + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be used as an optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures how values for the property are generated by the database. + + The pattern used to generate values for the property in the database. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to support Unicode string content. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to be variable length. + Properties are variable length by default. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to allow the maximum length supported by the database provider. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures this property to be part of the entity type's primary key. + + + The same instance so that + multiple calls can be chained. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The name of the property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Configures a property that is defined on this type. + + The name of the property being configured. + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The property being configured. + A configuration object that can be used to configure the property. + + + + Configures the primary key property for this entity type. + + The name of the property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property for this entity type. + + The property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The names of the properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured or if any + property does not exist. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + A type inherited by the entity type. + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + + The same instance so that multiple calls can be chained. + + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A general purpose class for Code First conventions that read attributes from .NET properties + and generate column annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create column annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each column. + + + + A general purpose class for Code First conventions that read attributes from .NET types + and generate table annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create table annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each table. + + + + Convention to process instances of found on properties in the model + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on foreign key properties in the model. + + + + + + + + A convention for discovering attributes on properties and generating + column annotations in the model. + + + + + Constructs a new instance of the convention. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Base class for conventions that process CLR attributes found on primitive properties in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The configuration for the property that has the attribute. + The attribute. + + + + Base class for conventions that process CLR attributes found on properties of types in the model. + + + Note that the derived convention will be applied for any non-static property on the mapped type that has + the specified attribute, even if it wasn't included in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The member info for the property that has the attribute. + The configuration for the class that contains the property. + The attribute. + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a class that has an attribute of type TAttribute applied. + + The configuration for the class that contains the property. + The attribute. + + + + A convention that doesn't override configuration. + + + + + The derived class can use the default constructor to apply a set rule of that change the model configuration. + + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model that derive from or implement the specified type. + + The type of the entities that this convention will apply to. + A configuration object for the convention. + This method does not add new types to the model. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + + + + Convention to apply column ordering specified via + + or the API. + + + + + + + + Validates the ordering configuration supplied for columns. + This base implementation is a no-op. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to apply column ordering specified via + + or the API. This convention throws if a duplicate configured column order + is detected. + + + + + Validates the ordering configuration supplied for columns to ensure + that the same ordinal was not supplied for two columns. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to introduce indexes for foreign keys. + + + + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Initializes a new instance of with the default precision and scale. + + + + + Initializes a new instance of with the specified precision and scale. + + Precision + Scale + + + + + + + Convention to move primary key properties to appear first. + + + + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + + + + Base class for conventions that discover foreign key properties. + + + + + Returns true if the convention supports pairs of entity types that have multiple associations defined between them. + + + + + When overridden returns true if should be part of the foreign key. + + The association type being configured. + The dependent end. + The candidate property on the dependent end. + The principal end entity type. + A key property on the principal end that is a candidate target for the foreign key. + true if dependentProperty should be a part of the foreign key; otherwise, false. + + + + + + + Convention to process instances of found on navigation properties in the model. + + + + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + + + + Base class for conventions that discover primary key properties. + + + + + + + + When overridden returns the subset of properties that will be part of the primary key. + + The entity type. + The primitive types of the entities + The properties that should be part of the primary key. + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + + + + + + + Convention to enable cascade delete for any required relationships. + + + + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + + + + Convention to set a maximum length for properties whose type supports length facets. The default value is 128. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The maximum length of properties. + + + + + + + + + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The default maximum length for properties. + + + + + + + + + + Convention to configure integer primary keys to be identity. + + + + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + + + + A convention that operates on the conceptual section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Identifies conventions that can be added to or removed from a instance. + + + Note that implementations of this interface must be immutable. + + + + + A convention that operates on the database section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Allows configuration to be performed for an entity type in a model. + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + The entity type being configured. + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + A builder to configure the key. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures index property(s) for this entity type. + + The type of the index. + A lambda expression representing the property to apply an index to. C#: t => t.Id VB.Net: Function(t) t.Id If the index is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The IndexConfiguration instance so that the index can be further configured. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + The properties of an entity can be split between multiple tables using multiple Map calls. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + Initializes a new instance of class serialization info and streaming context. + The serialization info. + The streaming context. + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + An implementation of that will use Code First Migrations + to update the database to the latest version. + + The type of the context. + The type of the migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will use + the connection information from a context constructed using the default constructor + or registered factory if applicable + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + Also allows specifying migrations configuration to use during initialization. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + Migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will + use a specific connection string from the configuration file to connect to + the database to perform the migration. + + The name of the connection string to use for migration. + + + + + + + Helper class that is used to configure a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new column definition to store Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + Value indicating whether or not this column should be configured as a timestamp. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The numeric precision of the column. + The numeric scale of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Value indicating whether or not the database will generate values for this column during insert. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the column supports Unicode content. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store hierarchyid data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to configure a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new parameter definition to pass Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The numeric precision of the parameter. + The numeric scale of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the parameter supports Unicode content. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to further configure a table being created from a CreateTable call on + + . + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The type that represents the table's columns. + + + + Initializes a new instance of the TableBuilder class. + + The table creation operation to be further configured. + The migration the table is created in. + + + + Specifies a primary key for the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The name of the primary key. If null is supplied, a default name will be generated. + A value indicating whether or not this is a clustered primary key. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies an index to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be indexed. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties are to be indexed then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + The name of the index. + A value indicating whether or not this is a unique index. + A value indicating whether or not this is a clustered index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies a foreign key constraint to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table that the foreign key constraint targets. + A lambda expression representing the properties of the foreign key. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties make up the foreign key then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + A value indicating whether or not cascade delete should be configured on the foreign key constraint. + The name of this foreign key constraint. If no name is supplied, a default name will be calculated. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Base class for code-based migrations. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operations to be performed during the upgrade process. + + + + + Operations to be performed during the downgrade process. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + The parameters in this create stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The parameters in this alter stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing stored procedure with the specified name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the procedure to drop. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + Custom annotations that exist on the table to be created. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to handle changes in the annotations defined on tables. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The column this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The columns this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The name of the foreign key constraint in the database. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a table to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be moved. Schema name is optional, if no schema is specified then dbo is + assumed. + + The schema the table is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a stored procedure to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be moved. Schema name is optional, if no schema is specified + then dbo is assumed. + + The schema the stored procedure is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a table. To change the schema of a table use MoveTable. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be renamed. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The new name for the table. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a stored procedure. To change the schema of a stored procedure use MoveStoredProcedure + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be renamed. Schema name is optional, if no schema is specified + then dbo is assumed. + + + The new name for the stored procedure. Schema name is optional, if no schema is specified then + dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the column to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the column to be renamed. + The new name for the column. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to add a column to an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to add the column to. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be added. + + An action that specifies the column to be added. i.e. c => c.Int(nullable: false, + defaultValue: 3) + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter the definition of an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table the column exists in. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be changed. + + An action that specifies the new definition for the column. i.e. c => c.String(nullable: + false, defaultValue: "none") + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The primary key column. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key based on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The primary key columns. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that does not have the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the primary key to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that was created with the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on a single column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the columns to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the index to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column(s) the index targets. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename an index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the index to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the index to be renamed. + The new name for the index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL command or set of SQL commands. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The SQL file to be executed. Relative paths are assumed to be relative to the current AppDomain's BaseDirectory. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL resource file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The manifest resource name of the SQL resource file to be executed. + + The assembly containing the resource file. The calling assembly is assumed if not provided. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + + + + + + + + + + + + + + + + + + + Configuration relating to the use of migrations for a given model. + You will typically create a configuration class that derives + from rather than + using this class. + + + + + The default directory that migrations are stored in. + + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Gets or sets a value indicating if automatic migrations can be used when migrating the database. + + + + + Gets or sets the string used to distinguish migrations belonging to this configuration + from migrations belonging to other configurations using the same database. + This property enables migrations from multiple different models to be applied to a single database. + + + + + Gets or sets a value indicating if data loss is acceptable during automatic migration. + If set to false an exception will be thrown if data loss may occur as part of an automatic migration. + + + + + Adds a new SQL generator to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + The SQL generator to be used. + + + + Gets the SQL generator that is set to be used with a given database provider. + + Name of the database provider to get the SQL generator for. + The SQL generator that is set for the database provider. + + + + Adds a new factory for creating instances to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + + A factory for creating instances for a given and + representing the default schema. + + + + + Gets the history context factory that is set to be used with a given database provider. + + Name of the database provider to get thefactory for. + The history context factory that is set for the database provider. + + + + Gets or sets the derived DbContext representing the model to be migrated. + + + + + Gets or sets the namespace used for code-based migrations. + + + + + Gets or sets the sub-directory that code-based migrations are stored in. + Note that this property must be set to a relative path for a sub-directory under the + Visual Studio project root; it cannot be set to an absolute path. + + + + + Gets or sets the code generator to be used when scaffolding migrations. + + + + + Gets or sets the assembly containing code-based migrations. + + + + + Gets or sets a value to override the connection of the database to be migrated. + + + + + Gets or sets the timeout value used for the individual commands within a + migration. + + + The time in seconds to wait for the command to execute. A null value indicates + that the default value of the underlying provider will be used. + + + + + Configuration relating to the use of migrations for a given model. + + The context representing the model that this configuration applies to. + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Runs after upgrading to the latest migration to allow seed data to be updated. + + + Note that the database may already contain seed data when this method runs. This means that + implementations of this method must check whether or not seed data is present and/or up-to-date + and then only make changes if necessary and in a non-destructive way. The + + can be used to help with this, but for seeding large amounts of data it may be necessary to do less + granular checks if performance is an issue. + If the database + initializer is being used, then this method will be called each time that the initializer runs. + If one of the , , + or initializers is being used, then this method will not be + called and the Seed method defined in the initializer should be used instead. + + Context to be used for updating seed data. + + + + + + + + + + + + + + + + + + + DbMigrator is used to apply existing migrations to a database. + DbMigrator can be used to upgrade and downgrade to any given migration. + To scaffold migrations based on changes to your model use + + + + + Migration Id representing the state of the database before any migrations are applied. + + + + + Initializes a new instance of the DbMigrator class. + + Configuration to be used for the migration process. + + + + Initializes a new instance of the DbMigrator class using the supplied context. + Use this constructor when applying migrations from code to avoid having migrations attempt + to create a context/connection for you. + + Configuration to be used for the migration process. + The to use. + + + + Gets the configuration that is being used for the migration process. + + + + + Gets all migrations that are defined in the configured migrations assembly. + + The list of migrations. + + + + Gets all migrations that have been applied to the target database. + + The list of migrations. + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + The list of migrations. + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + A set of extension methods for + + + + + Adds or updates entities by key when SaveChanges is called. Equivalent to an "upsert" operation + from database terminology. + This method can be useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Adds or updates entities by a custom identification expression when SaveChanges is called. + Equivalent to an "upsert" operation from database terminology. + This method can useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + An expression specifying the properties that should be used when determining whether an Add or Update operation should be performed. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Generates C# code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which using directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to specify the definition for a . + The parameter definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + Base class for providers that generate code for code-based migrations. + + + + + Generates the code that should be added to the users project. + + Unique identifier of the migration. + Operations to be performed by the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Gets the namespaces that must be output as "using" or "Imports" directives to handle + the code generated by the given operations. + + The operations for which code is going to be generated. + An ordered list of namespace names. + + + + Gets the default namespaces that must be output as "using" or "Imports" directives for + any code generated. + + A value indicating if this class is being generated for a code-behind file. + An ordered list of namespace names. + + + + Gets the instances that are being used. + + + + + Scaffolds code-based migrations to apply pending model changes to the database. + + + + + Initializes a new instance of the MigrationScaffolder class. + + Configuration to be used for scaffolding. + + + + Gets or sets the namespace used in the migration's generated code. + By default, this is the same as MigrationsNamespace on the migrations + configuration object passed into the constructor. For VB.NET projects, this + will need to be updated to take into account the project's root namespace. + + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + The scaffolded migration. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The scaffolded migration. + + + + Represents a code-based migration that has been scaffolded and is ready to be written to a file. + + + + + Gets or sets the unique identifier for this migration. + Typically used for the file name of the generated code. + + + + + Gets or sets the scaffolded migration code that the user can edit. + + + + + Gets or sets the scaffolded migration code that should be stored in a code behind file. + + + + + Gets or sets the programming language used for this migration. + Typically used for the file extension of the generated code. + + + + + Gets or sets the subdirectory in the user's project that this migration should be saved in. + + + + + Gets a dictionary of string resources to add to the migration resource file. + + + + + Gets or sets whether the migration was re-scaffolded. + + + + + Represents an exception that occurred while running an operation in another AppDomain in the + . + + + + + Initializes a new instance of the ToolingException class. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the ToolingException class. + + Error that explains the reason for the exception. + The type of the exception that was thrown. + The stack trace of the exception that was thrown. + + + + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the type of the exception that was thrown. + + + + + Gets the stack trace of the exception that was thrown. + + + + + Helper class that is used by design time tools to run migrations related + commands that need to interact with an application that is being edited + in Visual Studio. + Because the application is being edited the assemblies need to + be loaded in a separate AppDomain to ensure the latest version + is always loaded. + The App/Web.config file from the startup project is also copied + to ensure that any configuration is applied. + + + + + Gets or sets an action to be run to log information. + + + + + Gets or sets an action to be run to log warnings. + + + + + Gets or sets an action to be run to log verbose information. + + + + + Initializes a new instance of the ToolingFacade class. + + The name of the assembly that contains the migrations configuration to be used. + The name of the assembly that contains the DbContext to be used. + The namespace qualified name of migrations configuration to be used. + The working directory containing the compiled assemblies. + The path of the config file from the startup project. + The path of the application data directory from the startup project. Typically the App_Data directory for web applications or the working directory for executables. + The connection to the database to be migrated. If null is supplied, the default connection for the context will be used. + + + + Releases all unmanaged resources used by the facade. + + + + + Gets the fully qualified name of all types deriving from . + + All context types found. + + + + Gets the fully qualified name of a type deriving from . + + The name of the context type. If null, the single context type found in the assembly will be returned. + The context type found. + + + + Gets a list of all migrations that have been applied to the database. + + Ids of applied migrations. + + + + Gets a list of all migrations that have not been applied to the database. + + Ids of pending migrations. + + + + Updates the database to the specified migration. + + The Id of the migration to migrate to. If null is supplied, the database will be updated to the latest migration. + Value indicating if data loss during automatic migration is acceptable. + + + + Generates a SQL script to migrate between two migrations. + + The migration to update from. If null is supplied, a script to update the current database will be produced. + The migration to update to. If null is supplied, a script to update to the latest migration will be produced. + Value indicating if data loss during automatic migration is acceptable. + The generated SQL script. + + + + Scaffolds a code-based migration to apply any pending model changes. + + The name for the generated migration. + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + The scaffolded migration. + + + + + + + Releases all resources used by the facade. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Generates VB.Net code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which Imports directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The parameter model definition to generate code for. + Text writer to add the generated code to. + true to include the column name in the definition; otherwise, false. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + To customize the definition of the migrations history table you can derive from + this class and override OnModelCreating. Derived instances can either be registered + on a per migrations configuration basis using , + or globally using . + + + + + The default name used for the migrations history table. + + + + + Initializes a new instance of the HistoryContext class. + If you are creating a derived history context you will generally expose a constructor + that accepts these same parameters and passes them to this base constructor. + + + An existing connection to use for the new context. + + + The default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets the key used to locate a model that was previously built for this context. This is used + to avoid processing OnModelCreating and calculating the model every time a new context instance is created. + By default this property returns the default schema. + In most cases you will not need to override this property. However, if your implementation of OnModelCreating + contains conditional logic that results in a different model being built for the same database provider and + default schema you should override this property and calculate an appropriate key. + + + + + Gets the default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets or sets a that can be used to read and write instances. + + + + + Applies the default configuration for the migrations history table. If you override + this method it is recommended that you call this base implementation before applying your + custom configuration. + + The builder that defines the model for the context being created. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + + + + + Gets or sets the Id of the migration this row represents. + + + + + Gets or sets a key representing to which context the row applies. + + + + + Gets or sets the state of the model after this migration was applied. + + + + + Gets or sets the version of Entity Framework that created this entry. + + + + + Represents an error that occurs when an automatic migration would result in data loss. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents an error that occurs when there are pending model changes after applying the last migration and automatic migration is disabled. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Explicitly implemented by to prevent certain members from showing up + in the IntelliSense of scaffolded migrations. + + + + + Adds a custom to the migration. + Custom operation implementors are encouraged to create extension methods on + that provide a fluent-style API for adding new operations. + + The operation to add. + + + + Provides additional metadata about a code-based migration. + + + + + Gets the unique identifier for the migration. + + + + + Gets the state of the model before this migration is run. + + + + + Gets the state of the model after this migration is run. + + + + + Represents errors that occur inside the Code First Migrations pipeline. + + + + + Initializes a new instance of the MigrationsException class. + + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the MigrationsException class with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + Base class for loggers that can be used for the migrations process. + + + + + Logs an informational message. + + The message to be logged. + + + + Logs a warning that the user should be made aware of. + + The message to be logged. + + + + Logs some additional information that should only be presented to the user if they request verbose output. + + The message to be logged. + + + + Thrown when an operation can't be performed because there are existing migrations that have not been applied to the database. + + + + + Initializes a new instance of the MigrationsPendingException class. + + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Base class for decorators that wrap the core + + + + + Initializes a new instance of the MigratorBase class. + + The migrator that this decorator is wrapping. + + + + Gets a list of the pending migrations that have not been applied to the database. + + List of migration Ids + + + + Gets the configuration being used for the migrations process. + + + + + Updates the target database to the latest migration. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets a list of the migrations that are defined in the assembly. + + List of migration Ids + + + + Gets a list of the migrations that have been applied to the database. + + List of migration Ids + + + + Decorator to provide logging during migrations operations.. + + + + + Initializes a new instance of the MigratorLoggingDecorator class. + + The migrator that this decorator is wrapping. + The logger to write messages to. + + + + Decorator to produce a SQL script instead of applying changes to the database. + Using this decorator to wrap will prevent + from applying any changes to the target database. + + + + + Initializes a new instance of the MigratorScriptingDecorator class. + + The migrator that this decorator is wrapping. + + + + Produces a script to update the database. + + + The migration to update from. If null is supplied, a script to update the + current database will be produced. + + + The migration to update to. If null is supplied, + a script to update to the latest migration will be produced. + + The generated SQL script. + + + + Represents a column being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be added to. + Details of the column being added. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be added to. + + + + + Gets the details of the column being added. + + + + + Gets an operation that represents dropping the added column. + + + + + + + + Represents a foreign key constraint being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddForeignKeyOperation class. + The PrincipalTable, PrincipalColumns, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + The names of the column(s) that the foreign key constraint should target. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if cascade delete should be configured on the foreign key constraint. + + + + + Gets an operation to create an index on the foreign key column(s). + + An operation to add the index. + + + + Gets an operation to drop the foreign key constraint. + + + + + + + + Represents adding a primary key to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the primary key. + + + + + Represents altering an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + An operation to revert this alteration of the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table that the column belongs to. + + + + + Gets the new definition for the column. + + + + + Gets an operation that represents reverting the alteration. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents altering an existing stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Represents changes made to custom annotations on a table. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterTableOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table on which annotations have changed. + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table on which annotations have changed. + + + + + Gets the columns to be included in the table for which annotations have changed. + + + + + Gets the custom annotations that have changed on the table. + + + + + Gets an operation that is the inverse of this one such that annotations will be changed back to how + they were before this operation was applied. + + + + + + + + Represents information about a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the CLR type corresponding to the database type of this column. + + + + + Gets the default value for the CLR type corresponding to the database type of this column. + + + + + Gets or sets a value indicating if this column can store null values. + + + + + Gets or sets a value indicating if values for this column will be generated by the database using the identity pattern. + + + + + Gets or sets a value indicating if this property model should be configured as a timestamp. + + + + + Gets or sets the custom annotations that have changed on the column. + + + + + Determines if this column is a narrower data type than another column. + Used to determine if altering the supplied column definition to this definition will result in data loss. + + The column to compare to. + Details of the database provider being used. + True if this column is of a narrower data type. + + + + Represents creating a database index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateIndexOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets a value indicating if this is a unique index. + + + + + Gets an operation to drop this index. + + + + + + + + Gets or sets whether this is a clustered index. + + + + + A migration operation to add a new stored procedure to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the stored procedure. + + + + + Represents creating a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Custom annotations that exist on the table to be created. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be created. + + + + + Gets the columns to be included in the new table. + + + + + Gets or sets the primary key for the new table. + + + + + Gets custom annotations that exist on the table to be created. + + + + + Gets an operation to drop the table. + + + + + + + + Represents a column being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be dropped from. + + + + + Gets the name of the column to be dropped. + + + + + Gets custom annotations that exist on the column that is being dropped. + + + + + Gets an operation that represents reverting dropping the column. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents a foreign key constraint being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + The PrincipalTable, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc.. + + The operation that represents reverting dropping the foreign key constraint. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the associated index on the foreign key column(s). + + An operation to drop the index. + + + + Gets an operation that represents reverting dropping the foreign key constraint. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The operation that represents reverting dropping the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that represents reverting dropping the index. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping a primary key from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to add the primary key. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Drops a stored procedure from the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to drop. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to drop. + + + The name of the stored procedure to drop. + + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents dropping an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be dropped. + + + + + Gets custom annotations that exist on the table that is being dropped. + + + + + Gets custom annotations that exist on columns of the table that is being dropped. + + + + + Gets an operation that represents reverting dropping the table. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Base class for changes that affect foreign key constraints. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that the foreign key constraint targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the name of the table that the foreign key columns exist in. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + The names of the foreign key column(s). + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this foreign key constraint. + + + + + Gets or sets the name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operation representing DML changes to the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the HistoryOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A sequence of command trees representing the operations being applied to the history table. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + A sequence of commands representing the operations being applied to the history table. + + + + + + + + Common base class for operations affecting indexes. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a default index name based on the supplied column names. + + The column names used to create a default index name. + A default index name. + + + + Initializes a new instance of the IndexOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the table the index belongs to. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the columns that are indexed. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this index. + + + + + Gets or sets the name of this index. + If no name is supplied, a default name will be calculated. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents an operation to modify a database schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MigrationOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" + }'. + + + + + Gets additional arguments that may be processed by providers. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. + + + + + Represents moving a stored procedure to a new schema in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to move. + The new schema for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to move. + + + The name of the stored procedure to move. + + + + + Gets the new schema for the stored procedure. + + + The new schema for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents moving a table from one schema to another. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MoveTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be moved. + Name of the schema to move the table to. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be moved. + + + + + Gets the name of the schema to move the table to. + + + + + Gets an operation that moves the table back to its original schema. + + + + + + + + Used when altering the migrations history table so that data can be moved to the new table. + + + The context key for the model. + + + + + Gets a value that indicates whether this is a system table. + + + true if the table is a system table; otherwise, false. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Represents a migration operation that can not be performed, possibly because it is not supported by the targeted database provider. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets or sets a value indicating whether this instance is out parameter. + + + true if this instance is out parameter; otherwise, false. + + + + + Common base class to represent operations affecting primary keys. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Returns the default name for the primary key. + + The target table name. + The default primary key name. + + + + Initializes a new instance of the PrimaryKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that contains the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the column(s) that make up the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this primary key. + + + + + Gets or sets the name of this primary key. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + + + + Gets or sets whether this is a clustered primary key. + + + + + A migration operation that affects stored procedures. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure. + + + The name of the stored procedure. + + + + + Gets the body of the stored procedure expressed in SQL. + + + The body of the stored procedure expressed in SQL. + + + + + Gets the parameters of the stored procedure. + + + The parameters of the stored procedure. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a property of an entity. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the PropertyModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this property model. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the data type for this property model. + + + + + Gets additional details about the data type of this property model. + This includes details such as maximum length, nullability etc. + + + + + Gets or sets the name of the property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a provider specific data type to use for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the maximum length for this property model. + Only valid for array data types. + + + + + Gets or sets the precision for this property model. + Only valid for decimal data types. + + + + + Gets or sets the scale for this property model. + Only valid for decimal data types. + + + + + Gets or sets a constant value to use as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a SQL expression used as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if this property model is fixed length. + Only valid for array data types. + + + + + Gets or sets a value indicating if this property model supports Unicode characters. + Only valid for textual data types. + + + + + Represents renaming an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the column belongs to. + Name of the column to be renamed. + New name for the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column belongs to. + + + + + Gets the name of the column to be renamed. + + + + + Gets the new name for the column. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the index belongs to. + Name of the index to be renamed. + New name for the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the index belongs to. + + + + + Gets the name of the index to be renamed. + + + + + Gets the new name for the index. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming a stored procedure in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to rename. + The new name for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to rename. + + + The name of the stored procedure to rename. + + + + + Gets the new name for the stored procedure. + + + The new name for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents renaming an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be renamed. + New name for the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be renamed. + + + + + Gets the new name for the table. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents a provider specific SQL statement to be executed directly against the target database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the SqlOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the SQL to be executed. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + + + + Used when scripting an update database operation to store the operations that would have been performed against the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents a migration to be applied to the database. + + + + + Gets the id of the migration. + + + The id of the migration. + + + + + Gets the individual operations applied by this migration. + + + The individual operations applied by this migration. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + Gets the migrations applied during the update database operation. + + + The migrations applied during the update database operation. + + + + + Adds a migration to this update database operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The id of the migration. + The individual operations applied by the migration. + + + + Gets a value indicating if any of the operations may result in data loss. + + + + + Common base class for providers that convert provider agnostic migration + operations into database provider specific SQL commands. + + + + + Gets or sets the provider manifest. + + + The provider manifest. + + + + + Converts a set of migration operations into database provider specific SQL. + + The operations to be converted. + Token representing the version of the database being targeted. + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Builds the store type usage for the specified using the facets from the specified . + + Name of the store type. + The target property. + A store-specific TypeUsage + + + + Represents a migration operation that has been translated into a SQL statement. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the SQL to be executed to perform this migration operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Gets or sets the batch terminator for the database provider. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The batch terminator for the database provider. + + + + + The same as but works in partial trust and adds explicit caching of + generated indentation string and also recognizes writing a string that contains just \r\n or \n as a write-line to ensure + we indent the next line properly. + + + + + Specifies the default tab string. This field is constant. + + + + + Specifies the culture what will be used by the underlying TextWriter. This static property is read-only. + Note that any writer passed to one of the constructors of must use this + same culture. The culture is . + + + + + Gets the encoding for the text writer to use. + + + An that indicates the encoding for the text writer to use. + + + + + Gets or sets the new line character to use. + + The new line character to use. + + + + Gets or sets the number of spaces to indent. + + The number of spaces to indent. + + + + Gets the to use. + + + The to use. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and default tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + The tab string to use for indentation. + + + + Closes the document being written to. + + + + + Flushes the stream. + + + + + Outputs the tab string once for each level of indentation according to the + + property. + + + + + Builds a string representing the current indentation level for a new line. + + + Does NOT check if tabs are currently pending, just returns a string that would be + useful in replacing embedded newline characters. + + An empty string, or a string that contains .Indent level's worth of specified tab-string. + + + + Writes the specified string to the text stream. + + The string to write. + + + + Writes the text representation of a Boolean value to the text stream. + + The Boolean value to write. + + + + Writes a character to the text stream. + + The character to write. + + + + Writes a character array to the text stream. + + The character array to write. + + + + Writes a subarray of characters to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double to the text stream. + + The double to write. + + + + Writes the text representation of a Single to the text stream. + + The single to write. + + + + Writes the text representation of an integer to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object to the text stream. + + The object to write. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the specified string to a line without tabs. + + The string to write. + + + + Writes the specified string, followed by a line terminator, to the text stream. + + The string to write. + + + + Writes a line terminator. + + + + + Writes the text representation of a Boolean, followed by a line terminator, to the text stream. + + The Boolean to write. + + + + Writes a character, followed by a line terminator, to the text stream. + + The character to write. + + + + Writes a character array, followed by a line terminator, to the text stream. + + The character array to write. + + + + Writes a subarray of characters, followed by a line terminator, to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double, followed by a line terminator, to the text stream. + + The double to write. + + + + Writes the text representation of a Single, followed by a line terminator, to the text stream. + + The single to write. + + + + Writes the text representation of an integer, followed by a line terminator, to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer, followed by a line terminator, to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object, followed by a line terminator, to the text stream. + + The object to write. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the text representation of a UInt32, followed by a line terminator, to the text stream. + + A UInt32 to output. + + + + An implementation of that does nothing. Using this + initializer disables database initialization for the given context type. Passing an instance + of this class to is equivalent to passing null. + When is being used to resolve initializers an instance of + this class must be used to disable initialization. + + The type of the context. + + + + + + + Extension methods for . + + + + + Returns an implementation that stays in sync with the given + . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + Useful extension methods for use with Entity Framework LINQ queries. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + The type of entity being queried. + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + The path expression must be composed of simple property access expressions together with calls to Select for + composing additional includes after including a collection proprty. Examples of possible include paths are: + To include a single reference: query.Include(e => e.Level1Reference) + To include a single collection: query.Include(e => e.Level1Collection) + To include a reference and then a reference one level down: query.Include(e => e.Level1Reference.Level2Reference) + To include a reference and then a collection one level down: query.Include(e => e.Level1Reference.Level2Collection) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection, a reference, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference.Level3Reference)) + To include a collection, a collection, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection.Select(l2 => l2.Level3Reference))) + This extension method calls the Include(String) method of the source IQueryable object, if such a method exists. + If the source IQueryable does not have a matching method, then this method does nothing. + The Entity Framework ObjectQuery, ObjectSet, DbQuery, and DbSet types all have an appropriate Include method to call. + When you call the Include method, the query path is only valid on the returned instance of the IQueryable<T>. Other + instances of IQueryable<T> and the object context itself are not affected. Because the Include method returns the + query object, you can call this method multiple times on an IQueryable<T> to specify multiple paths for the query. + + The type of entity being queried. + The type of navigation property being included. + The source IQueryable on which to call Include. + A lambda expression representing the path to include. + + A new IQueryable<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + The type of the elements of . + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Bypasses a specified number of elements in a sequence and then returns the remaining elements. + + The type of the elements of source. + A sequence to return elements from. + An expression that evaluates to the number of elements to skip. + A sequence that contains elements that occur after the specified index in the + input sequence. + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of source. + The sequence to return elements from. + An expression that evaluates to the number of elements + to return. + A sequence that contains the specified number of elements from the + start of the input sequence. + + + + Represents data in a geodetic (round earth) coordinate system. + + + + Gets the default coordinate system id (SRID) for geography values (WGS 84) + The default coordinate system id (SRID) for geography values (WGS 84) + + + Gets a representation of this DbGeography value that is specific to the underlying provider that constructed it. + A representation of this DbGeography value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeography value. + A data contract serializable well known representation of this DbGeography value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeography value as defined by the well known binary value with the default geography coordinate system identifier (SRID)( + + ). + + A byte array that contains a well known binary representation of the geography value. + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeography value as defined by the GML value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified well known text value. + + + A new DbGeography value as defined by the well known text value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geography value. + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known text value. + The multi polygon value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Gets the identifier associated with the coordinate system. + The identifier associated with the coordinate system. + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of the given value. + + + + Gets the spatial type name of the DBGeography. + The spatial type name of the DBGeography. + + + Gets a nullable Boolean value indicating whether this DbGeography value is empty. + True if this DbGeography value is empty; otherwise, false. + + + Generates the well known text representation of this DbGeography value. Includes only Longitude and Latitude for points. + A string containing the well known text representation of this DbGeography value. + + + Generates the well known binary representation of this DbGeography value. + The well-known binary representation of this DbGeography value. + + + Generates the Geography Markup Language (GML) representation of this DbGeography value. + A string containing the GML representation of this DbGeography value. + + + Determines whether this DbGeography is spatially equal to the specified DbGeography argument. + true if other is spatially equal to this geography value; otherwise false. + The geography value that should be compared with this geography value for equality. + + + Determines whether this DbGeography is spatially disjoint from the specified DbGeography argument. + true if other is disjoint from this geography value; otherwise false. + The geography value that should be compared with this geography value for disjointness. + + + Determines whether this DbGeography value spatially intersects the specified DbGeography argument. + true if other intersects this geography value; otherwise false. + The geography value that should be compared with this geography value for intersection. + + + Returns a geography object that represents the union of all points whose distance from a geography instance is less than or equal to a specified value. + A geography object that represents the union of all points + The distance. + + + Computes the distance between the closest points in this DbGeography value and another DbGeography value. + A double value that specifies the distance between the two closest points in this geography value and other. + The geography value for which the distance from this value should be computed. + + + Computes the intersection of this DbGeography value and another DbGeography value. + A new DbGeography value representing the intersection between this geography value and other. + The geography value for which the intersection with this value should be computed. + + + Computes the union of this DbGeography value and another DbGeography value. + A new DbGeography value representing the union between this geography value and other. + The geography value for which the union with this value should be computed. + + + Computes the difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the difference between this geography value and other. + The geography value for which the difference with this value should be computed. + + + Computes the symmetric difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the symmetric difference between this geography value and other. + The geography value for which the symmetric difference with this value should be computed. + + + Gets the number of elements in this DbGeography value, if it represents a geography collection. <returns>The number of elements in this geography value, if it represents a collection of other geography values; otherwise null.</returns> + The number of elements in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a geography collection. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a collection of other geography values; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets the Latitude coordinate of this DbGeography value, if it represents a point. <returns>The Latitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Latitude coordinate of this DbGeography value. + + + Gets the Longitude coordinate of this DbGeography value, if it represents a point. <returns>The Longitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Longitude coordinate of this DbGeography value. + + + Gets the elevation (Z coordinate) of this DbGeography value, if it represents a point. <returns>The elevation (Z coordinate) value of this geography value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeography value. + + + Gets the M (Measure) coordinate of this DbGeography value, if it represents a point. <returns>The M (Measure) coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The M (Measure) coordinate of this DbGeography value. + + + Gets a nullable double value that indicates the length of this DbGeography value, which may be null if this value does not represent a curve. + A nullable double value that indicates the length of this DbGeography value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeography value is closed, which may be null if this value does not represent a curve. + True if this DbGeography value is closed; otherwise, false. + + + Gets the number of points in this DbGeography value, if it represents a linestring or linear ring. <returns>The number of elements in this geography value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets a nullable double value that indicates the area of this DbGeography value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeography value. + + + Returns a string representation of the geography value. + A string representation of the geography value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + Represents geometric shapes. + + + + Gets the default coordinate system id (SRID) for geometry values. + The default coordinate system id (SRID) for geometry values. + + + Gets a representation of this DbGeometry value that is specific to the underlying provider that constructed it. + A representation of this DbGeometry value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeometry value. + A data contract serializable well known representation of this DbGeometry value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeometry value as defined by the well known binary value with the default geometry coordinate system identifier ( + + ). + + A byte array that contains a well known binary representation of the geometry value. + wellKnownBinary + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownBinary + coordinateSystemId + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownBinary + coordinateSystemId + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownBinary + coordinateSystemId + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownBinary + coordinateSystemId + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multipoint value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownBinary + coordinateSystemId + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeometry value as defined by the GML value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + geometryMarkup + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryMarkup + coordinateSystemId + + + + Creates a new value based on the specified well known text value. + + + A new DbGeometry value as defined by the well known text value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geometry value. + wellKnownText + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownText + coordinateSystemId + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownText + coordinateSystemId + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownText + coordinateSystemId + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownText + coordinateSystemId + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownText + coordinateSystemId + + + Gets the coordinate system identifier of the DbGeometry object. + The coordinate system identifier of the DbGeometry object. + + + Gets the boundary of the DbGeometry objects. + The boundary of the DbGeometry objects. + + + + Gets the dimension of the given value or, if the value is a collection, the dimension of its largest element. + + + The dimension of the given value. + + + + Gets the envelope (minimum bounding box) of this DbGeometry value, as a geometry value. + The envelope (minimum bounding box) of this DbGeometry value. + + + Gets a spatial type name representation of this DbGeometry value. + A spatial type name representation of this DbGeometry value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is empty, which may be null if this value does not represent a curve. + True if this DbGeometry value is empty; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is simple. + True if this DbGeometry value is simple; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is valid. + True if this DbGeometry value is valid; otherwise, false. + + + Generates the well known text representation of this DbGeometry value. Includes only X and Y coordinates for points. + A string containing the well known text representation of this DbGeometry value. + + + Generates the well known binary representation of this DbGeometry value. + The well-known binary representation of this DbGeometry value. + + + Generates the Geography Markup Language (GML) representation of this DbGeometry value. + A string containing the GML representation of this DbGeometry value. + + + Determines whether this DbGeometry is spatially equal to the specified DbGeometry argument. + true if other is spatially equal to this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for equality. + other + + + Determines whether this DbGeometry is spatially disjoint from the specified DbGeometry argument. + true if other is disjoint from this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for disjointness. + other + + + Determines whether this DbGeometry value spatially intersects the specified DbGeometry argument. + true if other intersects this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for intersection. + other + + + Determines whether this DbGeometry value spatially touches the specified DbGeometry argument. + true if other touches this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value spatially crosses the specified DbGeometry argument. + true if other crosses this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value is spatially within the specified DbGeometry argument. + true if this geometry value is within other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially contains the specified DbGeometry argument. + true if this geometry value contains other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially overlaps the specified DbGeometry argument. + true if this geometry value overlaps other; otherwise false. + The geometry value that should be compared with this geometry value for overlap. + other + + + Determines whether this DbGeometry value spatially relates to the specified DbGeometry argument according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + true if this geometry value relates to other according to the specified intersection pattern matrix; otherwise false. + The geometry value that should be compared with this geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + other + matrix + + + Returns a geometry object that represents the union of all points whose distance from a geometry instance is less than or equal to a specified value. + A geometry object that represents the union of all points. + The distance. + + + Computes the distance between the closest points in this DbGeometry value and another DbGeometry value. + A double value that specifies the distance between the two closest points in this geometry value and other. + The geometry value for which the distance from this value should be computed. + other + + + Gets the convex hull of this DbGeometry value as another DbGeometry value. + The convex hull of this DbGeometry value as another DbGeometry value. + + + Computes the intersection of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the intersection between this geometry value and other. + The geometry value for which the intersection with this value should be computed. + other + + + Computes the union of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the union between this geometry value and other. + The geometry value for which the union with this value should be computed. + other + + + Computes the difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the difference between this geometry value and other. + The geometry value for which the difference with this value should be computed. + other + + + Computes the symmetric difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the symmetric difference between this geometry value and other. + The geometry value for which the symmetric difference with this value should be computed. + other + + + Gets the number of elements in this DbGeometry value, if it represents a geometry collection. <returns>The number of elements in this geometry value, if it represents a collection of other geometry values; otherwise null.</returns> + The number of elements in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a geometry collection. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a collection of other geometry values; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets the X coordinate of this DbGeometry value, if it represents a point. <returns>The X coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The X coordinate of this DbGeometry value. + + + Gets the Y coordinate of this DbGeometry value, if it represents a point. <returns>The Y coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The Y coordinate of this DbGeometry value. + + + Gets the elevation (Z coordinate) of this DbGeometry value, if it represents a point. <returns>The elevation (Z coordinate) of this geometry value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeometry value. + + + Gets the Measure (M coordinate) of this DbGeometry value, if it represents a point. <returns>The Measure (M coordinate) value of this geometry value, if it represents a point; otherwise null.</returns> + The Measure (M coordinate) of this DbGeometry value. + + + Gets a nullable double value that indicates the length of this DbGeometry value, which may be null if this value does not represent a curve. + The length of this DbGeometry value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is closed, which may be null if this value does not represent a curve. + True if this DbGeometry value is closed; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is a ring, which may be null if this value does not represent a curve. + True if this DbGeometry value is a ring; otherwise, false. + + + Gets the number of points in this DbGeometry value, if it represents a linestring or linear ring. <returns>The number of elements in this geometry value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets a nullable double value that indicates the area of this DbGeometry value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeometry value. + + + Gets the DbGeometry value that represents the centroid of this DbGeometry value, which may be null if this value does not represent a surface. + The DbGeometry value that represents the centroid of this DbGeometry value. + + + Gets a point on the surface of this DbGeometry value, which may be null if this value does not represent a surface. + A point on the surface of this DbGeometry value. + + + Gets the DbGeometry value that represents the exterior ring of this DbGeometry value, which may be null if this value does not represent a polygon. + The DbGeometry value that represents the exterior ring of this DbGeometry value. + + + Gets the number of interior rings in this DbGeometry value, if it represents a polygon. <returns>The number of elements in this geometry value, if it represents a polygon; otherwise null.</returns> + The number of interior rings in this DbGeometry value. + + + Returns an interior ring from this DbGeometry value at a specific position, if it represents a polygon. <param name="index">The position within this geometry value from which the interior ring should be taken.</param><returns>The interior ring in this geometry value at the specified position, if it represents a polygon; otherwise null.</returns> + An interior ring from this DbGeometry value at a specific position. + The index. + + + Returns a string representation of the geometry value. + A string representation of the geometry value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeography at the specified column value + The ordinal of the column that contains the geography value + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeometry at the specified column value + The ordinal of the data record column that contains the provider-specific geometry data + + + + Returns whether the column at the specified column ordinal is of geography type + + The column ordinal. + + true if the column at the specified column ordinal is of geography type; + false otherwise. + + + + + Returns whether the column at the specified column ordinal is of geometry type + + The column ordinal. + + true if the column at the specified column ordinal is of geometry type; + false otherwise. + + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + Gets the default services for the . + + The default services. + + + + Override this property to allow the spatial provider to fail fast when native types or other + resources needed for the spatial provider to function correctly are not available. + The default value is true which means that EF will continue with the assumption + that the provider has the necessary types/resources rather than failing fast. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + The provider value. + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geography value. + A new DbGeography value backed by this spatial services implementation and the specified provider value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geography value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geographyValue, as a new + + . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geographyValue, or the largest element dimension if + + is a collection. + + The geography value for which the dimension value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value. This value should include only the Longitude and Latitude of points. + + A string containing the well-known text representation of geographyValue. + The geography value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geography value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeography value. + The geography value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geographyValue is spatially equal to otherGeography; otherwise false. + The first geography value to compare for equality. + The second geography value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geographyValue is disjoint from otherGeography; otherwise false. + The first geography value to compare for disjointness. + The second geography value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geographyValue intersects otherGeography; otherwise false. + The first geography value to compare for intersection. + The second geography value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geography value representing all points less than or equal to distance from the given + + value. + + A new DbGeography value representing all points less than or equal to distance from geographyValue. + The geography value. + A double value specifying how far from geographyValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference of two values. + + A new DbGeography value representing the difference of geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference of two values. + + + A new value representing the symmetric difference of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geography collection. + + The number of elements in geographyValue, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geography collection. + + The element in geographyValue at position index, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Latitude coordinate of the given value, if it represents a point. + + + The Latitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Longitude coordinate of the given value, if it represents a point. + + + The Longitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z coordinate) of the given value, if it represents a point. + + The elevation (Z coordinate) of geographyValue, if it represents a point; otherwise null. + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeography value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeography value, which may be null if the value does not represent a curve. + + The end point of geographyValue, if it represents a curve; otherwise null. + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geography value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geographyValue at position index, if it represents a linestring or linear ring; otherwise null. + The geography value, which need not represent a linestring or linear ring. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geography value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + A provider value. + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geometry value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geometryValue, as a new + + . + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the boundary of the given + + value. + + + The boundary of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geometryValue, or the largest element dimension if + + is a collection. + + The geometry value for which the dimension value should be retrieved. + + + + Gets the envelope (minimum bounding box) of the given value, as a geometry value. + + + The envelope of geometryValue, as a value. + + The geometry value for which the envelope value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is simple. + + + True if the given value is simple; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is valid. + + + True if the given value is valid; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value, including only X and Y coordinates for points. + + A string containing the well-known text representation of geometryValue. + The geometry value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of with elevation and measure. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geometry value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeometry value. + The geometry value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geometryValue is spatially equal to otherGeometry; otherwise false. + The first geometry value to compare for equality. + The second geometry value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geometryValue is disjoint from otherGeometry; otherwise false. + The first geometry value to compare for disjointness. + The second geometry value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geometryValue intersects otherGeometry; otherwise false. + The first geometry value to compare for intersection. + The second geometry value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially touch. + + true if geometryValue touches otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially cross. + + true if geometryValue crosses otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value is spatially within the other. + + true if geometryValue is within otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value spatially contains the other. + + true if geometryValue contains otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially overlap. + + true if geometryValue overlaps otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially related according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + + true if this geometryValue value relates to otherGeometry according to the specified intersection pattern matrix; otherwise false. + The first geometry value. + The geometry value that should be compared with the first geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + + + , + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geometry value representing all points less than or equal to distance from the given + + value. + + A new DbGeometry value representing all points less than or equal to distance from geometryValue. + The geometry value. + A double value specifying how far from geometryValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the convex hull of the given + + value. + + + The convex hull of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference between two values. + + A new DbGeometry value representing the difference between geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference between two values. + + + A new value representing the symmetric difference between geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geometry collection. + + The number of elements in geometryValue, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geometry collection. + + The element in geometryValue at position index, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the X coordinate of the given value, if it represents a point. + + + The X coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Y coordinate of the given value, if it represents a point. + + + The Y coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z) of the given value, if it represents a point. + + The elevation (Z) of geometryValue, if it represents a point; otherwise null. + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeometry value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeometry value, which may be null if the value does not represent a curve. + + The end point of geometryValue, if it represents a curve; otherwise null. + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is a ring, which may be null if the value does not represent a curve. + + + True if the given value is a ring; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geometry value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geometryValue at position index, if it represents a linestring or linear ring; otherwise null. + The geometry value, which need not represent a linestring or linear ring. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the centroid of the given DbGeometry value, which may be null if the value does not represent a surface. + + The centroid of geometryValue, if it represents a surface; otherwise null. + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents a point on the surface of the given DbGeometry value, which may be null if the value does not represent a surface. + + + A value that represents a point on the surface of the given DbGeometry value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the exterior ring of the given DbGeometry value, which may be null if the value does not represent a polygon. + + A DbGeometry value representing the exterior ring on geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of interior rings in the given value, if it represents a polygon. + + The number of elements in geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an interior ring from the given value, if it represents a polygon. + + The interior ring in geometryValue at position index, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Controls the transaction creation behavior while executing a database command or query. + + + + + If no transaction is present then a new transaction will be used for the operation. + + + + + If an existing transaction is present then use it, otherwise execute the command or query without a transaction. + + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException. + + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + The inner exception. + + + + Initializes a new instance of the DbEntityValidationException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Validation results. + + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Represents validation results for single entity. + + + + + Creates an instance of class. + + Entity entry the results applies to. Never null. + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + Validation error. Can be either entity or property level validation error. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + Specifies the maximum length of array/string data allowed in a property. + + + + + Gets the maximum allowable length of the array/string data. + + + + + Initializes a new instance of the class. + + The maximum allowable length of array/string data. Value must be greater than zero. + + + + Initializes a new instance of the class. + The maximum allowable length supported by the database will be used. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or less than or equal to the specified maximum length, otherwise false + Length is zero or less than negative one. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the maximum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Specifies the minimum length of array/string data allowed in a property. + + + + + Gets the minimum allowable length of the array/string data. + + + + + Initializes a new instance of the class. + + The minimum allowable length of array/string data. Value must be greater than or equal to zero. + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or greater than or equal to the specified minimum length, otherwise false + Length is less than zero. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the minimum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Specifies the database column that a property is mapped to. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column the property is mapped to. + + + + The name of the column the property is mapped to. + + + + + The zero-based order of the column the property is mapped to. + + + + + The database provider specific data type of the column the property is mapped to. + + + + + Denotes that the class is a complex type. + Complex types are non-scalar properties of entity types that enable scalar properties to be organized within entities. + Complex types do not have keys and cannot be managed by the Entity Framework apart from the parent object. + + + + + Specifies how the database generates values for a property. + + + + + Initializes a new instance of the class. + + The pattern used to generate values for the property in the database. + + + + The pattern used to generate values for the property in the database. + + + + + The pattern used to generate values for a property in the database. + + + + + The database does not generate values. + + + + + The database generates a value when a row is inserted. + + + + + The database generates a value when a row is inserted or updated. + + + + + Denotes a property used as a foreign key in a relationship. + The annotation may be placed on the foreign key property and specify the associated navigation property name, + or placed on a navigation property and specify the associated foreign key name. + + + + + Initializes a new instance of the class. + + If placed on a foreign key property, the name of the associated navigation property. If placed on a navigation property, the name of the associated foreign key(s). If a navigation property has multiple foreign keys, a comma separated list should be supplied. + + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + + + + + When this attribute is placed on a property it indicates that the database column to which the + property is mapped has an index. + + + This attribute is used by Entity Framework Migrations to create indexes on mapped database columns. + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Creates a instance for an index that will be named by convention and + has no column order, clustering, or uniqueness specified. + + + + + Creates a instance for an index with the given name and + has no column order, clustering, or uniqueness specified. + + The index name. + + + + Creates a instance for an index with the given name and column order, + but with no clustering or uniqueness specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + The index name. + A number which will be used to determine column ordering for multi-column indexes. + + + + The index name. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + A number which will be used to determine column ordering for multi-column indexes. This will be -1 if no + column order has been specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Set this property to true to define a clustered index. Set this property to false to define a + non-clustered index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Set this property to true to define a unique index. Set this property to false to define a + non-unique index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Returns a different ID for each object instance such that type descriptors won't + attempt to combine all IndexAttribute instances into a single instance. + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + + Specifies the inverse of a navigation property that represents the other end of the same relationship. + + + + + Initializes a new instance of the class. + + The navigation property representing the other end of the same relationship. + + + + The navigation property representing the other end of the same relationship. + + + + + Denotes that a property or class should be excluded from database mapping. + + + + + Specifies the database table that a class is mapped to. + + + + + Initializes a new instance of the class. + + The name of the table the class is mapped to. + + + + The name of the table the class is mapped to. + + + + + The schema of the table the class is mapped to. + + + + diff --git a/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.SqlServer.dll b/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.SqlServer.dll new file mode 100644 index 0000000..e11b437 Binary files /dev/null and b/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.SqlServer.dll differ diff --git a/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.SqlServer.xml b/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.SqlServer.xml new file mode 100644 index 0000000..ea081f1 --- /dev/null +++ b/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.SqlServer.xml @@ -0,0 +1,2156 @@ + + + + EntityFramework.SqlServer + + + + + An that retries actions that throw exceptions caused by SQL Azure transient failures. + + + This execution strategy will retry the operation on and + if the contains any of the following error numbers: + 40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20 + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for + number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the ASCII code value of the left-most character of a character expression. + The ASCII code of the first character in the input string. + A valid string. + + + Returns the character that corresponds to the specified integer ASCII value. + The character that corresponds to the specified ASCII value. + An ASCII code. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + + A of value that is the starting position of toFind if it is found in toSearch . + + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions. + The SOUNDEX difference between the two strings. + The first string. + The second string. + + + Returns the Unicode character with the specified integer code, as defined by the Unicode standard. + The character that corresponds to the input character code. + A character code. + + + Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types. + The starting character position where the string pattern was found. + A string pattern to search for. + The string to search. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with brackets added. + The expression that quote characters will be added to. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with the specified quote characters added. + The expression that quote characters will be added to. + The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used. + + + Repeats a string value a specified number of times. + The target string, repeated the number of times specified by count . + A valid string. + The value that specifies how many time to repeat target . + + + Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names. + The SOUNDEX code of the input string. + A valid string. + + + Returns a string of repeated spaces. + A string that consists of the specified number of spaces. + The number of spaces. If negative, a null string is returned. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position. + A string consisting of the two strings. + The target string. + The character position in stringinput where the replacement string is to be inserted. + The number of characters to delete from stringInput . If length is longer than stringInput , deletion occurs up to the last character in stringReplacement . + The substring to be inserted into stringInput . + + + Returns the integer value, as defined by the Unicode standard, for the first character of the input expression. + The character code for the first character in the input string. + A valid string. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + The angle, in radians, defined by the input cosine value. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + An angle, measured in radians. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the constant value of pi. + The numeric value of pi. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + The seed value. If seed is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns a new datetime value based on adding an interval to the specified date. + The new date. + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new time span value based on adding an interval to the specified time span. + The new time span. + The part of the date to increment. + The value used to increment a date by a specified amount. + The time span to increment. + + + Returns a new date value based on adding an interval to the specified date. + The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC). + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new datetime value based on adding an interval to the specified date. + + A of value that is the new date. + + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The value specifying the number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two Dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database timestamp. + + + Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database UTC timestamp. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input values. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the current date and time. + The current date and time. + + + Returns the name of the current user. + The name of the current user. + + + Returns the workstation name. + The name of the workstation. + + + Returns a database user name corresponding to a specified identification number. + The user name. + A user ID. + + + Returns a database user name corresponding to a specified identification number. + The user name. + + + Indicates whether the input value is a valid numeric type. + 1 if the input expression is a valid numeric data type; otherwise, 0. + A string expression. + + + Indicates whether the input value is a valid date or time. + 1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0. + The tested value. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns a hierarchyid representing the nth ancestor of this. + A hierarchyid representing the nth ancestor of this. + The hierarchyid value. + n + + + Returns a child node of the parent. + The hierarchyid value. + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + Returns an integer that represents the depth of the node this in the tree. + An integer that represents the depth of the node this in the tree. + The hierarchyid value. + + + Returns the root of the hierarchy tree. + The root of the hierarchy tree. + + + Returns true if this is a descendant of parent. + True if this is a descendant of parent. + The hierarchyid value. + parent + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + Hierarchyid value. + The hierarchyid value. + oldRoot + newRoot + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + Hierarchyid value. + input + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + + True since this provider supports the parameter optimization. + + + + The DbProviderServices implementation for the SqlClient provider for SQL Server. + + + Note that instance of this type also resolve additional provider services for Microsoft SQL Server + when this type is registered as an EF provider either using an entry in the application's config file + or through code-based registration in . + The services resolved are: + Requests for are resolved to a Singleton instance of + to create connections to LocalDB by default. + Requests for for the invariant name "System.Data.SqlClient" + for any server name are resolved to a delegate that returns a + to provide a non-retrying policy for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to instances to provide default Migrations SQL + generation for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to a Singleton instance of to provide default spatial + services for SQL Server. + + + + + This is the well-known string using in configuration files and code-based configuration as + the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and + Entity Framework provider services. + + + + + The Singleton instance of the SqlProviderServices type. + + + + + Set to the full name of the Microsoft.SqlServer.Types assembly to override the default selection + + + + + Get or sets a value indicating whether parameter values are truncated to + the scale (number of decimal places) defined for their corresponding columns when they are sent + to the database. A value of true indicates that objects + created for columns will have their + properties set, which will cause the parameter values to be truncated. If set to false + then the properties will not be set, avoiding the truncation + behavior of and allowing SQL Server to round values if necessary. + The default value is true to prevent breaking existing applications that depend on this + behavior. + + + + + Gets or sets a value indicating whether to use the SCOPE_IDENTITY() function to retrieve values + generated by the database for numeric columns during an INSERT operation. The default value of + true is recommended and can provide better performance if all numeric values are generated + using IDENTITY columns. If set to false, an OUTPUT clause will be used instead. An OUTPUT + clause makes it possible to retrieve values generated by sequences or other means. + + + + + Gets or sets a value indicating whether the ROW_NUMBER() function is used in sort expression + passed to the ORDER BY clause when OFFSET is present in query. The default value of true + is recommended to obtain query results that are stable for paging operations. The value of + false can be used for compatibility with previous versions of EF and will cause the sort + expression to be passed unmodified to the ORDER BY clause, which can lead to unstable results + if the ordering is ambiguous. + + + This flag only applies to SQL Server 2012 or later. This flag does not affect queries that have + already been translated to SQL and cached, therefore applications that need to set the value to + false for compatibility should do so before executing any queries. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object, given the connection and command tree + + provider manifest that was determined from metadata + command tree for the statement + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + can cause deadlocks. + So here overriding to provide a method that does not clone DesignTimeVisible. + + the object to clone + a clone of the + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + + Returns the provider manifest by using the specified version information. + + The token information associated with the provider manifest. + The provider manifest by using the specified version information. + + + + Gets a spatial data reader for SQL Server. + + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Gets a spatial data reader for SQL Server. + + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Create the database and the database objects. + If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename. + Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name. + However if we try to replicate the name under which it would be attached, the following scenario would fail: + The file does not exist, but registered with database. + The user calls: If (DatabaseExists) DeleteDatabase + CreateDatabase + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Delete the database for the given connection. + There are three cases: + 1. If Initial Catalog is specified (X) drop database X + 2. Else if AttachDBFilename is specified (F) drop all the databases corresponding to F + if none throw + 3. If niether the catalog not the file name is specified - throw + Note that directly deleting the files does not work for a remote server. However, even for not attached + databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase + + Connection + Timeout for internal commands. + Item Collection. + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against a Microsoft SQL Server database. + + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Converts a set of migration operations into Microsoft SQL Server specific SQL. + + The operations to be converted. + Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Generates the specified update database operation which represents applying a series of migrations. + The generated script is idempotent, meaning it contains conditional logic to check if individual migrations + have already been applied and only apply the pending ones. + + The update database operation. + + + + Generates SQL for a . + Allows derived providers to handle additional operation types. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Creates an empty connection for the current provider. + Allows derived providers to use connection other than . + + An empty connection for the current provider. + + + + Generates the specified create procedure operation. + + The create procedure operation. + + + + Generates the specified alter procedure operation. + + The alter procedure operation. + + + + Generates the specified drop procedure operation. + + The drop procedure operation. + + + + Generates SQL for a . This method differs from + in that it will + create the target database schema if it does not already exist. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Writes CREATE TABLE SQL to the target writer. + + The operation to produce SQL for. + The target writer. + + + + Override this method to generate SQL when the definition of a table or its attributes are changed. + The default implementation of this method does nothing. + + The operation describing changes to the table. + + + + Generates SQL to mark a table as a system table. + Generated SQL should be added using the Statement method. + + The table to mark as a system table. + The to write the generated SQL to. + + + + Generates SQL to create a database schema. + Generated SQL should be added using the Statement method. + + The name of the schema to create. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Call this method to generate SQL that will attempt to drop the default constraint created + when a column is created. This method is usually called by code that overrides the creation or + altering of columns. + + The table to which the constraint applies. + The column to which the constraint applies. + The writer to which generated SQL should be written. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement or StatementBatch methods. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates the specified rename procedure operation. + + The rename procedure operation. + + + + Generates the specified move procedure operation. + + The move procedure operation. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for the given column model. This method is called by other methods that + process columns and can be overridden to change the SQL generated. + + The column for which SQL is being generated. + The writer to which generated SQL should be written. + + + + Returns the column default value to use for store-generated GUID columns when + no default value is explicitly specified in the migration. + Returns newsequentialid() for on-premises SQL Server 2005 and later. + Returns newid() for SQL Azure. + + Either newsequentialid() or newid() as described above. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to specify a constant byte[] default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant bool default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTime default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTimeOffset default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant Guid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant string default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant TimeSpan default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant hierarchyid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geogrpahy default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geometry default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify the data type of a column. + This method just generates the actual type, not the SQL to create the column. + + The definition of the column. + SQL representing the data type. + + + + Generates a quoted name. The supplied name may or may not contain the schema. + + The name to be quoted. + The quoted name. + + + + Quotes an identifier for SQL Server. + + The identifier to be quoted. + The quoted identifier. + + + + Adds a new Statement to be executed against the database. + + The statement to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + The batch terminator for the database provider. + + + + Gets a new that can be used to build SQL. + This is just a helper method to create a writer. Writing to the writer will + not cause SQL to be registered for execution. You must pass the generated + SQL to the Statement method. + + An empty text writer to use for SQL generation. + + + + Adds a new Statement to be executed against the database. + + The writer containing the SQL to be executed. + The batch terminator for the database provider. + + + + Breaks sql string into one or more statements, handling T-SQL utility statements as necessary. + + The SQL to split into one ore more statements to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geography instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance. + The geography value. + + + Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geography instance is less than or equal to a specified value + The geography value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees. + the maximum angle between the point returned by EnvelopeCenter(). + The geography value. + + + Returns a point that can be used as the center of a bounding circle for the geography instance. + A SqlGeography value that specifies the location of the center of a bounding circle. + The geography value. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geography value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Tests if the SqlGeography instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geography value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Returns the total number of rings in a Polygon instance. + The total number of rings. + The geography value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geography value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings(). + A SqlGeography object that represents the ring specified by n. + The geography value. + An int expression between 1 and the number of rings in a polygon instance. + + + Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geometry instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance. + The geometry value. + + + Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geometry instance is less than or equal to a specified value + The geometry value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Tests if the SqlGeometry instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geometry value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geometry value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. + The converted geometry instance. + The geometry value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geometry value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + + An implementation of to provide support for geospatial types when using + Entity Framework with Microsoft SQL Server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + diff --git a/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.dll b/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.dll new file mode 100644 index 0000000..8400163 Binary files /dev/null and b/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.dll differ diff --git a/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.xml b/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.xml new file mode 100644 index 0000000..46df344 --- /dev/null +++ b/packages/EntityFramework.6.4.4/lib/net45/EntityFramework.xml @@ -0,0 +1,54121 @@ + + + + EntityFramework + + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + Implements the visitor pattern for the set clause. + The set clause. + + + Implements the visitor pattern for the modification clause. + The modification clause. + + + Implements the visitor pattern for the collection of modification clauses. + The modification clauses. + + + Implements the visitor pattern for the command tree. + The command tree. + + + Implements the visitor pattern for the delete command tree. + The delete command tree. + + + Implements the visitor pattern for the function command tree. + The function command tree. + + + Implements the visitor pattern for the insert command tree. + The insert command tree. + + + Implements the visitor pattern for the query command tree. + The query command tree. + + + Implements the visitor pattern for the update command tree. + The update command tree. + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + + Convenience method to visit the specified . + + The DbUnaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbBinaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbExpressionBinding to visit. + + + is null + + + + + Convenience method for post-processing after a DbExpressionBinding has been visited. + + The previously visited DbExpressionBinding. + + + + Convenience method to visit the specified . + + The DbGroupExpressionBinding to visit. + + + is null + + + + + Convenience method indicating that the grouping keys of a have been visited and the aggregates are now about to be visited. + + The DbGroupExpressionBinding of the DbGroupByExpression + + + + Convenience method for post-processing after a DbGroupExpressionBinding has been visited. + + The previously visited DbGroupExpressionBinding. + + + + Convenience method indicating that the body of a Lambda is now about to be visited. + + The DbLambda that is about to be visited + + + is null + + + + + Convenience method for post-processing after a DbLambda has been visited. + + The previously visited DbLambda. + + + + Convenience method to visit the specified , if non-null. + + The expression to visit. + + + is null + + + + + Convenience method to visit each in the given list, if the list is non-null. + + The list of expressions to visit. + + + is null + + + + + Convenience method to visit each in the list, if the list is non-null. + + The list of aggregates to visit. + + + is null + + + + + Convenience method to visit the specified . + + The aggregate to visit. + + + is null + + + + + Called when an of an otherwise unrecognized type is encountered. + + The expression + + + is null + + + Always thrown if this method is called, since it indicates that + + is of an unsupported type + + + + + Visitor pattern method for . + + The DbConstantExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbVariableReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbParameterReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFunctionExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLambdaExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbPropertyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbComparisonExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLikeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLimitExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbArithmeticExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbAndExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOrExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbInExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNotExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbDistinctExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbElementExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsEmptyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbUnionAllExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIntersectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExceptExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOfTypeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbTreatExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCastExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsOfExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCaseExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNewInstanceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRelationshipNavigationExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DeRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefKeyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbEntityRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbScanExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFilterExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbProjectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCrossJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbApplyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSkipExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSortExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbQuantifierExpression that is being visited. + + + is null + + + + Implements the basic functionality required by aggregates in a GroupBy clause. + + + + Gets the result type of this . + + + The result type of this . + + + + + Gets the list of expressions that define the arguments to this + + . + + + The list of expressions that define the arguments to this + + . + + + + Represents the logical AND of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + Represents an apply operation, which is the invocation of the specified function for each element in the specified input set. This class cannot be inherited. + + + + Gets the that specifies the function that is invoked for each element in the input set. + + + The that specifies the function that is invoked for each element in the input set. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + + Represents an arithmetic operation applied to numeric arguments. + Addition, subtraction, multiplication, division, modulo, and negation are arithmetic operations. + This class cannot be inherited. + + + + + Gets the list of elements that define the current arguments. + + + A fixed-size list of elements. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept two expression operands. + + + + Gets the that defines the left argument. + + + The that defines the left argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the left argument. + + + + + Gets the that defines the right argument. + + + The that defines the right argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the right argument. + + + + + Represents the When, Then, and Else clauses of the + + . This class cannot be inherited. + + + + + Gets the When clauses of this . + + + The When clauses of this . + + + + + Gets the Then clauses of this . + + + The Then clauses of this . + + + + + Gets the Else clause of this . + + + The Else clause of this . + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the result type of the + + . + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the type conversion of a single argument to the specified type. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + An immutable class that implements the basic functionality for the Query, Insert, Update, Delete, and function invocation command tree types. + + + + Gets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is true. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + Gets the name and corresponding type of each parameter that can be referenced within this + + . + + + The name and corresponding type of each parameter that can be referenced within this + + . + + + + + Gets the kind of this command tree. + + + + + Gets the metadata workspace used by this command tree. + + + + + Gets the data space in which metadata used by this command tree must reside. + + + + + Returns a that represents this command. + + + A that represents this command. + + + + + Describes the different "kinds" (classes) of command trees. + + + + + A query to retrieve data + + + + + Update existing data + + + + + Insert new data + + + + + Deleted existing data + + + + + Call a function + + + + Represents a comparison operation applied to two arguments. Equality, greater than, greater than or equal, less than, less than or equal, and inequality are comparison operations. This class cannot be inherited. + + DbComparisonExpression requires that its arguments have a common result type + that is equality comparable (for .Equals and .NotEquals), + order comparable (for .GreaterThan and .LessThan), + or both (for .GreaterThanOrEquals and .LessThanOrEquals). + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents different kinds of constants (literals). This class cannot be inherited. + + + Gets the constant value. + The constant value. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an unconditional join operation between the given collection arguments. This class cannot be inherited. + + + + Gets a list that provides the input sets to the join. + + + A list that provides the input sets to the join. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents a single row delete operation expressed as a command tree. This class cannot be inherited. + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be deleted. + + + + Gets an that specifies the predicate used to determine which members of the target collection should be deleted. + + + The predicate can include only the following elements: + + Equality expression + Constant expression + IsNull expression + Property expression + Reference expression to the target + And expression + Or expression + Not expression + + + + An that specifies the predicate used to determine which members of the target collection should be deleted. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents the an expression that retrieves an entity based on the specified reference. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Removes duplicate elements from the specified set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the conversion of the specified set argument to a singleton. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an expression that extracts a reference from the underlying entity instance. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the set subtraction operation between the left and right operands. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the base type for all expressions. + + + Gets the type metadata for the result type of the expression. + The type metadata for the result type of the expression. + + + Gets the kind of the expression, which indicates the operation of this expression. + The kind of the expression, which indicates the operation of this expression. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + The type of the result produced by . + + + An instance of . + + The type of the result produced by visitor. + + + + Determines whether the specified is equal to the current DbExpression instance. + + + True if the specified is equal to the current DbExpression instance; otherwise, false. + + + The object to compare to the current . + + + + Serves as a hash function for the type. + A hash code for the current expression. + + + + Creates a that represents the specified binary value, which may be null + + + A that represents the specified binary value. + + The binary value on which the returned expression should be based. + + + + Enables implicit casting from a byte array. + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Boolean value. + + + A that represents the specified Boolean value. + + The Boolean value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) byte value. + + + A that represents the specified byte value. + + The byte value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTime value. + + The DateTime value on which the returned expression should be based. + + + + Enables implicit casting from . + + The expression to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTimeOffset value. + + The DateTimeOffset value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) decimal value. + + + A that represents the specified decimal value. + + The decimal value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) double value. + + + A that represents the specified double value. + + The double value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeography value. + + The DbGeography value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeometry value. + + The DbGeometry value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified Guid value. + + The Guid value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int16 value. + + + A that represents the specified Int16 value. + + The Int16 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int32 value. + + + A that represents the specified Int32 value. + + The Int32 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int64 value. + + + A that represents the specified Int64 value. + + The Int64 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Single value. + + + A that represents the specified Single value. + + The Single value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified string value. + + + A that represents the specified string value. + + The string value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Describes a binding for an expression. Conceptually similar to a foreach loop + in C#. The DbExpression property defines the collection being iterated over, + while the Var property provides a means to reference the current element + of the collection during the iteration. DbExpressionBinding is used to describe the set arguments + to relational expressions such as , + and . + + + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + The expression is not associated with the command tree of the binding, or its result type is not equal or promotable to the result type of the current value of the property. + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + The variable reference. + + + + Contains values that each expression class uses to denote the operation it represents. The + + property of an + + can be retrieved to determine which operation that expression represents. + + + + + True for all. + + + + + Logical And. + + + + + True for any. + + + + + Conditional case statement. + + + + + Polymorphic type cast. + + + + + A constant value. + + + + + Cross apply + + + + + Cross join + + + + + Dereference. + + + + + Duplicate removal. + + + + + Division. + + + + + Set to singleton conversion. + + + + + Entity ref value retrieval. + + + + + Equality + + + + + Set subtraction + + + + + Restriction. + + + + + Full outer join + + + + + Invocation of a stand-alone function + + + + + Greater than. + + + + + Greater than or equal. + + + + + Grouping. + + + + + Inner join + + + + + Set intersection. + + + + + Empty set determination. + + + + + Null determination. + + + + + Type comparison (specified Type or Subtype). + + + + + Type comparison (specified Type only). + + + + + Left outer join + + + + + Less than. + + + + + Less than or equal. + + + + + String comparison. + + + + + Result count restriction (TOP n). + + + + + Subtraction. + + + + + Modulo. + + + + + Multiplication. + + + + + Instance, row, and set construction. + + + + + Logical Not. + + + + + Inequality. + + + + + Null. + + + + + Set members by type (or subtype). + + + + + Set members by (exact) type. + + + + + Logical Or. + + + + + Outer apply. + + + + + A reference to a parameter. + + + + + Addition. + + + + + Projection. + + + + + Retrieval of a static or instance property. + + + + + Reference. + + + + + Ref key value retrieval. + + + + + Navigation of a (composition or association) relationship. + + + + + Entity or relationship set scan. + + + + + Skip elements of an ordered collection. + + + + + Sorting. + + + + + Type conversion. + + + + + Negation. + + + + + Set union (with duplicates). + + + + + A reference to a variable. + + + + + Application of a lambda function + + + + + In. + + + + Defines the basic functionality that should be implemented by visitors that do not return a result value. + + + When overridden in a derived class, handles any expression of an unrecognized type. + The expression to be handled. + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + Visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + + + Defines the basic functionality that should be implemented by visitors that return a result value of a specific type. + The type of the result produced by the visitor. + + + When overridden in a derived class, handles any expression of an unrecognized type. + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern method for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + Typed visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + An instance of TResultType. + + + Represents a predicate applied to filter an input set. This produces the set of elements that satisfy the predicate. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that specifies the predicate used to filter the input set. + + + The that specifies the predicate used to filter the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Supports standard aggregate functions, such as MIN, MAX, AVG, SUM, and so on. This class cannot be inherited. + + + Gets a value indicating whether this aggregate is a distinct aggregate. + true if the aggregate is a distinct aggregate; otherwise, false. + + + Gets the method metadata that specifies the aggregate function to invoke. + The method metadata that specifies the aggregate function to invoke. + + + Represents the invocation of a database function. + + + + Constructs a new DbFunctionCommandTree that uses the specified metadata workspace, data space and function metadata + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + The that represents the function that is being invoked. + The expected result type for the function’s first result set. + The function's parameters. + + , or is null + + + does not represent a valid data space or + is a composable function + + + + + Gets the that represents the function that is being invoked. + + + The that represents the function that is being invoked. + + + + Gets the expected result type for the function’s first result set. + The expected result type for the function’s first result set. + + + Gets or sets the command tree kind. + The command tree kind. + + + Represents an invocation of a function. This class cannot be inherited. + + + Gets the metadata for the function to invoke. + The metadata for the function to invoke. + + + + Gets an list that provides the arguments to the function. + + + An list that provides the arguments to the function. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a collection of elements that compose a group. + + + Represents a group by operation. A group by operation is a grouping of the elements in the input set based on the specified key expressions followed by the application of the specified aggregates. This class cannot be inherited. + + + + Gets the that specifies the input set and provides access to the set element and group element variables. + + + The that specifies the input set and provides access to the set element and group element variables. + + + + + Gets a list that provides grouping keys. + + + A list that provides grouping keys. + + + + + Gets a list that provides the aggregates to apply. + + + A list that provides the aggregates to apply. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Defines the binding for the input set to a . + In addition to the properties of , DbGroupExpressionBinding + also provides access to the group element via the variable reference + and to the group aggregate via the property. + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the result type of the current value of the property. + + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + A reference to the element variable. + + + Gets the name assigned to the group element variable. + The name assigned to the group element variable. + + + Gets the type metadata of the group element variable. + The type metadata of the group element variable. + + + + Gets the that references the group element variable. + + A reference to the group element variable. + + + + Gets the that represents the collection of elements in the group. + + The elements in the group. + + + + Represents a boolean expression that tests whether a specified item matches any element in a list. + + + + + Gets a DbExpression that specifies the item to be matched. + + + + + Gets the list of DbExpression to test for a match. + + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of DbExpressionVisitor. + + + is null + + + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + + An instance of a typed DbExpressionVisitor that produces a result value of type TResultType. + + The type of the result produced by + + + + is null + + + An instance of . + + + + Represents a single row insert operation expressed as a command tree. This class cannot be inherited. + + Represents a single row insert operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar value indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + The list of insert set clauses that define the insert operation. . + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of insert set clauses that define the insert operation. + The list of insert set clauses that define the insert operation. + + + + Gets an that specifies a projection of results to be returned based on the modified rows. + + + An that specifies a projection of results to be returned based on the modified rows. null indicates that no results should be returned from this command. + + + + Gets the command tree kind. + The command tree kind. + + + Represents the set intersection operation between the left and right operands. This class cannot be inherited. + + DbIntersectExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an empty set determination applied to a single set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents null determination applied to a single argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the type comparison of a single argument against the specified type. This class cannot be inherited. + + + Gets the type metadata that the type metadata of the argument should be compared to. + The type metadata that the type metadata of the argument should be compared to. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + + + + Gets the that provides the left input. + + + The that provides the left input. + + + + + Gets the that provides the right input. + + + The that provides the right input. + + + + Gets the join condition to apply. + The join condition to apply. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a Lambda function that can be invoked to produce a + + . + + + + Gets the body of the lambda expression. + + A that represents the body of the lambda function. + + + + Gets the parameters of the lambda expression. + The list of lambda function parameters represented as DbVariableReferenceExpression objects. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null + + + + contains more than one element with the same variable name. + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null. + + + + contains more than one element with the same variable name. + + + + + Creates a new with a single argument of the specified type, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and single formal parameter. + + A that defines the EDM type of the argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A that defines the EDM type of the sixteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Allows the application of a lambda function to arguments represented by + + objects. + + + + + Gets the representing the Lambda function applied by this expression. + + + The representing the Lambda function applied by this expression. + + + + + Gets a list that provides the arguments to which the Lambda function should be applied. + + + The list. + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of . + + visitor is null + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + The type of the result produced by the expression visitor. + + An instance of a typed that produces a result value of type TResultType. + + The type of the result produced by visitor + visitor is null + + + Represents a string comparison against the specified pattern with an optional escape string. This class cannot be inherited. + + + Gets an expression that specifies the string to compare against the given pattern. + An expression that specifies the string to compare against the given pattern. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that specifies the pattern against which the given string should be compared. + An expression that specifies the pattern against which the given string should be compared. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that provides an optional escape string to use for the comparison. + An expression that provides an optional escape string to use for the comparison. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the restriction of the number of elements in the argument collection to the specified limit value. + + + Gets an expression that specifies the input collection. + An expression that specifies the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a collection type. + + + + Gets an expression that specifies the limit on the number of elements returned from the input collection. + An expression that specifies the limit on the number of elements returned from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or is not one of + + or + + , or its result type is not equal or promotable to a 64-bit integer type. + + + + + Gets whether the limit operation will include tied results. Including tied results might produce more results than specified by the + + value. + + true if the limit operation will include tied results; otherwise, false. The default is false. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a single clause in an insert or update modification operation, see + and + + + An abstract base class allows the possibility of patterns other than + Property = Value in future versions, e.g., + update SomeTable + set ComplexTypeColumn.SomeProperty() + where Id = 2 + + + + Represents a data manipulation language (DML) operation expressed as a command tree. + + + + Gets the that specifies the target table for the data manipulation language (DML) operation. + + + The that specifies the target table for the DML operation. + + + + Represents the construction of a new instance of a given type, including set and record types. This class cannot be inherited. + + + + Gets an list that provides the property/column values or set elements for the new instance. + + + An list that provides the property/column values or set elements for the new instance. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical NOT of a single Boolean argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a typed null literal. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the retrieval of elements of the specified type from the given set argument. This class cannot be inherited. + + + Gets the metadata of the type of elements that should be retrieved from the set argument. + The metadata of the type of elements that should be retrieved from the set argument. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical OR of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a parameter declared on the command tree that contains this expression. This class cannot be inherited. + + + Gets the name of the referenced parameter. + The name of the referenced parameter. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the projection of a given input set over the specified expression. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that defines the projection. + + + The that defines the projection. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the current projection. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Provides methods and properties for retrieving an instance property. This class cannot be inherited. + + + Gets the property metadata for the property to retrieve. + The property metadata for the property to retrieve. + + + + Gets a that defines the instance from which the property should be retrieved. + + + A that defines the instance from which the property should be retrieved. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the type that defines the property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Creates a new key/value pair based on this property expression. + + A new key/value pair with the key and value derived from the + + . + + + + + Enables implicit casting to . + + The expression to be converted. + The converted value. + + + Represents a quantifier operation of the specified kind over the elements of the specified input set. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Gets the Boolean predicate that should be evaluated for each element in the input set. + The Boolean predicate that should be evaluated for each element in the input set. + The expression is null. + + The expression is not associated with the command tree for the + + ,or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a query operation expressed as a command tree. This class cannot be inherited. + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + A boolean that indicates whether + filter over projection simplification should be used. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + + + or + + is null + + + + does not represent a valid data space + + + + + Gets an that defines the logic of the query operation. + + + An that defines the logic of the query operation. + + The expression is null. + The expression is associated with a different command tree. + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a strongly typed reference to a specific instance within an entity set. This class cannot be inherited. + + + Gets the metadata for the entity set that contains the instance. + The metadata for the entity set that contains the instance. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents the retrieval of the key value of the specified Reference as a row. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the navigation of a relationship. This class cannot be inherited. + + + Gets the metadata for the relationship over which navigation occurs. + The metadata for the relationship over which navigation occurs. + + + Gets the metadata for the relationship end to navigate from. + The metadata for the relationship end to navigate from. + + + Gets the metadata for the relationship end to navigate to. + The metadata for the relationship end to navigate to. + + + + Gets an that specifies the starting point of the navigation and must be a reference to an entity instance. + + + An that specifies the instance of the source relationship end from which navigation should occur. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the + + property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a 'scan' of all elements of a given entity set. + + + + Gets the metadata for the referenced entity or relationship set. + The metadata for the referenced entity or relationship set. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Specifies the clause in a modification operation that sets the value of a property. This class cannot be inherited. + + + + Gets an that specifies the property that should be updated. + + + An that specifies the property that should be updated. + + + + + Gets an that specifies the new value with which to update the property. + + + An that specifies the new value with which to update the property. + + + + + Skips a specified number of elements in the input set. + + can only be used after the input collection has been sorted as specified by the sort keys. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Gets an expression that specifies the number of elements to skip from the input collection. + An expression that specifies the number of elements to skip from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + ; the expression is not either a + + or a + + ; or the result type of the expression is not equal or promotable to a 64-bit integer type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a sort key that can be used as part of the sort order in a + + . This class cannot be inherited. + + + + Gets a Boolean value indicating whether or not this sort key uses an ascending sort order. + true if this sort key uses an ascending sort order; otherwise, false. + + + Gets a string value that specifies the collation for this sort key. + A string value that specifies the collation for this sort key. + + + + Gets the that provides the value for this sort key. + + + The that provides the value for this sort key. + + + + Represents a sort operation applied to the elements of the specified input set based on the given sort keys. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by + visitor + + + visitor + is null. + + + Represents a type conversion operation applied to a polymorphic argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept a single expression argument. + + + + Gets the that defines the argument. + + + The that defines the argument. + + The expression is null. + + The expression is not associated with the command tree of a + + , or its result type is not equal or promotable to the required type for the argument. + + + + + Represents the set union (without duplicate removal) operation between the left and right operands. + + + DbUnionAllExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a single-row update operation expressed as a command tree. This class cannot be inherited. + + Represents a single-row update operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be updated. + The list of update set clauses that define the update operation. + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of update set clauses that define the update operation. + The list of update set clauses that define the update operation. + + + + Gets an that specifies a projection of results to be returned, based on the modified rows. + + + An that specifies a projection of results to be returned based, on the modified rows. null indicates that no results should be returned from this command. + + + + + Gets an that specifies the predicate used to determine which members of the target collection should be updated. + + + An that specifies the predicate used to determine which members of the target collection should be updated. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a reference to a variable that is currently in scope. This class cannot be inherited. + + + Gets the name of the referenced variable. + The name of the referenced variable. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Visits each element of an expression tree from a given root expression. If any element changes, the tree is rebuilt back to the root and the new root expression is returned; otherwise the original root expression is returned. + + + + Initializes a new instance of the + + class. + + + + Replaces an old expression with a new one for the expression visitor. + The old expression. + The new expression. + + + Represents an event when the variable is rebound for the expression visitor. + The location of the variable. + The reference of the variable where it is rebounded. + + + Represents an event when entering the scope for the expression visitor with specified scope variables. + The collection of scope variables. + + + Exits the scope for the expression visitor. + + + Implements the visitor pattern for the expression. + The implemented visitor pattern. + The expression. + + + Implements the visitor pattern for the expression list. + The implemented visitor pattern. + The expression list. + + + Implements the visitor pattern for expression binding. + The implemented visitor pattern. + The expression binding. + + + Implements the visitor pattern for the expression binding list. + The implemented visitor pattern. + The expression binding list. + + + Implements the visitor pattern for the group expression binding. + The implemented visitor pattern. + The binding. + + + Implements the visitor pattern for the sort clause. + The implemented visitor pattern. + The sort clause. + + + Implements the visitor pattern for the sort order. + The implemented visitor pattern. + The sort order. + + + Implements the visitor pattern for the aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the function aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the group aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the Lambda function. + The implemented visitor pattern. + The lambda function. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the basic functionality required by expression types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the different kinds of constants. + The implemented visitor. + The constant expression. + + + Implements the visitor pattern for a reference to a typed null literal. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a variable that is currently in scope. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a parameter declared on the command tree that contains this expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for an invocation of a function. + The implemented visitor. + The function expression. + + + Implements the visitor pattern for the application of a lambda function to arguments represented by DbExpression objects. + The implemented visitor. + The expression. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the comparison operation applied to two arguments. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for a string comparison against the specified pattern with an optional escape string. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the restriction of the number of elements in the argument collection to the specified limit value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the null determination applied to a single argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the arithmetic operation applied to numeric arguments. + The implemented visitor. + The arithmetic expression. + + + Implements the visitor pattern for the logical AND expression. + The implemented visitor. + The logical AND expression. + + + Implements the visitor pattern for the logical OR of two Boolean arguments. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the DbInExpression. + The implemented visitor. + The DbInExpression that is being visited. + + + Implements the visitor pattern for the logical NOT of a single Boolean argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the removed duplicate elements from the specified set argument. + The implemented visitor. + The distinct expression. + + + Implements the visitor pattern for the conversion of the specified set argument to a singleton the conversion of the specified set argument to a singleton. + The implemented visitor. + The element expression. + + + Implements the visitor pattern for an empty set determination applied to a single set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set union operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set intersection operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set subtraction operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a type conversion operation applied to a polymorphic argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type comparison of a single argument against the specified type. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type conversion of a single argument to the specified type. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for the When, Then, and Else clauses. + The implemented visitor. + The case expression. + + + Implements the visitor pattern for the retrieval of elements of the specified type from the given set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the construction of a new instance of a given type, including set and record types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a strongly typed reference to a specific instance within an entity set. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the navigation of a relationship. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that retrieves an entity based on the specified reference. + The implemented visitor. + The DEREF expression. + + + Implements the visitor pattern for the retrieval of the key value from the underlying reference value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that extracts a reference from the underlying entity instance. + The implemented visitor. + The entity reference expression. + + + Implements the visitor pattern for a scan over an entity set or relationship set, as indicated by the Target property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a predicate applied to filter an input set. + The implemented visitor. + The filter expression. + + + Implements the visitor pattern for the projection of a given input set over the specified expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the unconditional join operation between the given collection arguments. + The implemented visitor. + The join expression. + + + Implements the visitor pattern for an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the invocation of the specified function for each element in the specified input set. + The implemented visitor. + The APPLY expression. + + + Implements the visitor pattern for a group by operation. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the skip expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a sort key that can be used as part of the sort order. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a quantifier operation of the specified kind over the elements of the specified input set. + The implemented visitor. + The expression. + + + + Provides an API to construct s and allows that API to be accessed as extension methods on the expression type itself. + + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + + Creates a new that uses a generated variable name to bind the given expression. + + A new expression binding with the specified expression and a generated variable name. + The expression to bind. + input is null. + input does not have a collection result. + + + + Creates a new that uses the specified variable name to bind the given expression + + A new expression binding with the specified expression and variable name. + The expression to bind. + The variable name that should be used for the binding. + input or varName is null. + input does not have a collection result. + + + Creates a new group expression binding that uses generated variable and group variable names to bind the given expression. + A new group expression binding with the specified expression and a generated variable name and group variable name. + The expression to bind. + input is null. + input does not have a collection result type. + + + + Creates a new that uses the specified variable name and group variable names to bind the given expression. + + A new group expression binding with the specified expression, variable name and group variable name. + The expression to bind. + The variable name that should be used for the binding. + The variable name that should be used to refer to the group when the new group expression binding is used in a group-by expression. + input, varName or groupVarName is null. + input does not have a collection result type. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The arguments over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new over the specified argument + + The argument over which to perform the nest operation + A new group aggregate representing the elements of the group referenced by the given argument. + + + is null + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a new with an ascending sort order and default collation. + + A new sort clause with the given sort key and ascending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and default collation. + + A new sort clause with the given sort key and descending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with an ascending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and ascending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and descending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that unconditionally joins the sets specified by the list of input expression bindings. + + + A new DbCrossJoinExpression, with an of CrossJoin, that represents the unconditional join of the input sets. + + A list of expression bindings that specifies the input sets. + inputs is null or contains null element. + inputs contains fewer than 2 expression bindings. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbFilterExpression that produces the filtered set. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that groups the elements of the input set according to the specified group keys and applies the given aggregates. + + A new DbGroupByExpression with the specified input set, grouping keys and aggregates. + + A that specifies the input set. + + A list of string-expression pairs that define the grouping columns. + A list of expressions that specify aggregates to apply. + input, keys or aggregates is null, keys contains a null column key or expression, or aggregates contains a null aggregate column name or aggregate. + Both keys and aggregates are empty, or an invalid or duplicate column name was specified. + + + + Creates a new that projects the specified expression over the given input set. + + A new DbProjectExpression that represents the projection operation. + An expression binding that specifies the input set. + An expression to project over the set. + input or projection is null. + + + + Creates a new that sorts the given input set by the given sort specifications before skipping the specified number of elements. + + A new DbSkipExpression that represents the skip operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + An expression the specifies how many elements of the ordered set to skip. + input, sortOrder or count is null, or sortOrder contains null. + + sortOrder is empty, or count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that sorts the given input set by the specified sort specifications. + + A new DbSortExpression that represents the sort operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + input or sortOrder is null, or sortOrder contains null. + sortOrder is empty. + + + + Creates a new , which represents a typed null value. + + An instance of DbNullExpression. + The type of the null value. + nullType is null. + + + + Gets a with the Boolean value true. + + + A with the Boolean value true. + + + + + Gets a with the Boolean value false. + + + A with the Boolean value false. + + + + + Creates a new with the given constant value. + + A new DbConstantExpression with the given value. + The constant value to represent. + value is null. + value is not an instance of a valid constant type. + + + + Creates a new of the specified primitive type with the given constant value. + + A new DbConstantExpression with the given value and a result type of constantType. + The type of the constant value. + The constant value to represent. + value or constantType is null. + value is not an instance of a valid constant type, constantType does not represent a primitive type, or value is of a different primitive type than that represented by constantType. + + + + Creates a new that references a parameter with the specified name and type. + + A DbParameterReferenceExpression that represents a reference to a parameter with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced parameter. + The name of the referenced parameter. + + + + Creates a new that references a variable with the specified name and type. + + A DbVariableReferenceExpression that represents a reference to a variable with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced variable. + The name of the referenced variable. + + + + Creates a new that references the specified entity or relationship set. + + A new DbScanExpression based on the specified entity or relationship set. + Metadata for the entity or relationship set to reference. + targetSet is null. + + + + Creates an that performs the logical And of the left and right arguments. + + A new DbAndExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left and right does not have a Boolean result type. + + + + Creates an that performs the logical Or of the left and right arguments. + + A new DbOrExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left or right does not have a Boolean result type. + + + + Creates a that matches the result of the specified + expression with the results of the constant expressions in the specified list. + + A DbExpression to be matched. + A list of DbConstantExpression to test for a match. + + A new DbInExpression with the specified arguments. + + + + or + + is null. + + + The result type of + + is different than the result type of an expression from + . + + + + + Creates a that performs the logical negation of the given argument. + + A new DbNotExpression with the specified argument. + A Boolean expression that specifies the argument. + argument is null. + argument does not have a Boolean result type. + + + + Creates a new that divides the left argument by the right argument. + + A new DbArithmeticExpression representing the division operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left or right. + + + + Creates a new that subtracts the right argument from the left argument. + + A new DbArithmeticExpression representing the subtraction operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that computes the remainder of the left argument divided by the right argument. + + A new DbArithmeticExpression representing the modulo operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that multiplies the left argument by the right argument. + + A new DbArithmeticExpression representing the multiplication operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that adds the left argument to the right argument. + + A new DbArithmeticExpression representing the addition operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that compares the left and right arguments for equality. + + A new DbComparisonExpression representing the equality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that compares the left and right arguments for inequality. + + A new DbComparisonExpression representing the inequality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than the right argument. + + A new DbComparisonExpression representing the greater-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than the right argument. + + A new DbComparisonExpression representing the less-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than or equal to the right argument. + + A new DbComparisonExpression representing the greater-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than or equal to the right argument. + + A new DbComparisonExpression representing the less-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common result type that is both equality- and order-comparable exists between left and right. + + + + Creates a new that determines whether the specified argument is null. + + A new DbIsNullExpression with the specified argument. + An expression that specifies the argument. + argument is null. + argument has a collection result type. + + + + Creates a new that compares the specified input string to the given pattern. + + A new DbLikeExpression with the specified input, pattern and a null escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + Argument or pattern is null. + Argument or pattern does not have a string result type. + + + + Creates a new that compares the specified input string to the given pattern using the optional escape. + + A new DbLikeExpression with the specified input, pattern and escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + An optional expression that specifies the escape string. + argument, pattern or escape is null. + argument, pattern or escape does not have a string result type. + + + + Creates a new that applies a cast operation to a polymorphic argument. + + A new DbCastExpression with the specified argument and target type. + The argument to which the cast should be applied. + Type metadata that specifies the type to cast to. + Argument or toType is null. + The specified cast is not valid. + + + + Creates a new . + + A new DbTreatExpression with the specified argument and type. + An expression that specifies the instance. + Type metadata for the treat-as type. + argument or treatType is null. + treatType is not in the same type hierarchy as the result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + A that specifies the input set. + + Type metadata for the type that elements of the input set must have to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of exactly the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + An that specifies the input set. + + Type metadata for the type that elements of the input set must match exactly to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that determines whether the given argument is of the specified type or a subtype. + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOf. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new expression that determines whether the given argument is of the specified type, and only that type (not a subtype). + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOfOnly. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new that retrieves a specific Entity given a reference expression. + + A new DbDerefExpression that retrieves the specified Entity. + + An that provides the reference. This expression must have a reference Type. + + argument is null. + argument does not have a reference result type. + + + + Creates a new that retrieves the ref of the specified entity in structural form. + + A new DbEntityRefExpression that retrieves a reference to the specified entity. + The expression that provides the entity. This expression must have an entity result type. + argument is null. + argument does not have an entity result type. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + entitySet or keyRow is null. + keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + The type of the Entity that the reference should refer to. + entitySet, keyRow or entityType is null. + entityType is not in the same type hierarchy as the entity set's entity type, or keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that retrieves the key values of the specified reference in structural form. + + A new DbRefKeyExpression that retrieves the key values of the specified reference. + The expression that provides the reference. This expression must have a reference Type with an Entity element type. + argument is null. + argument does not have a reference result type. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + An expression that specifies the instance from which navigation should occur. + Metadata for the property that represents the end of the relationship from which navigation should occur. + Metadata for the property that represents the end of the relationship to which navigation should occur. + fromEnd, toEnd or navigateFrom is null. + fromEnd and toEnd are not declared by the same relationship type, or navigateFrom has a result type that is not compatible with the property type of fromEnd. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + Metadata for the relation type that represents the relationship. + The name of the property of the relation type that represents the end of the relationship from which navigation should occur. + The name of the property of the relation type that represents the end of the relationship to which navigation should occur. + An expression the specifies the instance from which navigation should occur. + type, fromEndName, toEndName or navigateFrom is null. + type is not associated with this command tree's metadata workspace or navigateFrom is associated with a different command tree, or type does not declare a relation end property with name toEndName or fromEndName, or navigateFrom has a result type that is not compatible with the property type of the relation end property with name fromEndName. + + + + Creates a new that removes duplicates from the given set argument. + + A new DbDistinctExpression that represents the distinct operation applied to the specified set argument. + An expression that defines the set over which to perform the distinct operation. + argument is null. + argument does not have a collection result type. + + + + Creates a new that converts a set into a singleton. + + A DbElementExpression that represents the conversion of the set argument to a singleton. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is an empty set. + + A new DbIsEmptyExpression with the specified argument. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that computes the subtraction of the right set argument from the left set argument. + + A new DbExceptExpression that represents the difference of the left argument from the right argument. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left and right. + + + + Creates a new that computes the intersection of the left and right set arguments. + + A new DbIntersectExpression that represents the intersection of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left or right. + + + + Creates a new that computes the union of the left and right set arguments and does not remove duplicates. + + A new DbUnionAllExpression that union, including duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, or count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new . + + A new DbCaseExpression with the specified cases and default result. + A list of expressions that provide the conditional for of each case. + A list of expressions that provide the result of each case. + An expression that defines the result when no case is matched. + whenExpressions or thenExpressions is null or contains null, or elseExpression is null. + whenExpressions or thenExpressions is empty or whenExpressions contains an expression with a non-Boolean result type, or no common result type exists for all expressions in thenExpressions and elseExpression. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + A list of expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + Expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new Expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + A list of expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + Expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null.. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs an empty collection of the specified collection type. + + A new DbNewInstanceExpression with the specified collection type and an empty Arguments list. + The type metadata for the collection to create + collectionType is null. + collectionType is not a collection type. + + + + Creates a new that produces a row with the specified named columns and the given values, specified as expressions. + + A new DbNewInstanceExpression that represents the construction of the row. + A list of string-DbExpression key-value pairs that defines the structure and values of the row. + columnValues is null or contains an element with a null column name or expression. + columnValues is empty, or contains a duplicate or invalid column name. + + + + Creates a new representing the retrieval of the specified property. + + A new DbPropertyExpression representing the property retrieval. + The instance from which to retrieve the property. May be null if the property is static. + Metadata for the property to retrieve. + propertyMetadata is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the specified navigation property. + + A new DbPropertyExpression representing the navigation property retrieval. + The instance from which to retrieve the navigation property. + Metadata for the navigation property to retrieve. + navigationProperty or instance is null. + + + + Creates a new representing the retrieval of the specified relationship end member. + + A new DbPropertyExpression representing the relationship end member retrieval. + The instance from which to retrieve the relationship end member. + Metadata for the relationship end member to retrieve. + relationshipEnd is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the instance property with the specified name from the given instance. + + A new DbPropertyExpression that represents the property retrieval. + The instance from which to retrieve the property. + The name of the property to retrieve. + propertyName is null or instance is null and the property is not static. + No property with the specified name is declared by the type of instance. + + + + Creates a new representing setting a property to a value. + + The property to be set. + The value to set the property to. + The newly created set clause. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression that specifies the input set. + A method representing a predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by Predicate does not have a Boolean result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + source is null. + source does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + Source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the outer and inner expressions, on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + outer, inner, outerKey or innerKey is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The expressions produced by outerKey and innerKey are not comparable for equality. + + + + Creates a new that projects the specified selector over the sets specified by the outer and inner expressions, joined on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbProjectExpression with the specified selector as its projection, and a new DbJoinExpression as its input. The input DbJoinExpression is created with an + + of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + + A method that specifies how an element of the result set should be derived from elements of the inner and outer sets. This method must produce an instance of a type that is compatible with Join and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The type of the selector . + outer, inner, outerKey, innerKey or selector is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The result of selector is null after conversion to DbExpression. + The expressions produced by outerKey and innerKey is not comparable for equality. + The result of Selector is not compatible with SelectMany. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that selects the specified expression over the given input set. + + A new DbProjectExpression that represents the select operation. + An expression that specifies the input set. + + A method that specifies how to derive the projected expression given a member of the input set. This method must produce an instance of a type that is compatible with Select and can be resolved into a + + . Compatibility requirements for TProjection are described in remarks. + + The method result type of projection. + source or projection is null. + The result of projection is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the apply column from each row, producing the overall collection of apply results. + + + An new DbProjectExpression that selects the apply column from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + source or apply is null. + The expression produced by apply is null. + source does not have a collection result type. + The expression produced by apply does not have a collection type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the specified selector over each row, producing the overall collection of results. + + + An new DbProjectExpression that selects the result of the given selector from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + + A method that specifies how an element of the result set should be derived given an element of the input and apply sets. This method must produce an instance of a type that is compatible with SelectMany and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The method result type of selector. + source, apply or selector is null. + The expression produced by apply is null. + The result of selector is null on conversion to DbExpression. + source does not have a collection result type. + The expression produced by apply does not have a collection type. does not have a collection type. + + + + Creates a new that skips the specified number of elements from the given sorted input set. + + A new DbSkipExpression that represents the skip operation. + + A that specifies the sorted input set. + + An expression the specifies how many elements of the ordered set to skip. + argument or count is null. + + count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that computes the union of the left and right set arguments with duplicates removed. + + A new DbExpression that computes the union, without duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Provides an API to construct s that invoke canonical EDM functions, and allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'Avg' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the average value. + An expression that specifies the collection from which the average value should be computed. + + + + Creates a that invokes the canonical 'Count' function over the specified collection. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'BigCount' function over the specified collection. The result type of the expression is Edm.Int64. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'Max' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the maximum value. + An expression that specifies the collection from which the maximum value should be retrieved + + + + Creates a that invokes the canonical 'Min' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the minimum value. + An expression that specifies the collection from which the minimum value should be retrieved. + + + + Creates a that invokes the canonical 'Sum' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the sum. + An expression that specifies the collection from which the sum should be computed. + + + + Creates a that invokes the canonical 'StDev' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value over non-null members of the collection. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'StDevP' function over the population of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'Var' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value for the non-null members of the collection. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'VarP' function over the population of the specified collection. The result type of the expression Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'Concat' function with the specified arguments, which must each have a string result type. The result type of the expression is string. + + A new DbFunctionExpression that produces the concatenated string. + An expression that specifies the string that should appear first in the concatenated result string. + An expression that specifies the string that should appear second in the concatenated result string. + + + + Creates a that invokes the canonical 'Contains' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not searchedForString occurs within searchedString. + An expression that specifies the string to search for any occurrence of searchedForString. + An expression that specifies the string to search for in searchedString. + + + + Creates a that invokes the canonical 'EndsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument ends with suffix. + An expression that specifies the string that is searched at the end for string suffix. + An expression that specifies the target string that is searched for at the end of stringArgument. + + + + Creates a that invokes the canonical 'IndexOf' function with the specified arguments, which must each have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the first index of stringToFind in searchString. + An expression that specifies the string to search for stringToFind. + An expression that specifies the string to locate within searchString should be checked. + + + + Creates a that invokes the canonical 'Left' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the leftmost substring of length from stringArgument. + An expression that specifies the string from which to extract the leftmost substring. + An expression that specifies the length of the leftmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'Length' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the length of stringArgument. + An expression that specifies the string for which the length should be computed. + + + + Creates a that invokes the canonical 'Replace' function with the specified arguments, which must each have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression than returns a new string based on stringArgument where every occurrence of toReplace is replaced by replacement. + An expression that specifies the string in which to perform the replacement operation. + An expression that specifies the string that is replaced. + An expression that specifies the replacement string. + + + + Creates a that invokes the canonical 'Reverse' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that produces the reversed value of stringArgument. + An expression that specifies the string to reverse. + + + + Creates a that invokes the canonical 'Right' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the rightmost substring of length from stringArgument. + An expression that specifies the string from which to extract the rightmost substring. + An expression that specifies the length of the rightmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'StartsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument starts with prefix. + An expression that specifies the string that is searched at the start for string prefix. + An expression that specifies the target string that is searched for at the start of stringArgument. + + + + Creates a that invokes the canonical 'Substring' function with the specified arguments, which must have a string and integer numeric result types. The result type of the expression is string. + + A new DbFunctionExpression that returns the substring of length from stringArgument starting at start. + An expression that specifies the string from which to extract the substring. + An expression that specifies the starting index from which the substring should be taken. + An expression that specifies the length of the substring. + + + + Creates a that invokes the canonical 'ToLower' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to lower case. + An expression that specifies the string that should be converted to lower case. + + + + Creates a that invokes the canonical 'ToUpper' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to upper case. + An expression that specifies the string that should be converted to upper case. + + + + Creates a that invokes the canonical 'Trim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading and trailing space removed. + An expression that specifies the string from which leading and trailing space should be removed. + + + + Creates a that invokes the canonical 'RTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with trailing space removed. + An expression that specifies the string from which trailing space should be removed. + + + + Creates a that invokes the canonical 'LTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading space removed. + An expression that specifies the string from which leading space should be removed. + + + + Creates a that invokes the canonical 'Year' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer year value from dateValue. + An expression that specifies the value from which the year should be retrieved. + + + + Creates a that invokes the canonical 'Month' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer month value from dateValue. + An expression that specifies the value from which the month should be retrieved. + + + + Creates a that invokes the canonical 'Day' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day value from dateValue. + An expression that specifies the value from which the day should be retrieved. + + + + Creates a that invokes the canonical 'DayOfYear' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day of year value from dateValue. + An expression that specifies the value from which the day within the year should be retrieved. + + + + Creates a that invokes the canonical 'Hour' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer hour value from timeValue. + An expression that specifies the value from which the hour should be retrieved. + + + + Creates a that invokes the canonical 'Minute' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer minute value from timeValue. + An expression that specifies the value from which the minute should be retrieved. + + + + Creates a that invokes the canonical 'Second' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer second value from timeValue. + An expression that specifies the value from which the second should be retrieved. + + + + Creates a that invokes the canonical 'Millisecond' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer millisecond value from timeValue. + An expression that specifies the value from which the millisecond should be retrieved. + + + + Creates a that invokes the canonical 'GetTotalOffsetMinutes' function with the specified argument, which must have a DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes dateTimeOffsetArgument is offset from GMT. + An expression that specifies the DateTimeOffset value from which the minute offset from GMT should be retrieved. + + + + Creates a that gets local DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to DATETIME2, discarding offset part + An expression that specifies the DateTimeOffset value. + + + + Creates a that gets UTC DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to Utc DATETIME2 + An expression that specifies the DateTimeOffset value. + + + + Creates a that invokes the canonical 'CurrentDateTime' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'CurrentDateTimeOffset' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CurrentUtcDateTime' function. + + A new DbFunctionExpression that returns the current UTC date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'TruncateTime' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that returns the value of dateValue with time set to zero. + An expression that specifies the value for which the time portion should be truncated. + + + + Creates a that invokes the canonical 'CreateDateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTime. + + A new DbFunctionExpression that returns a new DateTime based on the specified values. + An expression that provides the year value for the new DateTime instance. + An expression that provides the month value for the new DateTime instance. + An expression that provides the day value for the new DateTime instance. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'CreateDateTimeOffset' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTimeOffset. + + A new DbFunctionExpression that returns a new DateTimeOffset based on the specified values. + An expression that provides the year value for the new DateTimeOffset instance. + An expression that provides the month value for the new DateTimeOffset instance. + An expression that provides the day value for the new DateTimeOffset instance. + An expression that provides the hour value for the new DateTimeOffset instance. + An expression that provides the minute value for the new DateTimeOffset instance. + An expression that provides the second value for the new DateTimeOffset instance. + An expression that provides the number of minutes in the time zone offset value for the new DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CreateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.Time. + + A new DbFunctionExpression that returns a new Time based on the specified values. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'AddYears' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of years specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of years to add to dateValue. + + + + Creates a that invokes the canonical 'AddMonths' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of months specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of months to add to dateValue. + + + + Creates a that invokes the canonical 'AddDays' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of days specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of days to add to dateValue. + + + + Creates a that invokes the canonical 'AddHours' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of hours specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of hours to add to timeValue. + + + + Creates a that invokes the canonical 'AddMinutes' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of minutes specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of minutes to add to timeValue. + + + + Creates a that invokes the canonical 'AddSeconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of seconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of seconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMilliseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of milliseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of milliseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMicroseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of microseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of microseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddNanoseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of nanoseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of nanoseconds to add to timeValue. + + + + Creates a that invokes the canonical 'DiffYears' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of years that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffMonths' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of months that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffDays' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of days that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffHours' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of hours that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMinutes' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffSeconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of seconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMilliseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of milliseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMicroseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of microseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffNanoseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of nanoseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'Round' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value. + An expression that specifies the numeric value to round. + + + + Creates a that invokes the canonical 'Round' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to round. + An expression that specifies the number of digits of precision to use when rounding. + + + + Creates a that invokes the canonical 'Floor' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the largest integer value not greater than value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Ceiling' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the smallest integer value not less than the value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Abs' function with the specified argument, which must each have a numeric result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the absolute value of value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Truncate' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that truncates the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to truncate. + An expression that specifies the number of digits of precision to use when truncating. + + + + Creates a that invokes the canonical 'Power' function with the specified arguments, which must have numeric result types. The result type of the expression is the same as the result type of baseArgument. + + A new DbFunctionExpression that returns the value of baseArgument raised to the power specified by exponent. + An expression that specifies the numeric value to raise to the given power. + An expression that specifies the power to which baseArgument should be raised. + + + + Creates a that invokes the canonical 'BitwiseAnd' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise AND of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseOr' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise OR of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseNot' function with the specified argument, which must have an integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise NOT of value. + An expression that specifies the first operand. + + + + Creates a that invokes the canonical 'BitwiseXor' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise XOR (exclusive OR) of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'NewGuid' function. + + A new DbFunctionExpression that returns a new GUID value. + + + + Provides an API to construct s that invoke hierarchyid realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'HierarchyIdParse' function with the + specified argument, which must have a string result type. + The result type of the expression is Edm.HierarchyId. + + An expression that provides the canonical representation of the hierarchyid value. + A new DbFunctionExpression that returns a new hierarchyid value based on the specified value. + + + is null. + + + No overload of the canonical 'HierarchyIdParse' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'HierarchyIdGetRoot' function. + The result type of the expression is Edm.HierarchyId. + + A new DbFunctionExpression that returns a new root hierarchyid value. + + + + Creates a that invokes the canonical 'GetAncestor' function with the + specified argument, which must have an Int32 result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides an integer value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + is null. + + + No overload of the canonical 'GetAncestor' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetDescendant' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetDescendant' function accept an argument with the result type of + + and + + . + + + + + Creates a that invokes the canonical 'GetLevel' function. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + A new DbFunctionExpression that returns the level of the given hierarchyid. + + + is null. + + + + + Creates a that invokes the canonical 'IsDescendantOf' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns an integer value. + + + or + + is null. + + + No overload of the canonical 'IsDescendantOf' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetReparentedValue' function with the + specified arguments, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetReparentedValue' function accept an argument with the result type of + + and + + . + + + + + Provides a constructor-like means of calling + + . + + + + + Initializes a new instance of the class with the specified first column value and optional successive column values. + + A key-value pair that provides the first column in the new row instance. (required) + A key-value pairs that provide any subsequent columns in the new row instance. (optional) + + + + Creates a new that constructs a new row based on the columns contained in this Row instance. + + A new DbNewInstanceExpression that constructs a row with the same column names and DbExpression values as this Row instance. + + + + Converts the given Row instance into an instance of + + The Row instance. + A DbExpression based on the Row instance + + + is null. + + + + + + Provides an API to construct s that invoke spatial realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geometry value based on the specified value. + An expression that provides the well known text representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known text representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromText' function with the specified arguments. pointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known text representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known text representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known text representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known text representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known text representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromText' function with the specified arguments. geometryCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known text representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified binary value. + An expression that provides the well known binary representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known binary representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known binary representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known binary representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromBinary' function with the specified arguments. geometryCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known binary representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified arguments. geometryMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geography value based on the specified value. + An expression that provides the well known text representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known text representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromText' function with the specified arguments. + + The canonical 'GeographyPointFromText' function. + An expression that provides the well-known text representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownTextValue. + + + + Creates a that invokes the canonical 'GeographyLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known text representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known text representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known text representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known text representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromText' function with the specified arguments. geographyCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known text representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified binary value. + An expression that provides the well known binary representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known binary representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography point value based on the specified values. + An expression that provides the well known binary representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownBinaryValue. + + + + Creates a that invokes the canonical 'GeographyLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known binary representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known binary representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known binary representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known binary representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromBinary' function with the specified arguments. geographyCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known binary representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified arguments. geographyMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'CoordinateSystemId' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer SRID value from spatialValue. + An expression that specifies the value from which the coordinate system id (SRID) should be retrieved. + + + + Creates a that invokes the canonical 'SpatialTypeName' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the string Geometry Type name from spatialValue. + An expression that specifies the value from which the Geometry Type name should be retrieved. + + + + Creates a that invokes the canonical 'SpatialDimension' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the Dimension value from spatialValue. + An expression that specifies the value from which the Dimension value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialEnvelope' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the minimum bounding box for geometryValue. + An expression that specifies the value from which the Envelope value should be retrieved. + + + + Creates a that invokes the canonical 'AsBinary' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Binary. + + A new DbFunctionExpression that returns the well known binary representation of spatialValue. + An expression that specifies the spatial value from which the well known binary representation should be produced. + + + + Creates a that invokes the canonical 'AsGml' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the Geography Markup Language (GML) representation of spatialValue. + An expression that specifies the spatial value from which the Geography Markup Language (GML) representation should be produced. + + + + Creates a that invokes the canonical 'AsText' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the well known text representation of spatialValue. + An expression that specifies the spatial value from which the well known text representation should be produced. + + + + Creates a that invokes the canonical 'IsEmptySpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue is empty. + An expression that specifies the spatial value from which the IsEmptySpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsSimpleGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is a simple geometry. + The geometry value. + + + + Creates a that invokes the canonical 'SpatialBoundary' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the boundary for geometryValue. + An expression that specifies the geometry value from which the SpatialBoundary value should be retrieved. + + + + Creates a that invokes the canonical 'IsValidGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is valid. + An expression that specifies the geometry value which should be tested for spatial validity. + + + + Creates a that invokes the canonical 'SpatialEquals' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are equal. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for equality. + + + + Creates a that invokes the canonical 'SpatialDisjoint' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are spatially disjoint. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for disjointness. + + + + Creates a that invokes the canonical 'SpatialIntersects' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 intersect. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for intersection. + + + + Creates a that invokes the canonical 'SpatialTouches' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 touches geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialCrosses' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 crosses geometryValue2 intersect. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialWithin' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially within geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialContains' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially contains geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialOverlaps' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially overlaps geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialRelate' function with the specified arguments, which must have Edm.Geometry and string result types. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially related to geometryValue2 according to the spatial relationship designated by intersectionPatternMatrix. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + An expression that specifies the text representation of the Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern used to compare geometryValue1 and geometryValue2. + + + + Creates a that invokes the canonical 'SpatialBuffer' function with the specified arguments, which must have a Edm.Geography or Edm.Geometry and Edm.Double result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a geometry value representing all points less than or equal to distance from spatialValue. + An expression that specifies the spatial value. + An expression that specifies the buffer distance. + + + + Creates a that invokes the canonical 'Distance' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns the distance between the closest points in spatialValue1 and spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value from which the distance from spatialValue1 should be measured. + + + + Creates a that invokes the canonical 'SpatialConvexHull' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the convex hull for geometryValue. + An expression that specifies the geometry value from which the convex hull value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialIntersection' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the intersection of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the intersection with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialUnion' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the union of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the union with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialSymmetricDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the symmetric difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the symmetric difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialElementCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of elements in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value from which the number of elements should be retrieved. + + + + Creates a that invokes the canonical 'SpatialElementAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the collection element at position indexValue in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value. + An expression that specifies the position of the element to be retrieved from within the geometry or geography collection. + + + + Creates a that invokes the canonical 'XCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the X co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the X co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'YCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Y co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the Y co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Elevation' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the elevation value of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the elevation (Z co-ordinate) value should be retrieved. + + + + Creates a that invokes the canonical 'Measure' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Measure of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the Measure (M) co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Latitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Latitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Latitude value should be retrieved. + + + + Creates a that invokes the canonical 'Longitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Longitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Longitude value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialLength' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the length of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the length should be retrieved. + + + + Creates a that invokes the canonical 'StartPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the start point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the start point should be retrieved. + + + + Creates a that invokes the canonical 'EndPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the end point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the end point should be retrieved. + + + + Creates a that invokes the canonical 'IsClosedSpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether spatialValue is closed, or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the IsClosedSpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsRing' function with the specified argument, which must have an Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether geometryValue is a ring (both closed and simple), or null if geometryValue is not a curve. + An expression that specifies the geometry curve value from which the IsRing value should be retrieved. + + + + Creates a that invokes the canonical 'PointCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of points in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value from which the number of points should be retrieved. + + + + Creates a that invokes the canonical 'PointAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the point at position indexValue in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value. + An expression that specifies the position of the point to be retrieved from within the line string. + + + + Creates a that invokes the canonical 'Area' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the area of spatialValue or null if spatialValue is not a surface. + An expression that specifies the spatial surface value for which the area should be calculated. + + + + Creates a that invokes the canonical 'Centroid' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the centroid point of geometryValue (which may not be on the surface itself) or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the centroid should be retrieved. + + + + Creates a that invokes the canonical 'PointOnSurface' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either a point guaranteed to be on the surface geometryValue or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the point should be retrieved. + + + + Creates a that invokes the canonical 'ExteriorRing' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the exterior ring of the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingCount' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of interior rings in the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingAt' function with the specified arguments. The first argument must have an Edm.Geometry result type. The second argument must have an integer numeric result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the interior ring at position indexValue in geometryValue or null if geometryValue is not a polygon. + The geometry value. + An expression that specifies the position of the interior ring to be retrieved from within the polygon. + + + + Ensures that all metadata in a given expression tree is from the specified metadata workspace, + potentially rebinding and rebuilding the expressions to appropriate replacement metadata where necessary. + + + + Initializes a new instance of the class. + The target workspace. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + + DataRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new object for a specific type with an enumerable collection of data fields. + + + The metadata for the type represented by this object, supplied by + + . + + + An enumerable collection of objects that represent column information. + + + + + Gets for this + + object. + + + A object. + + + + + Gets type info for this object as a object. + + + A value. + + + + + A prepared command definition, can be cached and reused to avoid + repreparing a command. + + + + + Initializes a new instance of the class using the supplied + + . + + + The supplied . + + method used to clone the + + + + Initializes a new instance of the class. + + + + + Creates and returns a object that can be executed. + + The command for database. + + + + Metadata Interface for all CLR types + + + + + Value to pass to GetInformation to get the StoreSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaMapping + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaDefinitionVersion3 + + + + + Value to pass to GetInformation to get the StoreSchemaMappingVersion3 + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinitionVersion3 + + + + + Name of the MaxLength Facet + + + + + Name of the Unicode Facet + + + + + Name of the FixedLength Facet + + + + + Name of the Precision Facet + + + + + Name of the Scale Facet + + + + + Name of the Nullable Facet + + + + + Name of the DefaultValue Facet + + + + + Name of the Collation Facet + + + + + Name of the SRID Facet + + + + + Name of the IsStrict Facet + + + + Gets the namespace used by this provider manifest. + The namespace used by this provider manifest. + + + When overridden in a derived class, returns the set of primitive types supported by the data source. + The set of types supported by the data source. + + + When overridden in a derived class, returns a collection of EDM functions supported by the provider manifest. + A collection of EDM functions. + + + Returns the FacetDescription objects for a particular type. + The FacetDescription objects for the specified EDM type. + The EDM type to return the facet description for. + + + When overridden in a derived class, this method maps the specified storage type and a set of facets for that type to an EDM type. + + The instance that describes an EDM type and a set of facets for that type. + + The TypeUsage instance that describes a storage type and a set of facets for that type to be mapped to the EDM type. + + + When overridden in a derived class, this method maps the specified EDM type and a set of facets for that type to a storage type. + The TypeUsage instance that describes a storage type and a set of facets for that type. + The TypeUsage instance that describes the EDM type and a set of facets for that type to be mapped to a storage type. + + + When overridden in a derived class, this method returns provider-specific information. + The XmlReader object that represents the mapping to the underlying data store catalog. + The type of the information to return. + + + Gets the provider-specific information. + The provider-specific information. + The type of the information to return. + + + Indicates if the provider supports escaping strings to be used as patterns in a Like expression. + True if this provider supports escaping strings to be used as patterns in a Like expression; otherwise, false. + If the provider supports escaping, the character that would be used as the escape character. + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + The default is false. Providers should change this to true only after testing that schema queries (as + used in the Database First flow) work correctly with this flag. + + True only if the provider supports the parameter optimization. + + + Provider writers should override this method to return the argument with the wildcards and the escape character escaped. This method is only used if SupportsEscapingLikeArgument returns true. + The argument with the wildcards and the escape character escaped. + The argument to be escaped. + + + + Returns a boolean that specifies whether the provider can handle expression trees + containing instances of DbInExpression. + The default implementation returns false for backwards compatibility. Derived classes can override this method. + + + false + + + + + Returns a boolean that specifies whether the provider can process expression trees not having DbProjectExpression + nodes directly under both Left and Right sides of DbUnionAllExpression and DbIntersectExpression + + + false + + + + + The factory for building command definitions; use the type of this object + as the argument to the IServiceProvider.GetService method on the provider + factory; + + + + + Constructs an EF provider that will use the obtained from + the app domain Singleton for resolving EF dependencies such + as the instance to use. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object given a command tree. + + command tree for the statement + an executable command definition object + + This method simply delegates to the provider's implementation of CreateDbCommandDefinition. + + + + Creates command definition from specified manifest and command tree. + The created command definition. + The manifest. + The command tree. + + + Creates a command definition object for the specified provider manifest and command tree. + An executable command definition object. + Provider manifest previously retrieved from the store provider. + Command tree for the statement. + + + + Create the default DbCommandDefinition object based on the prototype command + This method is intended for provider writers to build a default command definition + from a command. + Note: This will clone the prototype + + the prototype command + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + DbCommand can cause deadlocks. So here allow sub-classes to override. + + the object to clone + a clone of the + + + + Clones the connection. + + The original connection. + Cloned connection + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + Returns provider manifest token given a connection. + The provider manifest token. + Connection to provider. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + Returns the provider manifest by using the specified version information. + The provider manifest by using the specified version information. + The token information associated with the provider manifest. + + + When overridden in a derived class, returns an instance of a class that derives from the DbProviderManifest. + A DbProviderManifest object that represents the provider manifest. + The token information associated with the provider manifest. + + + + Gets the that will be used to execute methods that use the specified connection. + + The database connection + + A new instance of + + + + + Gets the that will be used to execute methods that use the specified connection. + This overload should be used by the derived classes for compatability with wrapping providers. + + The database connection + The provider invariant name + + A new instance of + + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + Gets the spatial services for the . + The spatial services. + Information about the database that the spatial services will be used for. + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The token information associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + Returns providers given a connection. + + The instanced based on the specified connection. + + Connection to provider. + + + Retrieves the DbProviderFactory based on the specified DbConnection. + The retrieved DbProviderFactory. + The connection to use. + + + + Return an XML reader which represents the CSDL description + + The name of the CSDL description. + An XmlReader that represents the CSDL description + + + Generates a data definition language (DDL script that creates schema objects (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + The provider manifest token identifying the target version. + The structure of the database. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Creates a database indicated by connection and creates schema objects + (tables, primary keys, foreign keys) based on the contents of storeItemCollection. + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Creates a database indicated by connection and creates schema objects (tables, primary keys, foreign keys) based on the contents of a StoreItemCollection. + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + Override this method to avoid creating the store item collection if it is not needed. The default implementation evaluates the Lazy and calls the other overload of this method. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + + Expands |DataDirectory| in the given path if it begins with |DataDirectory| and returns the expanded path, + or returns the given string if it does not start with |DataDirectory|. + + The path to expand. + The expanded path. + + + + Adds an that will be used to resolve additional default provider + services when a derived type is registered as an EF provider either using an entry in the application's + config file or through code-based registration in . + + The resolver to add. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + + Use this method to set, add, or change other provider-related services. Note that this method + will only be called for such services if they are not already explicitly configured in some + other way by the application. This allows providers to set default services while the + application is still able to override and explicitly configure each service if required. + See and for more details. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + An instance of the given type, or null if the service could not be resolved. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + All registered services that satisfy the given type and key, or an empty enumeration if there are none. + + + + A specialization of the ProviderManifest that accepts an XmlReader + + + + + Initializes a new instance of the class. + + + An object that provides access to the XML data in the provider manifest file. + + + + Gets the namespace name supported by this provider manifest. + The namespace name supported by this provider manifest. + + + Gets the best mapped equivalent Entity Data Model (EDM) type for a specified storage type name. + The best mapped equivalent EDM type for a specified storage type name. + + + Gets the best mapped equivalent storage primitive type for a specified storage type name. + The best mapped equivalent storage primitive type for a specified storage type name. + + + Returns the list of facet descriptions for the specified Entity Data Model (EDM) type. + + A collection of type that contains the list of facet descriptions for the specified EDM type. + + + An for which the facet descriptions are to be retrieved. + + + + Returns the list of primitive types supported by the storage provider. + + A collection of type that contains the list of primitive types supported by the storage provider. + + + + Returns the list of provider-supported functions. + + A collection of type that contains the list of provider-supported functions. + + + + + EntityRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new instance of the class of a specific entity type with an enumerable collection of data fields and with specific key and entity set information. + + + The of the entity represented by the + + described by this + + object. + + + An enumerable collection of objects that represent column information. + + The key for the entity. + The entity set to which the entity belongs. + + + + Gets the for the entity. + + The key for the entity. + + + + Public Entity SQL Parser class. + + + + Parse the specified query with the specified parameters. + + The containing + + and information describing inline function definitions if any. + + The EntitySQL query to be parsed. + The optional query parameters. + + + + Parse a specific query with a specific set variables and produce a + + . + + + The containing + + and information describing inline function definitions if any. + + The query to be parsed. + The optional query variables. + + + + Entity SQL query inline function definition, returned as a part of . + + + + Function name. + + + Function body and parameters. + + + Start position of the function definition in the eSQL query text. + + + End position of the function definition in the eSQL query text. + + + + Entity SQL Parser result information. + + + + A command tree produced during parsing. + + + + List of objects describing query inline function definitions. + + + + + FieldMetadata class providing the correlation between the column ordinals and MemberMetadata. + + + + + Initializes a new object with the specified ordinal value and field type. + + An integer specified the location of the metadata. + The field type. + + + + Gets the type of field for this object. + + + The type of field for this object. + + + + + Gets the ordinal for this object. + + An integer representing the ordinal value. + + + + Get the hierarchyid value of a column with the given ordinal + + The ordinal of the column to retrieve the value + The hierarchyid value + + + + Class representing a parameter collection used in EntityCommand + + + + + Gets an Integer that contains the number of elements in the + + . + + + The number of elements in the as an Integer. + + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true if the has a fixed size; otherwise false. + + + + + Gets a value that indicates whether the + + is read-only. + + + Returns true if the is read only; otherwise false. + + + + + Gets a value that indicates whether the + + is synchronized. + + + Returns true if the is synchronized; otherwise false. + + + + + Gets an object that can be used to synchronize access to the + + . + + + An object that can be used to synchronize access to the + + . + + + + + Adds the specified object to the . + + + The index of the new object. + + + An . + + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Removes all the objects from the + + . + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified one-dimensional + + starting at the specified destination index. + + + The one-dimensional that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the at which copying starts. + + + + + Returns an enumerator that iterates through the + + . + + + An for the + + . + + + + + + + + + + + Gets the location of the specified with the specified name. + + + The zero-based location of the specified with the specified case-sensitive name. Returns -1 when the object does not exist in the + + . + + + The case-sensitive name of the to find. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts an into the + + at the specified index. + + The zero-based index at which value should be inserted. + + An to be inserted in the + + . + + + + Removes the specified parameter from the collection. + + A object to remove from the collection. + + + + + Removes the from the + + at the specified index. + + + The zero-based index of the object to remove. + + + + + Removes the from the + + at the specified parameter name. + + + The name of the to remove. + + + + + + + + + + + Gets the at the specified index. + + + The at the specified index. + + The zero-based index of the parameter to retrieve. + The specified index does not exist. + + + + Gets the with the specified name. + + + The with the specified name. + + The name of the parameter to retrieve. + The specified name does not exist. + + + + Adds the specified object to the + + . + + + A new object. + + + The to add to the collection. + + + The specified in the value parameter is already added to this or another + + . + + + The parameter passed was not a . + + The value parameter is null. + + + + Adds a value to the end of the . + + + A object. + + The name of the parameter. + The value to be added. + + + + Adds a to the + + given the parameter name and the data type. + + + A new object. + + The name of the parameter. + + One of the values. + + + + + Adds a to the + + with the parameter name, the data type, and the column length. + + + A new object. + + The name of the parameter. + + One of the values. + + The column length. + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified + + starting at the specified destination index. + + + The that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the + + at which copying starts. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts a object into the + + at the specified index. + + The zero-based index at which value should be inserted. + + A object to be inserted in the + + . + + + + + Removes the specified from the collection. + + + A object to remove from the collection. + + + The parameter is not a . + + The parameter does not exist in the collection. + + + + Class representing a command for the conceptual layer + + + + + Initializes a new instance of the class using the specified values. + + + + + Initializes a new instance of the class with the specified statement. + + The text of the command. + + + + Constructs the EntityCommand object with the given eSQL statement and the connection object to use + + The eSQL command text to execute + The connection object + Resolver used to resolve DbProviderServices + + + + Initializes a new instance of the class with the specified statement and connection. + + The text of the command. + A connection to the data source. + + + + Initializes a new instance of the class with the specified statement, connection and transaction. + + The text of the command. + A connection to the data source. + The transaction in which the command executes. + + + + Gets or sets the used by the + + . + + The connection used by the entity command. + + + + The connection object used for executing the command + + + + Gets or sets an Entity SQL statement that specifies a command or stored procedure to execute. + The Entity SQL statement that specifies a command or stored procedure to execute. + + + Gets or sets the command tree to execute; only one of the command tree or the command text can be set, not both. + The command tree to execute. + + + Gets or sets the amount of time to wait before timing out. + The time in seconds to wait for the command to execute. + + + + Gets or sets a value that indicates how the + + property is to be interpreted. + + + One of the enumeration values. + + + + Gets the parameters of the Entity SQL statement or stored procedure. + The parameters of the Entity SQL statement or stored procedure. + + + + The collection of parameters for this command + + + + + Gets or sets the transaction within which the executes. + + + The transaction within which the executes. + + + + + The transaction that this command executes in + + + + Gets or sets how command results are applied to rows being updated. + + One of the values. + + + + Gets or sets a value that indicates whether the command object should be visible in a Windows Form Designer control. + true if the command object should be visible in a Windows Form Designer control; otherwise, false. + + + Gets or sets a value that indicates whether the query plan caching is enabled. + true if the query plan caching is enabled; otherwise, false. + + + + Cancels the execution of an . + + + + + Creates a new instance of an object. + + + A new instance of an object. + + + + + Create and return a new parameter object representing a parameter in the eSQL statement + + The parameter object. + + + Executes the command and returns a data reader. + + The that contains the results. + + + + + Compiles the into a command tree and passes it to the underlying store provider for execution, then builds an + + out of the produced result set using the specified + + . + + + The that contains the results. + + + One of the values. + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + A DbDataReader object + + + + Asynchronously executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + The token to monitor for cancellation requests + + A task that represents the asynchronous operation. + The task result contains a DbDataReader object. + + + + Executes the current command. + The number of rows affected. + + + + Asynchronously executes the command and discard any results returned from the command + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + Executes the command, and returns the first column of the first row in the result set. Additional columns or rows are ignored. + The first column of the first row in the result set, or a null reference (Nothing in Visual Basic) if the result set is empty. + + + Compiles the entity-level command and creates a prepared version of the command. + + + Compiles the entity-level command and returns the store command text. + The store command text. + + + + Class representing a connection for the conceptual layer. An entity connection may only + be initialized once (by opening the connection). It is subsequently not possible to change + the connection string, attach a new store connection, or change the store connection string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, based on the connection string. + + The provider-specific connection string. + An invalid connection string keyword has been provided, or a required connection string keyword has not been provided. + + + + Initializes a new instance of the class with a specified + and + . + + + A to be associated with this + . + + + The underlying data source connection for this object. + + The workspace or connection parameter is null. + The conceptual model is missing from the workspace.-or-The mapping file is missing from the workspace.-or-The storage model is missing from the workspace.-or-The connection is not in a closed state. + The connection is not from an ADO.NET Entity Framework-compatible provider. + + + + Constructs the EntityConnection from Metadata loaded in memory + + Workspace containing metadata information. + Store connection. + If set to true the store connection is disposed when the entity connection is disposed, otherwise the caller must dispose the store connection. + + + + Gets or sets the connection string. + + The connection string required to establish the initial connection to a data source. The default value is an empty string. On a closed connection, the currently set value is returned. If no value has been set, an empty string is returned. + + An attempt was made to set the property after the + + ’s was initialized. The + + is initialized either when the instance is constructed through the overload that takes a + + as a parameter, or when the + + instance has been opened. + + An invalid connection string keyword has been provided or a required connection string keyword has not been provided. + + + Gets the number of seconds to wait when attempting to establish a connection before ending the attempt and generating an error. + The time (in seconds) to wait for a connection to open. The default value is the underlying data provider's default time-out. + The value set is less than 0. + + + Gets the name of the current database, or the database that will be used after a connection is opened. + The value of the Database property of the underlying data provider. + The underlying data provider is not known. + + + + Gets the state of the EntityConnection, which is set up to track the state of the underlying + database connection that is wrapped by this EntityConnection. + + + + Gets the name or network address of the data source to connect to. + The name of the data source. The default value is an empty string. + The underlying data provider is not known. + + + Gets a string that contains the version of the data source to which the client is connected. + The version of the data source that is contained in the provider connection string. + The connection is closed. + + + + Gets the provider factory associated with EntityConnection + + + + + Provides access to the underlying data source connection that is used by the + + object. + + + The for the data source connection. + + + + + Returns the associated with this + + . + + + The associated with this + + . + + The inline connection string contains an invalid Metadata keyword value. + + + + Gets the current transaction that this connection is enlisted in. May be null. + + + + Establishes a connection to the data source by calling the underlying data provider's Open method. + An error occurs when you open the connection, or the name of the underlying data provider is not known. + The inline connection string contains an invalid Metadata keyword value. + + + + Asynchronously establishes a connection to the data store by calling the Open method on the underlying data provider + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a new instance of an , with the + + set to this + + . + + + An object. + + The name of the underlying data provider is not known. + + + + Create a new command object that uses this connection object + + The command object. + + + Closes the connection to the database. + An error occurred when closing the connection. + + + Not supported. + Not supported. + When the method is called. + + + Begins a transaction by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + Begins a transaction with the specified isolation level by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + The isolation level of the transaction. + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + + Begins a database transaction + + The isolation level of the transaction + An object representing the new transaction + + + + Enlists this in the specified transaction. + + The transaction object to enlist into. + + The state of the is not + + . + + + + + Cleans up this connection object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Class representing a connection string builder for the entity client provider + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the supplied connection string. + + A provider-specific connection string to the underlying data source. + + + Gets or sets the name of a section as defined in a configuration file. + The name of a section in a configuration file. + + + Gets or sets the name of the underlying .NET Framework data provider in the connection string. + The invariant name of the underlying .NET Framework data provider. + + + Gets or sets the metadata locations in the connection string. + Gets or sets the metadata locations in the connection string. + + + Gets or sets the inner, provider-specific connection string. + The inner, provider-specific connection string. + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true in every case, because the + + supplies a fixed-size collection of keyword/value pairs. + + + + + Gets an that contains the keys in the + + . + + + An that contains the keys in the + + . + + + + Gets or sets the value associated with the specified key. In C#, this property is the indexer. + The value associated with the specified key. + The key of the item to get or set. + keyword is a null reference (Nothing in Visual Basic). + Tried to add a key that does not exist in the available keys. + Invalid value in the connection string (specifically, a Boolean or numeric value was expected but not supplied). + + + + Clears the contents of the instance. + + + + + Determines whether the contains a specific key. + + + Returns true if the contains an element that has the specified key; otherwise, false. + + + The key to locate in the . + + + + + Retrieves a value corresponding to the supplied key from this + + . + + Returns true if keyword was found in the connection string; otherwise, false. + The key of the item to retrieve. + The value corresponding to keyword. + keyword contains a null value (Nothing in Visual Basic). + + + + Removes the entry with the specified key from the + + instance. + + Returns true if the key existed in the connection string and was removed; false if the key did not exist. + + The key of the keyword/value pair to be removed from the connection string in this + + . + + keyword is null (Nothing in Visual Basic) + + + + A data reader class for the entity client provider + + + + Gets a value indicating the depth of nesting for the current row. + The depth of nesting for the current row. + + + Gets the number of columns in the current row. + The number of columns in the current row. + + + + Gets a value that indicates whether this contains one or more rows. + + + true if the contains one or more rows; otherwise, false. + + + + + Gets a value indicating whether the is closed. + + + true if the is closed; otherwise, false. + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + The number of rows changed, inserted, or deleted. Returns -1 for SELECT statements; 0 if no rows were affected or the statement failed. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The name of the column. + + + + Gets the number of fields in the that are not hidden. + + The number of fields that are not hidden. + + + + Gets for this + + . + + The information of a data record. + + + + Closes the object. + + + + + Releases the resources consumed by this and calls + + . + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the value of the specified column as a Boolean. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a byte. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of bytes from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of bytes read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the value of the specified column as a single character. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of characters from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of characters read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the name of the data type of the specified column. + The name of the data type. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + + Returns a object for the requested column ordinal that can be overridden with a provider-specific implementation. + + A data reader. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a double-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the data type of the specified column. + The data type of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a single-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a globally-unique identifier (GUID). + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 16-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 32-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 64-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the name of the column, given the zero-based column ordinal. + The name of the specified column. + The zero-based column ordinal. + + + Gets the column ordinal given the name of the column. + The zero-based column ordinal. + The name of the column. + The name specified is not a valid column name. + + + Returns the provider-specific field type of the specified column. + + The object that describes the data type of the specified column. + + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Gets all provider-specific attribute columns in the collection for the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + + Returns a that describes the column metadata of the + + . + + + A that describes the column metadata. + + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Populates an array of objects with the column values of the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + Gets a value that indicates whether the column contains nonexistent or missing values. + + true if the specified column is equivalent to ; otherwise, false. + + The zero-based column ordinal. + + + Advances the reader to the next result when reading the results of a batch of statements. + true if there are more result sets; otherwise, false. + + + + Asynchronously moves the reader to the next result set when reading a batch of statements + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more result sets; false otherwise. + + + + Advances the reader to the next record in a result set. + true if there are more rows; otherwise, false. + + + + Asynchronously moves the reader to the next row of the current result set + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more rows; false otherwise. + + + + + Returns an that can be used to iterate through the rows in the data reader. + + + An that can be used to iterate through the rows in the data reader. + + + + + Returns a nested . + + The nested data record. + The number of the DbDataRecord to return. + + + + Returns nested readers as objects. + + + The nested readers as objects. + + The ordinal of the column. + + + + Class representing a parameter used in EntityCommand + + + + + Initializes a new instance of the class using the default values. + + + + + Initializes a new instance of the class using the specified parameter name and data type. + + The name of the parameter. + + One of the values. + + + + + Initializes a new instance of the class using the specified parameter name, data type and size. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + The name of the source column. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + One of the values. + + true to indicate that the parameter accepts null values; otherwise, false. + The number of digits used to represent the value. + The number of decimal places to which value is resolved. + The name of the source column. + + One of the values. + + The value of the parameter. + + + Gets or sets the name of the entity parameter. + The name of the entity parameter. + + + + Gets or sets the of the parameter. + + + One of the values. + + + + Gets or sets the type of the parameter, expressed as an EdmType. + The type of the parameter, expressed as an EdmType. + + + + Gets or sets the number of digits used to represent the + + property. + + The number of digits used to represent the value. + + + + Gets or sets the number of decimal places to which + + is resolved. + + The number of decimal places to which value is resolved. + + + Gets or sets the value of the parameter. + The value of the parameter. + + + Gets or sets the direction of the parameter. + + One of the values. + + + + Gets or sets a value that indicates whether the parameter accepts null values. + true if null values are accepted; otherwise, false. + + + Gets or sets the maximum size of the data within the column. + The maximum size of the data within the column. + + + + Gets or sets the name of the source column mapped to the and used for loading or returning the + + . + + The name of the source column mapped to the dataset and used for loading or returning the value. + + + Gets or sets a value that indicates whether source column is nullable. + true if source column is nullable; otherwise, false. + + + + Gets or sets the to use when loading the value. + + + One of the values. + + + + + Resets the type associated with the . + + + + Returns a string representation of the parameter. + A string representation of the parameter. + + + + Class representing a provider factory for the entity client provider + + + + + A singleton object for the entity client provider factory object. + This remains a public field (not property) because DbProviderFactory expects a field. + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + This method is currently not supported. + + + + Returns the requested class. + + + A new instance of . The supported types are + + , + + , and + + . Returns null (or Nothing in Visual Basic) for every other type. + + + The to return. + + + + + Class representing a transaction for the conceptual layer + + + + + Gets for this + + . + + + An to the underlying data source. + + + + + The connection object owning this transaction object + + + + + Gets the isolation level of this . + + + An enumeration value that represents the isolation level of the underlying transaction. + + + + + Gets the DbTransaction for the underlying provider transaction. + + + + Commits the underlying transaction. + + + Rolls back the underlying transaction. + + + + Cleans up this transaction object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Represents a failure while trying to prepare or execute a CommandCompilation + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a failure while trying to prepare or execute a CommandExecution + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provider exception - Used by the entity client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An identifier for an entity. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an entity set name and a generic + + collection. + + + A that is the entity set name qualified by the entity container name. + + + A generic collection.Each key/value pair has a property name as the key and the value of that property as the value. There should be one pair for each property that is part of the + + . The order of the key/value pairs is not important, but each key property should be included. The property names are simple names that are not qualified with an entity type name or the schema name. + + + + + Initializes a new instance of the class with an entity set name and an + + collection of + + objects. + + + A that is the entity set name qualified by the entity container name. + + + An collection of + + objects with which to initialize the key. + + + + + Initializes a new instance of the class with an entity set name and specific entity key pair. + + + A that is the entity set name qualified by the entity container name. + + + A that is the name of the key. + + + An that is the key value. + + + + + Gets a singleton EntityKey by which a read-only entity is identified. + + + + + Gets a singleton EntityKey identifying an entity resulted from a failed TREAT. + + + + Gets or sets the name of the entity set. + + A value that is the name of the entity set for the entity to which the + + belongs. + + + + Gets or sets the name of the entity container. + + A value that is the name of the entity container for the entity to which the + + belongs. + + + + + Gets or sets the key values associated with this . + + + A of key values for this + + . + + + + + Gets a value that indicates whether the is temporary. + + + true if the is temporary; otherwise, false. + + + + Gets the entity set for this entity key from the given metadata workspace. + + The for the entity key. + + The metadata workspace that contains the entity. + The entity set could not be located in the specified metadata workspace. + + + Returns a value that indicates whether this instance is equal to a specified object. + true if this instance and obj have equal values; otherwise, false. + + An to compare with this instance. + + + + + Returns a value that indicates whether this instance is equal to a specified + + . + + true if this instance and other have equal values; otherwise, false. + + An object to compare with this instance. + + + + + Serves as a hash function for the current object. + + is suitable for hashing algorithms and data structures such as a hash table. + + + A hash code for the current . + + + + + Compares two objects. + + true if the key1 and key2 values are equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Compares two objects. + + true if the key1 and key2 values are not equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream and provides an additional caller-defined context. + + + + Information about a key that is part of an EntityKey. + A key member contains the key name and value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified entity key pair. + + The name of the key. + The key value. + + + Gets or sets the name of the entity key. + The key name. + + + Gets or sets the value of the entity key. + The key value. + + + Returns a string representation of the entity key. + A string representation of the entity key. + + + + Represents an eSQL Query compilation exception; + The class of exceptional conditions that may cause this exception to be raised are mainly: + 1) Syntax Errors: raised during query text parsing and when a given query does not conform to eSQL formal grammar; + 2) Semantic Errors: raised when semantic rules of eSQL language are not met such as metadata or schema information + not accurate or not present, type validation errors, scoping rule violations, user of undefined variables, etc. + For more information, see eSQL Language Spec. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Gets a description of the error. + A string that describes the error. + + + Gets the approximate context where the error occurred, if available. + A string that describes the approximate context where the error occurred, if available. + + + Gets the approximate line number where the error occurred. + An integer that describes the line number where the error occurred. + + + Gets the approximate column number where the error occurred. + An integer that describes the column number where the error occurred. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + DataRecord interface supporting structured types and rich metadata information. + + + + + Gets for this + + . + + + A object. + + + + + Gets a object with the specified index. + + + A object. + + The index of the row. + + + + Returns nested readers as objects. + + + Nested readers as objects. + + The ordinal of the column. + + + + Thrown to indicate that a command tree is invalid. + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Mapping exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents the Mapping metadata for an AssociationSet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the AssociationSetMapping elements in the + above example. And it is possible to access the AssociationTypeMap underneath it. + There will be only one TypeMap under AssociationSetMap. + + + + + Initializes a new AssociationSetMapping instance. + + The association set to be mapped. + The store entity set to be mapped. + The parent container mapping. + + + + Gets the association set that is mapped. + + + + + Gets the contained association type mapping. + + + + + Gets or sets the corresponding function mapping. Can be null. + + + + + Gets the store entity set that is mapped. + + + + + Gets or sets the source end property mapping. + + + + + Gets or sets the target end property mapping. + + + + + Gets the property mapping conditions. + + + + + Adds a property mapping condition. + + The condition to add. + + + + Removes a property mapping condition. + + The property mapping condition to remove. + + + + Describes modification function mappings for an association set. + + + + + Initializes a new AssociationSetModificationFunctionMapping instance. + + An association set. + A delete function mapping. + An insert function mapping. + + + + Gets the association set. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + + + + Represents the Mapping metadata for an association type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all association Type map elements in the + above example. Users can access the table mapping fragments under the + association type mapping through this class. + + + + + Creates an AssociationTypeMapping instance. + + The AssociationSetMapping that + the contains this AssociationTypeMapping. + + + + Gets the AssociationSetMapping that contains this AssociationTypeMapping. + + + + + Gets the association type being mapped. + + + + + Gets the single mapping fragment. + + + + + Mapping metadata for Complex properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the complex property map elements in the + above example. ComplexPropertyMaps contain ComplexTypeMaps which define mapping based + on the type of the ComplexProperty in case of inheritance. + + + + + Construct a new Complex Property mapping object + + The MemberMetadata object that represents this Complex member + + + + Gets a read only collections of type mappings corresponding to the + nested complex types. + + + + + Adds a type mapping corresponding to a nested complex type. + + The complex type mapping to be added. + + + + Removes a type mapping corresponding to a nested complex type. + + The complex type mapping to be removed. + + + + Mapping metadata for Complex Types. + + + + + Creates a ComplexTypeMapping instance. + + The ComplexType being mapped. + + + + Gets the ComplexType being mapped. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Mapping metadata for Conditional property mapping on a type. + Condition Property Mapping specifies a Condition either on the C side property or S side property. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the condition property map elements in the + above example. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Mapping metadata for End property of an association. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the end property map elements in the + above example. EndPropertyMaps provide mapping for each end of the association. + + + + + Creates an association end property mapping. + + An AssociationEndMember that specifies + the association end to be mapped. + + + + Gets an AssociationEndMember that specifies the mapped association end. + + + + + Gets a ReadOnlyCollection of ScalarPropertyMapping that specifies the children + of this association end property mapping. + + + + + Adds a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be added. + + + + Removes a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be removed. + + + + Represents the Mapping metadata for the EntityContainer map in CS space. + Only one EntityContainerMapping element is allowed in the MSL file for CS mapping. + + + For Example if conceptually you could represent the CS MSL file as following + ---Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --AssociationSetMapping + The type represents the metadata for EntityContainerMapping element in the above example. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + We currently assume that an Entity Container on the C side + is mapped to a single Entity Container in the S - space. + + + + + Initializes a new EntityContainerMapping instance. + + The conceptual entity container to be mapped. + The store entity container to be mapped. + The parent mapping item collection. + Flag indicating whether to generate update views. + + + + Gets the parent mapping item collection. + + + + + Gets the type kind for this item + + + + + Gets the conceptual entity container. + + + + + Gets the store entity container. + + + + + Gets the entity set mappings. + + + + + Gets the association set mappings. + + + + + Gets the function import mappings. + + + + + Gets a flag that indicates whether to generate the update views or not. + + + + + Adds an entity set mapping. + + The entity set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds an association set mapping. + + The association set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds a function import mapping. + + The function import mapping to add. + + + + Removes a function import mapping. + + The function import mapping to remove. + + + + Represents the Mapping metadata for an Extent in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for all the extent map elements in the + above example namely EntitySetMapping, AssociationSetMapping and CompositionSetMapping. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + + + Gets the parent container mapping. + + + + + Gets or sets the query view associated with this mapping. + + + + + Represents the Mapping metadata for an EntitySet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the EntitySetMapping elements in the + above example. And it is possible to access the EntityTypeMaps underneath it. + + + + + Initializes a new EntitySetMapping instance. + + The entity set to be mapped. + The parent container mapping. + + + + Gets the entity set that is mapped. + + + + + Gets the contained entity type mappings. + + + + + Gets the corresponding function mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Adds a function mapping. + + The function mapping to add. + + + + Removes a function mapping. + + The function mapping to remove. + + + + Mapping metadata for Entity type. + If an EntitySet represents entities of more than one type, than we will have + more than one EntityTypeMapping for an EntitySet( For ex : if + PersonSet Entity extent represents entities of types Person and Customer, + than we will have two EntityType Mappings under mapping for PersonSet). + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all entity Type map elements in the + above example. Users can access the table mapping fragments under the + entity type mapping through this class. + + + + + Creates an EntityTypeMapping instance. + + The EntitySetMapping that contains this EntityTypeMapping. + + + + Gets the EntitySetMapping that contains this EntityTypeMapping. + + + + + Gets the single EntityType being mapped. Throws exception in case of hierarchy type mapping. + + + + + Gets a flag that indicates whether this is a type hierarchy mapping. + + + + + Gets a read-only collection of mapping fragments. + + + + + Gets the mapped entity types. + + + + + Gets the mapped base types for a hierarchy mapping. + + + + + Adds an entity type to the mapping. + + The EntityType to be added. + + + + Removes an entity type from the mapping. + + The EntityType to be removed. + + + + Adds an entity type hierarchy to the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be added. + + + + Removes an entity type hierarchy from the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be removed. + + + + Adds a mapping fragment. + + The mapping fragment to be added. + + + + Removes a mapping fragment. + + The mapping fragment to be removed. + + + + Describes modification function mappings for an entity type within an entity set. + + + + + Initializes a new EntityTypeModificationFunctionMapping instance. + + An entity type. + A delete function mapping. + An insert function mapping. + An updated function mapping. + + + + Gets the entity type. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + Gets the update function mapping. + + + + + + + + Base class for the type created at design time to store the generated views. + + + + Returns the key/value pair at the specified index, which contains the view and its key. + The key/value pair at index , which contains the view and its key. + The index of the view. + + + + Gets or sets the name of . + + The container name. + + + + Gets or sets in storage schema. + + Container name. + + + Hash value. + Hash value. + + + Hash value of views. + Hash value. + + + Gets or sets view count. + View count. + + + + Attribute to mark the assemblies that contain the generated views type. + + + + + Initializes a new instance of the class. + + The view type. + + + Gets the T:System.Type of the view. + The T:System.Type of the view. + + + + Represents a complex type mapping for a function import result. + + + + + Initializes a new FunctionImportComplexTypeMapping instance. + + The return type. + The property mappings for the result type of a function import. + + + + Ges the return type. + + + + + Represents a function import entity type mapping. + + + + + Initializes a new FunctionImportEntityTypeMapping instance. + + The entity types at the base of + the type hierarchies to be mapped. + The entity types to be mapped. + The property mappings for the result types of a function import. + The mapping conditions. + + + + Gets the entity types being mapped. + + + + + Gets the entity types at the base of the hierarchies being mapped. + + + + + Gets the mapping conditions. + + + + + Represents a mapping condition for a function import result. + + + + + Gets the name of the column used to evaluate the condition. + + + + + + + + Represents a mapping condition for the result of a function import + evaluated by checking null or not null. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionIsNull instance. + + The name of the column used to evaluate the condition. + Flag that indicates whether a null or not null check is performed. + + + + Gets a flag that indicates whether a null or not null check is performed. + + + + + Represents a mapping condition for the result of a function import, + evaluated by comparison with a specified value. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionValue instance. + + The name of the column used to evaluate the condition. + The value to compare with. + + + + Gets the value used for comparison. + + + + + Represents a mapping from a model function import to a store composable or non-composable function. + + + + + Gets model function (or source of the mapping) + + + + + Gets store function (or target of the mapping) + + + + + Represents a mapping from a model function import to a store composable function. + + + + + Initializes a new FunctionImportMappingComposable instance. + + The model function import. + The store composable function. + The result mapping for the function import. + The parent container mapping. + + + + Gets the result mapping for the function import. + + + + + Represents a mapping from a model function import to a store non-composable function. + + + + + Initializes a new FunctionImportMappingNonComposable instance. + + The model function import. + The store non-composable function. + The function import result mappings. + The parent container mapping. + + + + Gets the function import result mappings. + + + + + Represents a result mapping for a function import. + + + + + Gets the type mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Base class for mapping a property of a function import return type. + + + + + Maps a function import return type property to a table column. + + + + + Initializes a new FunctionImportReturnTypeScalarPropertyMapping instance. + + The mapped property name. + The mapped column name. + + + + Gets the mapped property name. + + + + + Gets the mapped column name. + + + + + Specifies a function import structural type mapping. + + + + + Gets the property mappings for the result type of a function import. + + + + + Specifies a mapping condition evaluated by checking whether the value + of the a property/column is null or not null. + + + + + Creates an IsNullConditionMapping instance. + + An EdmProperty that specifies a property or column. + A boolean that indicates whether to perform a null or a not-null check. + + + + Gets a bool that specifies whether the condition is evaluated by performing a null check + or a not-null check. + + + + + Represents the base item class for all the mapping metadata + + + + + Represents the metadata for mapping fragment. + A set of mapping fragments makes up the Set mappings( EntitySet, AssociationSet or CompositionSet ) + Each MappingFragment provides mapping for those properties of a type that map to a single table. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the mapping fragment elements in the + above example. Users can access all the top level constructs of + MappingFragment element like EntityKey map, Property Maps, Discriminator + property through this mapping fragment class. + + + + + Creates a MappingFragment instance. + + The EntitySet corresponding to the table of view being mapped. + The TypeMapping that contains this MappingFragment. + Flag that indicates whether to include 'DISTINCT' when generating queries. + + + + Gets the EntitySet corresponding to the table or view being mapped. + + + + + Gets the TypeMapping that contains this MappingFragment. + + + + + Gets a flag that indicates whether to include 'DISTINCT' when generating queries. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Base class for items in the mapping space (DataSpace.CSSpace) + + + + + Class for representing a collection of mapping items in Edm space. + + + + + Describes modification function binding for change processing of entities or associations. + + + + + Initializes a new ModificationFunctionMapping instance. + + The entity or association set. + The entity or association type. + The metadata of function to which we should bind. + Bindings for function parameters. + The output parameter producing number of rows affected. + Bindings for the results of function evaluation + + + + Gets output parameter producing number of rows affected. May be null. + + + + + Gets Metadata of function to which we should bind. + + + + + Gets bindings for function parameters. + + + + + Gets bindings for the results of function evaluation. + + + + + + + + Describes the location of a member within an entity or association type structure. + + + + + Initializes a new ModificationFunctionMemberPath instance. + + Gets the members in the path from the leaf (the member being bound) + to the root of the structure. + Gets the association set to which we are navigating + via this member. If the value is null, this is not a navigation member path. + + + + Gets the members in the path from the leaf (the member being bound) + to the Root of the structure. + + + + + Gets the association set to which we are navigating via this member. If the value + is null, this is not a navigation member path. + + + + + + + + Binds a modification function parameter to a member of the entity or association being modified. + + + + + Initializes a new ModificationFunctionParameterBinding instance. + + The parameter taking the value. + The path to the entity or association member defining the value. + A flag indicating whether the current or original member value is being bound. + + + + Gets the parameter taking the value. + + + + + Gets the path to the entity or association member defining the value. + + + + + Gets a flag indicating whether the current or original + member value is being bound. + + + + + + + + Defines a binding from a named result set column to a member taking the value. + + + + + Initializes a new ModificationFunctionResultBinding instance. + + The name of the column to bind from the function result set. + The property to be set on the entity. + + + + Gets the name of the column to bind from the function result set. + + + + + Gets the property to be set on the entity. + + + + + + + + Mapping metadata for all types of property mappings. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all property map elements in the + above example. This includes the scalar property maps, complex property maps + and end property maps. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Mapping metadata for scalar properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the scalar property map elements in the + above example. + + + + + Creates a mapping between a simple property and a column. + + The property to be mapped. + The column to be mapped. + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Represents a collection of items in Storage Mapping (CS Mapping) space. + + + + Initializes a new instance of the class using the specified , and a collection of string indicating the metadata file paths. + The that this mapping is to use. + The that this mapping is to use. + The file paths that this mapping is to use. + + + Initializes a new instance of the class using the specified , and XML readers. + The that this mapping is to use. + The that this mapping is to use. + The XML readers that this mapping is to use. + + + + Gets or sets a for creating instances + that are used to retrieve pre-generated mapping views. + + + + Gets the version of this represents. + The version of this represents. + + + + Computes a hash value for the container mapping specified by the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A string that specifies the computed hash value. + + + + Computes a hash value for the single container mapping in the collection. + + A string that specifies the computed hash value. + + + + Creates a dictionary of (extent, generated view) for a container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Creates a dictionary of (extent, generated view) for the single container mapping + in the collection. + + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Factory method that creates a . + + + The edm metadata collection to map. Must not be null. + + + The store metadata collection to map. Must not be null. + + + MSL artifacts to load. Must not be null. + + + Paths to MSL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Specifies a structural type mapping. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Represents the Mapping metadata for a type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all the Type map elements in the + above example namely EntityTypeMapping, AssociationTypeMapping and CompositionTypeMapping. + The TypeMapping elements contain TableMappingFragments which in turn contain the property maps. + + + + + Specifies a mapping condition evaluated by comparing the value of + a property or column with a given value. + + + + + Creates a ValueConditionMapping instance. + + An EdmProperty that specifies a property or column. + An object that specifies the value to compare with. + + + + Gets an object that specifies the value to check against. + + + + + metadata exception class + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Represents a end of a Association Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Creates a read-only AssociationEndMember instance. + + The name of the association end member. + The reference type for the end. + The multiplicity of the end. + Flag that indicates the delete behavior of the end. + Metadata properties to be associated with the instance. + The newly created AssociationEndMember instance. + The specified name is null or empty. + The specified reference type is null. + + + + Class for representing an Association set + + + + + Gets the association related to this . + + + An object that represents the association related to this + + . + + + + + Gets the ends of this . + + + A collection of type that contains the ends of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents built-in type kind for this + + . + + + + + Creates a read-only AssociationSet instance from the specified parameters. + + The name of the association set. + The association type of the elements in the association set. + The entity set for the source association set end. + The entity set for the target association set end. + Metadata properties to be associated with the instance. + The newly created AssociationSet instance. + The specified name is null or empty. + The specified association type is null. + + The entity type of one of the ends of the specified + association type does not match the entity type of the corresponding entity set end. + + + + + Class representing a AssociationSet End + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the parent association set of this . + + + An object that represents the parent association set of this + + . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the End member that this object corresponds to. + + + An object that represents the End member that this + + object corresponds to. + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the name of the End for this . + + + The name of the End for this . + + + + + Gets the name of the End role for this . + + + The name of the End role for this . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + Gets the entity set referenced by this End role. + + An object that represents the entity set referred by this End role. + + + + + Returns the name of the End role for this . + + + The name of the End role for this . + + + + + Describes an association/relationship between two entities in the conceptual model or a foreign key relationship + between two tables in the store model. In the conceptual model the dependant class may or may not define a foreign key property. + If a foreign key is defined the property will be true and the property will contain details of the foreign keys + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of ends for this . + + + A collection of type that contains the list of ends for this + + . + + + + Gets or sets the referential constraint. + The referential constraint. + + + + Gets the list of constraints for this . + + + A collection of type that contains the list of constraints for this + + . + + + + Gets the Boolean property value that specifies whether the column is a foreign key. + A Boolean value that specifies whether the column is a foreign key. If true, the column is a foreign key. If false (default), the column is not a foreign key. + + + + Creates a read-only AssociationType instance from the specified parameters. + + The name of the association type. + The namespace of the association type. + Flag that indicates a foreign key (FK) relationship. + The data space for the association type. + The source association end member. + The target association end member. + A referential constraint. + Metadata properties to be associated with the instance. + The newly created AssociationType instance. + The specified name is null or empty. + The specified namespace is null or empty. + + + + List of all the built in types + + + + + Association Type Kind + + + + + AssociationSetEnd Kind + + + + + AssociationSet Kind + + + + + Association Type Kind + + + + + EntitySetBase Kind + + + + + Entity Type Base Kind + + + + + Collection Type Kind + + + + + Collection Kind + + + + + Complex Type Kind + + + + + Documentation Kind + + + + + DeleteAction Type Kind + + + + + Edm Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Enumeration Type Kind + + + + + Enum Member Kind + + + + + Facet Kind + + + + + EdmFunction Kind + + + + + Function Parameter Kind + + + + + Global Item Type Kind + + + + + Metadata Property Kind + + + + + Navigation Property Kind + + + + + Metadata Item Type Kind + + + + + EdmMember Type Kind + + + + + Parameter Mode Kind + + + + + Primitive Type Kind + + + + + Primitive Type Kind Kind + + + + + EdmProperty Type Kind + + + + + ProviderManifest Type Kind + + + + + Referential Constraint Type Kind + + + + + Ref Type Kind + + + + + RelationshipEnd Type Kind + + + + + Relationship Multiplicity Type Kind + + + + + Relationship Set Type Kind + + + + + Relationship Type + + + + + Row Type Kind + + + + + Simple Type Kind + + + + + Structural Type Kind + + + + + Type Information Kind + + + + + Kind of collection (applied to Properties) + + + + + Property is not a Collection + + + + + Collection has Bag semantics( unordered and duplicates ok) + + + + + Collection has List semantics + (Order is deterministic and duplicates ok) + + + + + Represents the Edm Collection Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + The instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + + + Represents the Edm Complex Type. This can be used to configure complex types + from a conceptual-space model-based convention. Complex types are not supported in the store model. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Creates a new instance of the type. + + The name of the complex type. + The namespace of the complex type. + The dataspace to which the complex type belongs to. + Members of the complex type. + Metadata properties to be associated with the instance. + Thrown if either name, namespace or members argument is null. + + A new instance a the type. + + + The newly created will be read only. + + + + + The concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Serializes an that conforms to the restrictions of a single + CSDL schema file to an XML writer. The model to be serialized must contain a single + . + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the XmlWriter. + + + The EdmModel to serialize. + + The XmlWriter to serialize to. + The serialized model's namespace. + true if the model is valid; otherwise, false. + + + + Information about an error that occurred processing an Entity Framework model. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + DataSpace + + + + + OSpace indicates the item in the clr space + + + + + CSpace indicates the item in the CSpace - edm primitive types + + types defined in csdl + + + + + SSpace indicates the item in the SSpace + + + + + Mapping between OSpace and CSpace + + + + + Mapping between CSpace and SSpace + + + + + Extension methods for . + + + + + Gets the conceptual model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the conceptual model. + + + + Gets the store model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the store model. + + + + Class representing the Documentation associated with an item + + + + + Initializes a new Documentation instance. + + A summary string. + A long description string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the summary for this . + + + The summary for this . + + + + + Gets the long description for this . + + + The long description for this . + + + + + Gets a value indicating whether this object contains only a null or an empty + + and a + + . + + + true if this object contains only a null or an empty + + and a + + ; otherwise, false. + + + + + Returns the summary for this . + + + The summary for this . + + + + + This class encapsulates the error information for a generic EDM error. + + + + Gets the error message. + The error message. + + + + Class for representing a function + + + + + Gets the built-in type kind for this . + + + One of the enumeration values of the enumeration. + + + + Returns the full name (namespace plus name) of this type. + The full name of the type. + + + + Gets the parameters of this . + + + A collection of type that contains the parameters of this + + . + + + + + Adds a parameter to this function. + + The parameter to be added. + + + + Gets the return parameter of this . + + + A object that represents the return parameter of this + + . + + + + + Gets the return parameters of this . + + + A collection of type that represents the return parameters of this + + . + + + + Gets the store function name attribute of this function. + + + Gets the parameter type semantics attribute of this function. + + + Gets the aggregate attribute of this function. + + + + Gets a value indicating whether built in attribute is present on this function. + + + true if the attribute is present; otherwise, false. + + + + + Gets a value indicating whether this instance is from the provider manifest. + + + true if this instance is from the provider manifest; otherwise, false. + + + + + Gets a value indicating whether the is a niladic function (a function that accepts no arguments). + + + true if the function is niladic; otherwise, false. + + + + Gets whether this instance is mapped to a function or to a stored procedure. + true if this instance is mapped to a function; false if this instance is mapped to a stored procedure. + + + Gets a query in the language that is used by the database management system or storage model. + + A string value in the syntax used by the database management system or storage model that contains the query or update statement of the + + . + + + + Gets or sets the schema associated with the function. + The schema associated with the function. + + + + The factory method for constructing the object. + + The name of the function. + The namespace of the function. + The namespace the function belongs to. + Additional function attributes and properties. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the type. + + + + + Contains additional attributes and properties of the + + + Note that objects are short lived and exist only to + make initialization easier. Instance of this type are not + compared to each other and arrays returned by array properties are copied to internal + collections in the ctor. Therefore it is fine to suppress the + Code Analysis messages. + + + + Gets or sets the function schema. + The function schema. + + + Gets or sets the store function name. + The store function name. + + + Gets or sets the command text associated with the function. + The command text associated with the function. + + + Gets or sets the entity sets for the function. + The entity sets for the function. + + + Gets a value that indicates whether this is an aggregate function. + true if this is an aggregate function; otherwise, false. + + + Gets or sets whether this function is a built-in function. + true if this function is a built-in function; otherwise, false. + + + Gets or sets whether the function contains no arguments. + true if the function contains no arguments; otherwise, false. + + + Gets or sets whether this function can be composed. + true if this function can be composed; otherwise, false. + + + Gets or sets whether this function is from a provider manifest. + true if this function is from a provider manifest; otherwise, false. + + + Gets or sets whether this function is a cached store function. + true if this function is a cached store function; otherwise, false. + + + Gets or sets whether this function is a function import. + true if this function is a function import; otherwise, false. + + + Gets or sets the return parameters. + The return parameters. + + + Gets or sets the parameter type semantics. + The parameter type semantics. + + + Gets or sets the function parameters. + The function parameters. + + + + Class for representing a collection of items in Edm space. + + + + + Initializes a new instance of the class by using the collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + The collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + + Initializes a new instance of the class. + The entity data model. + + + + Initializes a new instance of the class by using the paths where the conceptual schema definition language (CSDL) files exist. + + The paths where the conceptual schema definition language (CSDL) files exist. + + + Gets the conceptual model version for this collection. + The conceptual model version for this collection. + + + + Returns a collection of the objects. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + + + + Returns a collection of the objects with the specified conceptual model version. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + The conceptual model version. + + + + Factory method that creates an . + + + CSDL artifacts to load. Must not be null. + + + Paths to CSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the edm member class + + + + + Gets or sets the name of the property. Setting this from a store-space model-convention will change the name of the database + column for this property. In the conceptual model, this should align with the corresponding property from the entity class + and should not be changed. + + The name of this member. + + + Gets the type on which this member is declared. + + A object that represents the type on which this member is declared. + + + + + Gets the instance of the class that contains both the type of the member and facets for the type. + + + A object that contains both the type of the member and facets for the type. + + + + Returns the name of this member. + The name of this member. + + + + Tells whether this member is marked as a Computed member in the EDM definition + + + + + Tells whether this member's Store generated pattern is marked as Identity in the EDM definition + + + + + Represents a conceptual or store model. This class can be used to access information about the shape of the model + and the way the that it has been configured. + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + + Gets the data space associated with the model, which indicates whether + it is a conceptual model (DataSpace.CSpace) or a store model (DataSpace.SSpace). + + + + + Gets the association types in the model. + + + + + Gets the complex types in the model. + + + + + Gets the entity types in the model. + + + + + Gets the enum types in the model. + + + + + Gets the functions in the model. + + + + + Gets the container that stores entity and association sets, and function imports. + + + + Gets the global items associated with the model. + The global items associated with the model. + + + + Adds an association type to the model. + + The AssociationType instance to be added. + + + + Adds a complex type to the model. + + The ComplexType instance to be added. + + + + Adds an entity type to the model. + + The EntityType instance to be added. + + + + Adds an enumeration type to the model. + + The EnumType instance to be added. + + + + Adds a function to the model. + + The EdmFunction instance to be added. + + + + Removes an association type from the model. + + The AssociationType instance to be removed. + + + + Removes a complex type from the model. + + The ComplexType instance to be removed. + + + + Removes an entity type from the model. + + The EntityType instance to be removed. + + + + Removes an enumeration type from the model. + + The EnumType instance to be removed. + + + + Removes a function from the model. + + The EdmFunction instance to be removed. + + + + In conceptual-space, EdmProperty represents a property on an Entity. + In store-space, EdmProperty represents a column in a table. + + + + Creates a new primitive property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new enum property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new complex property. + The newly created property. + The name of the property. + The type of the property. + + + + Creates a new instance of EdmProperty type. + + Name of the property. + + Property + + A new instance of EdmProperty type + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a value indicating whether this can have a null value. + + + Nullability in the conceptual model and store model is a simple indication of whether or not + the property is considered nullable. Nullability in the object model is more complex. + When using convention based mapping (as usually happens with POCO entities), a property in the + object model is considered nullable if and only if the underlying CLR type is nullable and + the property is not part of the primary key. + When using attribute based mapping (usually used with entities that derive from the EntityObject + base class), a property is considered nullable if the IsNullable flag is set to true in the + attribute. This flag can + be set to true even if the underlying type is not nullable, and can be set to false even if the + underlying type is nullable. The latter case happens as part of default code generation when + a non-nullable property in the conceptual model is mapped to a nullable CLR type such as a string. + In such a case, the Entity Framework treats the property as non-nullable even though the CLR would + allow null to be set. + There is no good reason to set a non-nullable CLR type as nullable in the object model and this + should not be done even though the attribute allows it. + + + true if this can have a null value; otherwise, false. + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets the type name of the property. + The type name of the property. + + + + Gets the default value for this . + + + The default value for this . + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets whether the property is a collection type property. + true if the property is a collection type property; otherwise, false. + + + Gets whether this property is a complex type property. + true if this property is a complex type property; otherwise, false. + + + Gets whether this property is a primitive type. + true if this property is a primitive type; otherwise, false. + + + Gets whether this property is an enumeration type property. + true if this property is an enumeration type property; otherwise, false. + + + Gets whether this property is an underlying primitive type. + true if this property is an underlying primitive type; otherwise, false. + + + Gets the complex type information for this property. + The complex type information for this property. + + + Gets the primitive type information for this property. + The primitive type information for this property. + + + Gets the enumeration type information for this property. + The enumeration type information for this property. + + + Gets the underlying primitive type information for this property. + The underlying primitive type information for this property. + + + Gets or sets the concurrency mode for the property. + The concurrency mode for the property. + + + Gets or sets the database generation method for the database column associated with this property + The store generated pattern for the property. + + + Gets or sets the kind of collection for this model. + The kind of collection for this model. + + + Gets whether the maximum length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the maximum length of the property. + The maximum length of the property. + + + Gets or sets whether this property uses the maximum length supported by the provider. + true if this property uses the maximum length supported by the provider; otherwise, false. + + + Gets whether the fixed length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether the length of this property is fixed. + true if the length of this property is fixed; otherwise, false. + + + Gets whether the Unicode facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether this property is a Unicode property. + true if this property is a Unicode property; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the precision of this property. + The precision of this property. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the scale of this property. + The scale of this property. + + + Sets the metadata properties. + The metadata properties to be set. + + + + This class encapsulates the error information for a schema error that was encountered. + + + + + Constructs a EdmSchemaError object. + + The explanation of the error. + The code associated with this error. + The severity of the error. + + + Returns the error message. + The error message. + + + Gets the error code. + The error code. + + + Gets the severity level of the error. + + One of the values. The default is + + . + + + + Gets the line number where the error occurred. + The line number where the error occurred. + + + Gets the column where the error occurred. + The column where the error occurred. + + + Gets the location of the schema that contains the error. This string also includes the name of the schema at the end. + The location of the schema that contains the error. + + + Gets the name of the schema that contains the error. + The name of the schema that contains the error. + + + Gets a string representation of the stack trace at the time the error occurred. + A string representation of the stack trace at the time the error occurred. + + + + Defines the different severities of errors that can occur when validating an Entity Framework model. + + + + + A warning that does not prevent the model from being used. + + + + + An error that prevents the model from being used. + + + + + Base EdmType class for all the model types + + + + Gets the name of this type. + The name of this type. + + + Gets the namespace of this type. + The namespace of this type. + + + Gets a value indicating whether this type is abstract or not. + true if this type is abstract; otherwise, false. + Thrown if the setter is called on instance that is in ReadOnly state + + + Gets the base type of this type. + The base type of this type. + Thrown if the setter is called on instance that is in ReadOnly state + Thrown if the value passed in for setter will create a loop in the inheritance chain + + + Gets the full name of this type. + The full name of this type. + + + Returns the full name of this type. + The full name of this type. + + + + Returns an instance of the whose element type is this type. + + + The object whose element type is this type. + + + + + Class for representing an entity container + + + + + Creates an entity container with the specified name and data space. + + The entity container name. + The entity container data space. + Thrown if the name argument is null. + Thrown if the name argument is empty string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets a list of entity sets and association sets that this + + includes. + + + A object that contains a list of entity sets and association sets that this + + includes. + + + + Gets the association sets for this entity container. + The association sets for this entity container . + + + Gets the entity sets for this entity container. + The entity sets for this entity container . + + + + Specifies a collection of elements. Each function contains the details of a stored procedure that exists in the database or equivalent CommandText that is mapped to an entity and its properties. + + + A that contains + + elements. + + + + + Returns an object by using the specified name for the entity set. + + + An object that represents the entity set that has the specified name. + + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified name for the entity set. + + true if there is an entity set that matches the search criteria; otherwise, false. + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains an object. If there is no entity set, this output parameter contains null. + + + + + Returns a object by using the specified name for the relationship set. + + + An object that represents the relationship set that has the specified name. + + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns a object by using the specified name for the relationship set. + + true if there is a relationship set that matches the search criteria; otherwise, false. + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains a object. + + + + + Returns the name of this . + + + The name of this . + + + + + Adds the specified entity set to the container. + + The entity set to add. + + + Removes a specific entity set from the container. + The entity set to remove. + + + + Adds a function import to the container. + + The function import to add. + + + + The factory method for constructing the EntityContainer object. + + The name of the entity container to be created. + DataSpace in which this entity container belongs to. + Entity sets that will be included in the new container. Can be null. + Functions that will be included in the new container. Can be null. + Metadata properties to be associated with the instance. + The EntityContainer object. + Thrown if the name argument is null or empty string. + The newly created EntityContainer will be read only. + + + + Represents a particular usage of a structure defined in EntityType. In the conceptual-model, this represents a set that can + query and persist entities. In the store-model it represents a table. + From a store-space model-convention it can be used to configure + table name with property and table schema with property. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + + + + The factory method for constructing the EntitySet object. + + The name of the EntitySet. + The db schema. Can be null. + The db table. Can be null. + + The provider specific query that should be used to retrieve data for this EntitySet. Can be null. + + The entity type of the entities that this entity set type contains. + + Metadata properties that will be added to the newly created EntitySet. Can be null. + + The EntitySet object. + Thrown if the name argument is null or empty string. + The newly created EntitySet will be read only. + + + + Class for representing a entity set + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets escaped provider specific SQL describing this entity set. + + + + + Gets or sets the name of the current entity or relationship set. + If this property is changed from store-space, the mapping layer must also be updated to reflect the new name. + To change the table name of a store space use the Table property. + + The name of the current entity or relationship set. + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Gets the entity container of the current entity or relationship set. + + An object that represents the entity container of the current entity or relationship set. + + Thrown if the setter is called when the EntitySetBase instance or the EntityContainer passed into the setter is in ReadOnly state + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database table name for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database schema for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Returns the name of the current entity or relationship set. + The name of the current entity or relationship set. + + + + Represents the structure of an . In the conceptual-model this represents the shape and structure + of an entity. In the store model this represents the structure of a table. To change the Schema and Table name use EntitySet. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the declared navigation properties associated with the entity type. + The declared navigation properties associated with the entity type. + + + + Gets the navigation properties of this . + + + A collection of type that contains the list of navigation properties on this + + . + + + + Gets the list of declared properties for the entity type. + The declared properties for the entity type. + + + Gets the collection of declared members for the entity type. + The collection of declared members for the entity type. + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Returns a object that references this + + . + + + A object that references this + + . + + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + The base type. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + Adds the specified navigation property to the members of this type. + The navigation property is added regardless of the read-only flag. + + The navigation property to be added. + + + + Represents the Entity Type + + + + Gets the list of all the key members for the current entity or relationship type. + + A object that represents the list of key members for the current entity or relationship type. + + + + Gets the list of all the key properties for this entity type. + The list of all the key properties for this entity type. + + + + Adds the specified property to the list of keys for the current entity. + + The property to add. + if member argument is null + Thrown if the EntityType has a base type of another EntityTypeBase. In this case KeyMembers should be added to the base type + If the EntityType instance is in ReadOnly state + + + Removes the specified key member from the collection. + The key member to remove. + + + + Represents an enumeration member. + + + + Gets the kind of this type. + + + Gets the name of this enumeration member. + + + Gets the value of this enumeration member. + + + Overriding System.Object.ToString to provide better String representation for this type. + The name of this enumeration member. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Represents an enumeration type. + + + + Returns the kind of the type + + + Gets a collection of enumeration members for this enumeration type. + + + Gets a value indicating whether the enum type is defined as flags (i.e. can be treated as a bit field) + + + Gets the underlying type for this enumeration type. + + + + Creates a read-only EnumType instance. + + The name of the enumeration type. + The namespace of the enumeration type. + The underlying type of the enumeration type. + Indicates whether the enumeration type can be treated as a bit field; that is, a set of flags. + The members of the enumeration type. + Metadata properties to be associated with the enumeration type. + The newly created EnumType instance. + underlyingType is null. + + name is null or empty. + -or- + namespaceName is null or empty. + -or- + underlyingType is not a supported underlying type. + -or- + The specified members do not have unique names. + -or- + The value of a specified member is not in the range of the underlying type. + + + + + Class for representing a Facet object + This object is Immutable (not just set to readonly) and + some parts of the system are depending on that behavior + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the description of this . + + + The object that represents the description of this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the type of this . + + + The object that represents the type of this + + . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the Facet instance is in ReadOnly state + + + Gets a value indicating whether the value of the facet is unbounded. + true if the value of the facet is unbounded; otherwise, false. + + + + Returns the name of this . + + + The name of this . + + + + + Class for representing a FacetDescription object + + + + Gets the name of this facet. + The name of this facet. + + + Gets the type of this facet. + + An object that represents the type of this facet. + + + + Gets the minimum value for this facet. + The minimum value for this facet. + + + Gets the maximum value for this facet. + The maximum value for this facet. + + + Gets the default value of a facet with this facet description. + The default value of a facet with this facet description. + + + Gets a value indicating whether the value of this facet is a constant. + true if this facet is a constant; otherwise, false. + + + Gets a value indicating whether this facet is a required facet. + true if this facet is a required facet; otherwise, false. + + + Returns the name of this facet. + The name of this facet. + + + + Class representing a function parameter + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the mode of this . + + + One of the values. + + Thrown if the FunctionParameter instance is in ReadOnly state + + + + Gets the name of this . + + + The name of this . + + + + + Gets the instance of the class that contains both the type of the parameter and facets for the type. + + + A object that contains both the type of the parameter and facets for the type. + + + + Gets the type name of this parameter. + The type name of this parameter. + + + Gets whether the max length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the maximum length of the parameter. + The maximum length of the parameter. + + + Gets whether the parameter uses the maximum length supported by the database provider. + true if parameter uses the maximum length supported by the database provider; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the precision value of the parameter. + The precision value of the parameter. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the scale value of the parameter. + The scale value of the parameter. + + + + Gets the on which this parameter is declared. + + + A object that represents the function on which this parameter is declared. + + + + + Returns the name of this . + + + The name of this . + + + + + The factory method for constructing the object. + + The name of the parameter. + The EdmType of the parameter. + + The of the parameter. + + + A new, read-only instance of the type. + + + + + Represents the base item class for all the metadata + + + + + An interface to get the underlying store and conceptual model for a . + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Class for representing a collection of items. + Most of the implementation for actual maintenance of the collection is + done by MetadataCollection + + + + Gets the data model associated with this item collection. + The data model associated with this item collection. + + + + Returns a strongly typed object by using the specified identity. + + The item that is specified by the identity. + The identity of the item. + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity with either case-sensitive or case-insensitive search. + + The item that is specified by the identity. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The type returned by the method. + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all the items of the specified type. + + The type returned by the method. + + + + Returns an object by using the specified type name and the namespace name in this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + Returns all the overloads of the functions by using the specified name from this item collection. + A collection of type ReadOnlyCollection that contains all the functions that have the specified name. + A dictionary of functions. + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first one. + The name of the entity container. + + + + Returns an object by using the specified entity container name. If there is no entity container, the output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Do not perform any extension check + + + + + Check the extension against a specific value + + + + + Check the extension against the set of acceptable extensions + + + + + Represents the base item class for all the metadata + + + Represents the base item class for all the metadata + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + Gets the list of properties of the current type. + + A collection of type that contains the list of properties of the current type. + + + + + Adds or updates an annotation with the specified name and value. + + + If an annotation with the given name already exists then the value of that annotation + is updated to the given value. If the given value is null then the annotation will be + removed. + + The name of the annotation property. + The value of the annotation property. + + + + Removes an annotation with the specified name. + + The name of the annotation property. + true if an annotation was removed; otherwise, false. + + + Gets or sets the documentation associated with this type. + + A object that represents the documentation on this type. + + + + + Returns a conceptual model built-in type that matches one of the + + values. + + + An object that represents the built-in type in the EDM. + + + One of the values. + + + + Returns the list of the general facet descriptions for a specified type. + + A object that represents the list of the general facet descriptions for a specified type. + + + + + Class representing a metadata attribute for an item + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the instance of the class that contains both the type of this + + and facets for the type. + + + A object that contains both the type of this + + and facets for the type. + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the value of this . + + + The value of this . + + + + + Gets a boolean that indicates whether the metadata property is an annotation. + + + + + The factory method for constructing the MetadataProperty object. + + The name of the metadata property. + The type usage of the metadata property. + The value of the metadata property. + The MetadataProperty object. + + Thrown is null. + + The newly created MetadataProperty will be read only. + + + + Creates a metadata annotation having the specified name and value. + + The annotation name. + The annotation value. + A MetadataProperty instance representing the created annotation. + + + + Runtime Metadata Workspace + + + + + Initializes a new instance of the class. + + + + + Constructs a with loaders for all item collections () + needed by EF except the o/c mapping which will be created automatically based on the given o-space and c-space + loaders. The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + Delegate to return the o-space item collection. + + + + Constructs a with loaders for all item collections () + that come from traditional EDMX mapping. Default o-space and o/c mapping collections will be used. + The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + + + + Initializes a new instance of the class using the specified paths and assemblies. + + The paths to workspace metadata. + The names of assemblies used to construct workspace. + + + + The Max EDM version thats going to be supported by the runtime. + + + + + Creates an configured to use the + + data space. + + The created parser object. + + + + Creates a new bound to this metadata workspace based on the specified query expression. + + + A new with the specified expression as it's + + property. + + + A that defines the query. + + + If + + is null + + + If + + contains metadata that cannot be resolved in this metadata workspace + + + If + + is not structurally valid because it contains unresolvable variable references + + + + + Gets items. + + + The items. + + + The from which to retrieve items. + + + + Registers the item collection with each associated data model. + The output parameter collection that needs to be filled up. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The delegate for logging the load messages. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + The conceptual model in which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object that represents the type that matches the given type name and the namespace name in the specified data model. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + true to perform the case-insensitive search; otherwise, false. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns the list of primitive types in the specified data model. + + A collection of type that contains all the primitive types in the specified data model. + + The data model for which you need the list of primitive types. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Tests the retrieval of . + + true if the retrieval was successful; otherwise, false. + + The from which to attempt retrieval of + + . + + When this method returns, contains the item collection. This parameter is passed uninitialized. + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true on success, false on failure. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + Clears all the metadata cache entries. + + + Gets original value members from an entity set and entity type. + The original value members from an entity set and entity type. + The entity set from which to retrieve original values. + The entity type of which to retrieve original values. + + + + Returns members of a given / + + for which original values are needed when modifying an entity. + + + The s for which original value is required. + + + An belonging to the C-Space. + + + An that participates in the given + + . + + true if entities may be updated partially; otherwise, false. + + + + Represent the edm navigation property class + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the relationship type that this navigation property operates on. + The relationship type that this navigation property operates on. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "to" relationship end member of this navigation. + The "to" relationship end member of this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "from" relationship end member in this navigation. + The "from" relationship end member in this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + + Where the given navigation property is on the dependent end of a referential constraint, + returns the foreign key properties. Otherwise, returns an empty set. We will return the members in the order + of the principal end key properties. + + A collection of the foreign key properties. + + + + Creates a NavigationProperty instance from the specified parameters. + + The name of the navigation property. + Specifies the navigation property type and its facets. + The relationship type for the navigation. + The source end member in the navigation. + The target end member in the navigation. + The metadata properties of the navigation property. + The newly created NavigationProperty instance. + + + + Class for representing a collection of items for the object layer. + Most of the implementation for actual maintenance of the collection is + done by ItemCollection + + + + + Initializes a new instance of the class. + + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + The delegate to which log messages are sent. + + + Loads metadata from the specified assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + + + Returns a collection of primitive type objects. + A collection of primitive type objects. + + + + Returns the CLR type that corresponds to the supplied by the objectSpaceType parameter. + + The CLR type of the OSpace argument. + + A that represents the object space type. + + + + + Returns a CLR type corresponding to the supplied by the objectSpaceType parameter. + + true if there is a type that matches the search criteria; otherwise, false. + + A that represents the object space type. + + The CLR type. + + + The method returns the underlying CLR type for the specified OSpace type argument. If the DataSpace of the parameter is not OSpace, an ArgumentException is thrown. + The CLR type of the OSpace argument. + The OSpace type to look up. + + + Returns the underlying CLR type for the specified OSpace enum type argument. If the DataSpace of the parameter is not OSpace, the method returns false and sets the out parameter to null. + true on success, false on failure + The OSpace enum type to look up + The CLR enum type of the OSpace argument + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all items of the specified type. + + The type returned by the method. + + + + Represents the list of possible actions for delete operation + + + + + no action + + + + + Cascade to other ends + + + + + The enumeration defining the mode of a parameter + + + + + In parameter + + + + + Out parameter + + + + + Both in and out parameter + + + + + Return Parameter + + + + + The enumeration defining the type semantics used to resolve function overloads. + These flags are defined in the provider manifest per function definition. + + + + + Allow Implicit Conversion between given and formal argument types (default). + + + + + Allow Type Promotion between given and formal argument types. + + + + + Use strict Equivalence only. + + + + + Class representing a primitive type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a enumeration value that indicates a primitive type of this + + . + + + A enumeration value that indicates a primitive type of this + + . + + + + + Gets the list of facet descriptions for this . + + + A collection of type that contains the list of facet descriptions for this + + . + + + + + Returns an equivalent common language runtime (CLR) type of this + + . Note that the + + property always returns a non-nullable type value. + + + A object that represents an equivalent common language runtime (CLR) type of this + + . + + + + + Returns the equivalent of this + + . + + + For example if this instance is nvarchar and it's + base type is Edm String then the return type is Edm String. + If the type is actually already a model type then the + return type is "this". + + + An object that is an equivalent of this + + . + + + + Returns the list of primitive types. + + A collection of type that contains the list of primitive types. + + + + + Returns the equivalent of a + + . + + + An object that is an equivalent of a specified + + . + + + A value of type . + + + + + Primitive Types as defined by EDM + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Geometry Type Kind + + + + + Geography Type Kind + + + + + Geometric point type kind + + + + + Geometric linestring type kind + + + + + Geometric polygon type kind + + + + + Geometric multi-point type kind + + + + + Geometric multi-linestring type kind + + + + + Geometric multi-polygon type kind + + + + + Geometric collection type kind + + + + + Geographic point type kind + + + + + Geographic linestring type kind + + + + + Geographic polygon type kind + + + + + Geographic multi-point type kind + + + + + Geographic multi-linestring type kind + + + + + Geographic multi-polygon type kind + + + + + Geographic collection type kind + + + + + HierarchyId type kind + + + + + Specifies the kinds of item attributes in the conceptual model. + + + + + An enumeration member indicating that an item attribute is System + + + + + An enumeration member indicating that an item attribute is Extended. + + + + + Class representing a read-only wrapper around MetadataCollection + + The type of items in this collection + + + + The enumerator for MetadataCollection + + + + Gets the member at the current position. + The member at the current position. + + + + Gets the member at the current position + + + + Disposes of this enumerator. + + + + Moves to the next member in the collection of type + + . + + + true if the enumerator is moved in the collection of type + + ; otherwise, false. + + + + + Positions the enumerator before the first position in the collection of type + + . + + + + Gets a value indicating whether this collection is read-only. + true if this collection is read-only; otherwise, false. + + + Gets an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + + + Retrieves an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + + + Determines whether the collection contains an item with the specified identity. + true if the collection contains the item to be searched for; otherwise, false. The default is false. + The identity of the item. + + + Retrieves an item from this collection by using the specified identity. + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + When this method returns, this output parameter contains an item from the collection. If there is no matched item, this output parameter contains null. + + + Returns an enumerator that can iterate through this collection. + + A that can be used to iterate through this + + . + + + + Returns the index of the specified value in this collection. + The index of the specified value in this collection. + A value to seek. + + + + This class represents a referential constraint between two entities specifying the "to" and "from" ends of the relationship. + + + + + Constructs a new constraint on the relationship + + role from which the relationship originates + role to which the relationship is linked/targeted to + properties on entity type of to role which take part in the constraint + properties on entity type of from role which take part in the constraint + Argument Null exception if any of the arguments is null + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the "from role" that takes part in this + + . + + + A object that represents the "from role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the "to role" that takes part in this . + + + A object that represents the "to role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the list of properties for the "from role" on which this + + is defined. + + + A collection of type that contains the list of properties for "from role" on which this + + is defined. + + + + + Gets the list of properties for the "to role" on which this + + is defined. + + + A collection of type that contains the list of properties for the "to role" on which this + + is defined. + + + + + Returns the combination of the names of the + + and the + + . + + + The combination of the names of the + + and the + + . + + + + + Class representing a ref type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type referenced by this . + + + An object that represents the entity type referenced by this + + . + + + + + + + + + + + Initializes a new instance of the RelationshipEndMember class + + + + Gets the operational behavior of this relationship end member. + + One of the values. The default is + + . + + + + Gets the multiplicity of this relationship end member. + + One of the values. + + + + Access the EntityType of the EndMember in an association. + The EntityType of the EndMember in an association. + + + + Represents the multiplicity information about the end of a relationship type + + + + + Lower Bound is Zero and Upper Bound is One + + + + + Both lower bound and upper bound is one + + + + + Lower bound is zero and upper bound is null + + + + + Class for representing a relationship set + + + + + Gets the relationship type of this . + + + An object that represents the relationship type of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Represents the Relationship type + + + + Gets the list of ends for this relationship type. + + A collection of type that contains the list of Ends for this relationship type. + + + + + Represents the Edm Row Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties on this . + + + A collection of type that contains the list of properties on this + + . + + + + Gets a collection of the properties defined by the current type. + A collection of the properties defined by the current type. + + + + The factory method for constructing the object. + + Properties of the row type object. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the object. + + + + + Class representing a simple type + + + + + Serializes the storage (database) section of an to XML. + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the + + The EdmModel to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + Serialize the to the + + The EdmModel to serialize + Namespace name on the Schema element + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + The pattern for Server Generated Properties. + + + + + Not a Server Generated Property. This is the default. + + + + + A value is generated on INSERT, and remains unchanged on update. + + + + + A value is generated on both INSERT and UPDATE. + + + + + Class for representing a collection of items in Store space. + + + + + Initializes a new instance of the class using the specified XMLReader. + + The XMLReader used to create metadata. + + + Initializes a new instances of the class. + The model of the . + + + + Initializes a new instance of the class using the specified file paths. + + The file paths used to create metadata. + + + Gets the provider factory of the StoreItemCollection. + The provider factory of the StoreItemCollection. + + + Gets the provider manifest of the StoreItemCollection. + The provider manifest of the StoreItemCollection. + + + Gets the manifest token of the StoreItemCollection. + The manifest token of the StoreItemCollection. + + + Gets the invariant name of the StoreItemCollection. + The invariant name of the StoreItemCollection. + + + Gets the version of the store schema for this collection. + The version of the store schema for this collection. + + + + Returns a collection of the objects. + + + A object that represents the collection of the + + objects. + + + + + Factory method that creates a . + + + SSDL artifacts to load. Must not be null. + + + Paths to SSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + Custom resolver. Currently used to resolve DbProviderServices implementation. If null + the default resolver will be used. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the Structural Type + + + + Gets the list of members on this type. + + A collection of type that contains a set of members on this type. + + + + + Adds a member to this type + + The member to add + + + Removes a member from this type. + The member to remove. + + + + Class representing a type information for an item + + + + + Factory method for creating a TypeUsage with specified EdmType and facets + + EdmType for which to create a type usage + facets to be copied into the new TypeUsage + new TypeUsage instance + + + + Creates a object with the specified conceptual model type. + + + A object with the default facet values for the specified + + . + + + A for which the + + object is created. + + + + + Creates a object to describe a string type by using the specified facet values. + + + A object describing a string type by using the specified facet values. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false. + + + + Creates a object to describe a string type by using the specified facet values and unbounded MaxLength. + + + A object describing a string type by using the specified facet values and unbounded MaxLength. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + The maximum length of the binary type. + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + The simple type that defines the units of measurement of the offset. + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object to describe a decimal type by using the specified facet values. + + + A object describing a decimal type by using the specified facet values. + + + A for which the + + object is created. + + + The precision of the decimal type as type . + + + The scale of the decimal type as type . + + + + + Creates a object to describe a decimal type with unbounded precision and scale facet values. + + + A object describing a decimal type with unbounded precision and scale facet values. + + + A for which the + + object is created. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the type information described by this . + + + An object that represents the type information described by this + + . + + + + + Gets the list of facets for the type that is described by this + + . + + + A collection of type that contains the list of facets for the type that is described by this + + . + + + + + Returns a Model type usage for a provider type + + Model (CSpace) type usage + + + + Checks whether this is a subtype of the specified + + . + + + true if this is a subtype of the specified + + ; otherwise, false. + + + The object to be checked. + + + + + Returns the full name of the type described by this . + + + The full name of the type described by this as string. + + + + + This exception is thrown when a requested object is not found in the store. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of class that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Caches an ELinq query + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg15 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + + The values currently assigned to the properties of an entity. + + + + + This is the interface that represent the minimum interface required + to be an entity in ADO.NET. + + + + Notifies the change tracker that a property change is pending on a complex object. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property of a complex object has changed. + The name of the changed property. + property is null. + + + + Attribute for complex properties + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + attribute for complex types + + + + + Attribute identifying the Edm base class + + + + + Attribute indicating an enum type. + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this attribute has been replaced by the starting with EF6. + + + + + Creates a new DbFunctionAttribute instance. + + The namespace name of the EDM function represented by the attributed method. + The function name of the EDM function represented by the attributed method. + + + + Base attribute for properties mapped to store elements. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Attribute identifying the Ends defined for a RelationshipSet + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Initializes a new instance of the + + class. + + The namespace name of the relationship property. + The name of the relationship. The relationship name is not namespace qualified. + The role name at the other end of the relationship. + + + The namespace name of the navigation property. + + A that is the namespace name. + + + + Gets the unqualified relationship name. + The relationship name. + + + Gets the role name at the other end of the relationship. + The target role name is specified by the Role attribute of the other End element in the association that defines this relationship in the conceptual model. For more information, see Association (EDM). + + + + Defines a relationship between two entity types based on an association in the conceptual model. + + + + + Creates an instance of the class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + + + + Initializes a new instance of the + + class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + A value that indicates whether the relationship is based on the foreign key value. + + + The namespace for the relationship. + + A that is the namespace for the relationship. + + + + Name of the relationship. + + A that is the name of a relationship that is defined by this + + . + + + + Name of the role at one end of the relationship. + + A that is the name of the role. + + + + Multiplicity at one end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at one end of the relationship. + + A that is the type of the object at this end of the association. + + + + Name of the role at the other end of the relationship. + + A that is the name of the role. + + + + Multiplicity at the other end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at the other end of the relationship. + + A that is the type of the object t the other end of the association. + + + + Gets a Boolean value that indicates whether the relationship is based on the foreign key value. + true if the relationship is based on the foreign key value; otherwise false. + + + + Attribute for scalar properties in an IEntity. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + Gets or sets the value that indicates whether the property can have a null value. + The value that indicates whether the property can have a null value. + + + Gets or sets the value that indicates whether the property is part of the entity key. + The value that indicates whether the property is part of the entity key. + + + + Attribute for static types + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a unique value for each model referenced by the assembly. + + + Setting this parameter to a unique value for each model file in a Visual Basic + assembly will prevent the following error: + "'System.Data.Entity.Core.Objects.DataClasses.EdmSchemaAttribute' cannot be specified more than once in this project, even with identical parameter values." + + A string that is a unique GUID value for the model in the assembly. + + + + Base attribute for schematized types + + + + The name of the type in the conceptual schema that maps to the class to which this attribute is applied. + + A that is the name. + + + + The namespace name of the entity object type or complex type in the conceptual schema that maps to this type. + + A that is the namespace name. + + + + + Collection of entities modeling a particular EDM construct + which can either be all entities of a particular type or + entities participating in a particular relationship. + + The type of entities in this collection. + + + + Initializes a new instance of the class. + + + + Gets the number of objects that are contained in the collection. + + The number of elements that are contained in the + + . + + + + + Gets a value that indicates whether the + + is read-only. + + Always returns false. + + + + IListSource.ContainsListCollection implementation. Always returns false. + This means that the IList we return is the one which contains our actual data, + it is not a list of collections. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + Loads related objects into the collection, using the specified merge option. + + Specifies how the objects in this collection should be merged with the objects that might have been returned from previous queries against the same + + . + + + + + + + Defines relationships between an object and a collection of related objects in an object context. + + Loads related entities into the local collection. If the collection is already filled + or partially filled, merges existing entities with the given entities. The given + entities are not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. We allow + deleted elements only when the state manager is already tracking the relationship + instance. + + Collection of objects in the object context that are related to the source object. + entities collection is null. + + The source object or an object in the entities collection is null or is not in an + + or state.-or-The relationship cannot be defined based on the EDM metadata. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + + Defines a relationship between two attached objects in an object context. + The object being attached. + When the entity is null. + + When the entity cannot be related to the source object. This can occur when the association in the conceptual schema does not support a relationship between the two types.-or-When either object is null or is not in an + + or state. + + + + Adds an object to the collection. + + An object to add to the collection. entity must implement + + . + + entity is null. + + + Removes an object from the collection and marks the relationship for deletion. + true if item was successfully removed; otherwise, false. + The object to remove from the collection. + entity object is null. + The entity object is not attached to the same object context.-or-The entity object does not have a valid relationship manager. + + + Returns an enumerator that is used to iterate through the objects in the collection. + + An that iterates through the set of values cached by + + . + + + + + Returns an enumerator that is used to iterate through the set of values cached by + + . + + + An that iterates through the set of values cached by + + . + + + + Removes all entities from the collection. + + + Determines whether a specific object exists in the collection. + + true if the object is found in the ; otherwise, false. + + + The object to locate in the . + + + + Copies all the contents of the collection to an array, starting at the specified index of the target array. + The array to copy to. + The zero-based index in the array at which copying begins. + + + Used internally to serialize entity objects. + The streaming context. + + + Used internally to deserialize entity objects. + The streaming context. + + + Returns an object query that, when it is executed, returns the same set of objects that exists in the current collection. + + An that represents the entity collection. + + + When the object is in an state + or when the object is in a + state with a + other than + . + + + + + This is the class is the basis for all perscribed EntityObject classes. + + + + Gets the entity state of the object. + + The of this object. + + + + Gets or sets the key for this object. + + The for this object. + + + + + Used by the ObjectStateManager to attach or detach this EntityObject to the cache. + + Reference to the ObjectStateEntry that contains this entity + + + + Returns the container for the lazily created relationship + navigation property objects, collections and refs. + + + + Notifies the change tracker that a property change is pending. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property has changed. + The name of the changed property. + property is null. + + + + Models a relationship end with multiplicity 1. + + + + Returns the key for the related object. + + Returns the EntityKey of the target entity associated with this EntityReference. + Is non-null in the following scenarios: + (a) Entities are tracked by a context and an Unchanged or Added client-side relationships exists for this EntityReference's owner with the + same RelationshipName and source role. This relationship could have been created explicitly by the user (e.g. by setting + the EntityReference.Value, setting this property directly, or by calling EntityCollection.Add) or automatically through span queries. + (b) If the EntityKey was non-null before detaching an entity from the context, it will still be non-null after detaching, until any operation + occurs that would set it to null, as described below. + (c) Entities are detached and the EntityKey is explicitly set to non-null by the user. + (d) Entity graph was created using a NoTracking query with full span + Is null in the following scenarios: + (a) Entities are tracked by a context but there is no Unchanged or Added client-side relationship for this EntityReference's owner with the + same RelationshipName and source role. + (b) Entities are tracked by a context and a relationship exists, but the target entity has a temporary key (i.e. it is Added) or the key + is one of the special keys + (c) Entities are detached and the relationship was explicitly created by the user. + + + An that is the key of the related object. + + + + + Models a relationship end with multiplicity 1. + + The type of the entity being referenced. + + + + Creates a new instance of . + + + The default constructor is required for some serialization scenarios. It should not be used to + create new EntityReferences. Use the GetRelatedReference or GetRelatedEnd methods on the RelationshipManager + class instead. + + + + + Gets or sets the related object returned by this + + . + + + The object returned by this . + + + + + Loads the related object for this with the specified merge option. + + + Specifies how the object should be returned if it already exists in the + + . + + + The source of the is null + or a query returned more than one related end + or a query returned zero related ends, and one related end was expected. + + + + + + + Creates a many-to-one or one-to-one relationship between two objects in the object context. + The object being attached. + When the entity is null. + When the entity cannot be related to the current related end. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + Creates an equivalent object query that returns the related object. + + An that returns the related object. + + + When the object is in an state + or when the object is in a + state with a + other than . + + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + + This interface is implemented by a change tracker and is used by data classes to report changes + + + + Notifies the change tracker of a pending change to a property of an entity type. + The name of the property that is changing. + + + Notifies the change tracker that a property of an entity type has changed. + The name of the property that has changed. + + + Notifies the change tracker of a pending change to a complex property. + The name of the top-level entity property that is changing. + The complex type that contains the property that is changing. + The name of the property that is changing on complex type. + + + Notifies the change tracker that a property of a complex type has changed. + The name of the complex property of the entity type that has changed. + The complex type that contains the property that changed. + The name of the property that changed on complex type. + + + Gets current state of a tracked object. + + An that is the state of the tracked object.For more information, see Identity Resolution, State Management, and Change Tracking and Tracking Changes in POCO Entities. + + + + + Minimum interface that a data class must implement in order to be managed by a change tracker. + + + + + Gets or sets the used to report changes. + + + The used to report changes. + + + + + Interface that defines an entity containing a key. + + + + + Gets or sets the for instances of entity types that implement this interface. + + + If an object is being managed by a change tracker, it is expected that + IEntityChangeTracker methods EntityMemberChanging and EntityMemberChanged will be + used to report changes on EntityKey. This allows the change tracker to validate the + EntityKey's new value and to verify if the change tracker is in a state where it can + allow updates to the EntityKey. + + + The for instances of entity types that implement this interface. + + + + + Interface that a data class must implement if exposes relationships + + + + Returns the relationship manager that manages relationships for an instance of an entity type. + + Classes that expose relationships must implement this property + by constructing and setting RelationshipManager in their constructor. + The implementation of this property should use the static method RelationshipManager.Create + to create a new RelationshipManager when needed. Once created, it is expected that this + object will be stored on the entity and will be provided through this property. + + + The for this entity. + + + + + Represents one end of a relationship. + + + + + Gets or sets a value indicating whether the entity (for an or all entities + in the collection (for an have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded + and wants to prevent any other entities from being loaded automatically. + Note that explicit loading using will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity is detached the IsLoaded flag is reset to false indicating that not all related entities + are now loaded. + + + True if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise false. + + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this is participating. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + The role name at the source end of the relationship. + + + Gets the role name at the target end of the relationship. + The role name at the target end of the relationship. + + + Returns a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + Loads the related object or objects into this related end with the default merge option. + + + Asynchronously loads the related object or objects into this related end with the default merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Loads the related object or objects into the related end with the specified merge option. + + The to use when merging objects into an existing + . + + + + Asynchronously loads the related object or objects into the related end with the specified merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Adds an object to the related end. + + An object to add to the collection. entity must implement + + . + + + + Adds an object to the related end. + An object to add to the collection. + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed, false if entity was not part of the + + . + + + The object to remove from the collection. entity must implement + + . + + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed; false if entity was not part of the + + . + + An object to remove from the collection. + + + Defines a relationship between two attached objects. + + The object being attached. entity must implement + + . + + + + Defines a relationship between two attached objects. + The object being attached. + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Base class for EntityCollection and EntityReference + + + + Occurs when a change is made to a related end. + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this participates. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + + A that is the role name. + + + + Gets the role name at the target end of the relationship. + + A that is the role name. + + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + Gets a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + + + + + Loads the related object or objects into the related end with the default merge option. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads the related object or objects into the related end with the default merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Loads an object or objects from the related end with the specified merge option. + + + The to use when merging objects into an existing + . + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads an object or objects from the related end with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Attaches an entity to the related end. This method works in exactly the same way as Attach(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Attaches an entity to the related end. If the related end is already filled + or partially filled, this merges the existing entities with the given entity. The given + entity is not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. + Deleted elements are allowed only when the state manager is already tracking the relationship + instance. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Adds an entity to the related end. This method works in exactly the same way as Add(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to add to the related end + + + + Adds an entity to the related end. If the owner is + attached to a cache then the all the connected ends are + added to the object cache and their corresponding relationships + are also added to the ObjectStateManager. The RelatedEnd of the + relationship is also fixed. + + Entity instance to add to the related end + + + + Removes an entity from the related end. This method works in exactly the same way as Remove(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Removes an entity from the related end. If owner is + attached to a cache, marks relationship for deletion and if + the relationship is composition also marks the entity for deletion. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + Identifies the kind of a relationship + + + + + The relationship is an Association + + + + + Container for the lazily created relationship navigation + property objects (collections and refs). + + + + + Creates a new object. + + + Used by data classes that support relationships. If the change tracker + requests the RelationshipManager property and the data class does not + already have a reference to one of these objects, it calls this method + to create one, then saves a reference to that object. On subsequent accesses + to that property, the data class should return the saved reference. + The reason for using a factory method instead of a public constructor is to + emphasize that this is not something you would normally call outside of a data class. + By requiring that these objects are created via this method, developers should + give more thought to the operation, and will generally only use it when + they explicitly need to get an object of this type. It helps define the intended usage. + + + The requested . + + Reference to the entity that is calling this method. + + + + Returns either an or + + of the correct type for the specified target role in a relationship. + + + representing the + + or + + that was retrieved. + + Name of the relationship in which targetRoleName is defined. The relationship name is not namespace qualified. + Target role to use to retrieve the other end of relationshipName . + relationshipName or targetRoleName is null. + The source type does not match the type of the owner. + targetRoleName is invalid or unable to find the relationship type in the metadata. + + + + Takes an existing EntityReference that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityReference has already been initialized, + if the relationship manager already contains a relationship with this name and target role, or if the relationship manager is already attached to a ObjectContext.W + + The relationship name. + The role name of the related end. + + The to initialize. + + + The type of the being initialized. + + + When the provided + is already initialized.-or-When the relationship manager is already attached to an + + or when the relationship manager already contains a relationship with this name and target role. + + + + + Takes an existing EntityCollection that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityCollection has already been initialized, + or if the relationship manager is already attached to a ObjectContext. + + The relationship name. + The target role name. + An existing EntityCollection. + Type of the entity represented by targetRoleName + + + + Gets an of related objects with the specified relationship name and target role name. + + + The of related objects. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + + Gets the for a related object by using the specified combination of relationship name and target role name. + + + The of a related object. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + Returns an enumeration of all the related ends managed by the relationship manager. + + An of objects that implement + + . An empty enumeration is returned when the relationships have not yet been populated. + + + + + Called by Object Services to prepare an for binary serialization with a serialized relationship. + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + This class contains the common methods need for an date object. + + + + + Public constant name used for change tracking + Providing this definition allows users to use this constant instead of + hard-coding the string. This helps to ensure the property name is correct + and allows faster comparisons in places where we are looking for this specific string. + Users can still use the case-sensitive string directly instead of the constant, + it will just be slightly slower on comparison. + Including the dash (-) character around the name ensures that this will not conflict with + a real data property, because -EntityKey- is not a valid identifier name + + + + + Notification that a property has been changed. + + + The PropertyChanged event can indicate all properties on the + object have changed by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangedEventArgs. + + + + + Notification that a property is about to be changed. + + + The PropertyChanging event can indicate all properties on the + object are changing by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangingEventArgs. + + + + + Raises the event. + + The name of the changed property. + + + + Raises the event. + + The name of the property changing. + + + Returns the minimum date time value supported by the data source. + + A value that is the minimum date time that is supported by the data source. + + + + Raises an event that is used to report that a property change is pending. + The name of the changing property. + + + Raises an event that is used to report that a property change has occurred. + The name for the changed property. + + + Returns a complex type for the specified property. + + Unlike most of the other helper methods in this class, this one is not static + because it references the SetValidValue for complex objects, which is also not static + because it needs a reference to this. + + A complex type object for the property. + A complex object that inherits from complex object. + The name of the complex property that is the complex object. + Indicates whether the type supports null values. + Indicates whether the type is initialized. + The type of the complex object being requested. + + + Determines whether the specified byte arrays contain identical values. + true if both arrays are of the same length and contain the same byte values or if both arrays are null; otherwise, false. + The first byte array value to compare. + The second byte array to compare. + + + Returns a copy of the current byte value. + + A copy of the current value. + + The current byte array value. + + + + Makes sure the value being set for a property is valid. + + + The value being validated. + + The value passed into the property setter. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + If value is null for a non nullable value. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + The value being set. + Indicates whether the property is nullable. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + A that is set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value that is set. + + The value that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + The name of the property that is being validated. + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + Name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + The name of the property that is being validated. + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + The name of the property that is being validated. + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + + + Validates that the property is not null, and throws if it is. + The validated property. + The string value to be checked. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The string value is null for a non-nullable string. + + + Validates that the property is not null, and throws if it is. + + The validated value. + + The string value to be checked. + Flag indicating if this property is allowed to be null. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + Name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Sets a complex object for the specified property. + A complex type that derives from complex object. + The original complex object for the property, if any. + The complex object is being set. + The complex property that is being set to the complex object. + The type of the object being replaced. + + + Verifies that a complex object is not null. + The complex object being validated. + The complex object that is being validated. + The complex property on the parent object that is associated with complexObject . + The type of the complex object being verified. + + + + Provides access to the original values of object data. The DbUpdatableDataRecord implements methods that allow updates to the original values of an object. + + + + Gets the number of fields in the record. + An integer value that is the field count. + + + Returns a value that has the given field ordinal. + The value that has the given field ordinal. + The ordinal of the field. + + + Gets a value that has the given field name. + The field value. + The name of the field. + + + Retrieves the field value as a Boolean. + The field value as a Boolean. + The ordinal of the field. + + + Retrieves the field value as a byte. + The field value as a byte. + The ordinal of the field. + + + Retrieves the field value as a byte array. + The number of bytes copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of bytes to copy. + + + Retrieves the field value as a char. + The field value as a char. + The ordinal of the field. + + + Retrieves the field value as a char array. + The number of characters copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of characters to copy. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as a + + + The field value as a . + + The ordinal of the field. + + + Retrieves the name of the field data type. + The name of the field data type. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Retrieves the field value as a decimal. + The field value as a decimal. + The ordinal of the field. + + + Retrieves the field value as a double. + The field value as a double. + The ordinal of the field. + + + Retrieves the type of a field. + The field type. + The ordinal of the field. + + + Retrieves the field value as a float. + The field value as a float. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + Retrieves the name of a field. + The name of the field. + The ordinal of the field. + + + Retrieves the ordinal of a field by using the name of the field. + The ordinal of the field. + The name of the field. + + + Retrieves the field value as a string. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Populates an array of objects with the field values of the current record. + The number of field values returned. + An array of objects to store the field values. + + + + Returns whether the specified field is set to . + + + true if the field is set to ; otherwise false. + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets field values in a record. + The number of the fields that were set. + The values of the field. + + + + Sets a field to the value. + + The ordinal of the field. + + + Gets data record information. + + A object. + + + + + Retrieves a field value as a . + + + A field value as a . + + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + + List of type pairs that constructor call new XXXX(YYY yyy) could be translated to SQL CAST(yyy AS XXXXX) call + + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that these functions have been moved to the class starting with EF6. + The functions are retained here only to help in the migration of older EF apps to EF6. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + Options for query execution. + + + + + Creates a new instance of . + + Merge option to use for entity results. + + + + Creates a new instance of . + + Merge option to use for entity results. + Whether the query is streaming or buffering. + + + + Merge option to use for entity results. + + + + + Whether the query is streaming or buffering. + + + + Determines whether the specified objects are equal. + true if the two objects are equal; otherwise, false. + The left object to compare. + The right object to compare. + + + + Determines whether the specified objects are not equal. + + The left object to compare. + The right object to compare. + true if the two objects are not equal; otherwise, false. + + + + + + + + + + Defines behavior for implementations of IQueryable that allow modifications to the membership of the resulting set. + + Type of entities returned from the queryable. + + + Notifies the set that an object that represents a new entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The new object to add to the set. + + + Notifies the set that an object that represents an existing entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to add to the set. + + + Notifies the set that an object that represents an existing entity must be deleted from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to delete from the set. + + + Notifies the set that an object that represents an existing entity must be detached from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The object to detach from the set. + + + + The different ways that new objects loaded from the database can be merged with existing objects already in memory. + + + + + Will only append new (top level-unique) rows. This is the default behavior. + + + + + Same behavior as LoadOption.OverwriteChanges. + + + + + Same behavior as LoadOption.PreserveChanges. + + + + + Will not modify cache. + + + + + ObjectContext is the top-level object that encapsulates a connection between the CLR and the database, + serving as a gateway for Create, Read, Update, and Delete operations. + + + + + Initializes a new instance of the class with the given connection. During construction, the metadata workspace is extracted from the + + object. + + + An that contains references to the model and to the data source connection. + + The connection is null. + The connection is invalid or the metadata workspace is invalid. + + + + Creates an ObjectContext with the given connection and metadata workspace. + + connection to the store + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + Initializes a new instance of the class with the given connection string and default entity container name. + + The connection string, which also provides access to the metadata information. + The connectionString is null. + The connectionString is invalid or the metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection string and entity container name. + + The connection string, which also provides access to the metadata information. + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connectionString is null. + The connectionString , defaultContainerName , or metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection and entity container name. + + + An that contains references to the model and to the data source connection. + + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connection is null. + The connection , defaultContainerName , or metadata workspace is not valid. + + + Gets the connection used by the object context. + + A object that is the connection. + + + When the instance has been disposed. + + + + Gets or sets the default container name. + + A that is the default container name. + + + + Gets the metadata workspace used by the object context. + + The object associated with this + + . + + + + Gets the object state manager used by the object context to track object changes. + + The used by this + + . + + + + Gets or sets the timeout value, in seconds, for all object context operations. A null value indicates that the default value of the underlying provider will be used. + + An value that is the timeout value, in seconds. + + The timeout value is less than 0. + + + Gets the LINQ query provider associated with this object context. + + The instance used by this object context. + + + + + Gets the instance that contains options that affect the behavior of the + + . + + + The instance that contains options that affect the behavior of the + + . + + + + + Returns itself. ObjectContext implements to provide a common + interface for and ObjectContext both of which will return the underlying + ObjectContext. + + + + + Gets the transaction handler in use by this context. May be null if no transaction have been started. + + + The transaction handler. + + + + + Returns the being used for this context. + + + + Occurs when changes are saved to the data source. + + + Occurs when a new entity object is created from data in the data source as part of a query or load operation. + + + Accepts all changes made to objects in the object context. + + + Adds an object to the object context. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to add. + + The entity parameter is null or the entitySetName does not qualify. + + + Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The value to use when you load the related objects. + + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + + The value to use when you load the related objects. + + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Applies property changes from a detached object to an object already attached to the object context. + The name of the entity set to which the object belongs. + The detached object that has property updates to apply to the original object. + When entitySetName is null or an empty string or when changed is null. + + When the from entitySetName does not match the + + of the object + + or when the entity is in a state other than + + or + + or the original object is not attached to the context. + + When the type of the changed object is not the same type as the original object. + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + The entity type of the object. + entitySetName or current is null. + + The from entitySetName does not match the + + of the object + + or the object is not in the + + or it is in a + + state or the entity key of the supplied object is invalid. + + entitySetName is an empty string. + + + + Copies the scalar values from the supplied object into set of original values for the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has original values to apply to the object. The entity key of originalEntity must match the + + property of an entry in the + + . + + The type of the entity object. + entitySetName or original is null. + + The from entitySetName does not match the + + of the object + + or an + + for the object cannot be found in the + + or the object is in an + + or a + + state or the entity key of the supplied object is invalid or has property changes. + + entitySetName is an empty string. + + + Attaches an object or object graph to the object context in a specific entity set. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to attach. + + The entity is null. + + Invalid entity set or the object has a temporary key or the object has an + + and the + + does not match with the entity set passed in as an argument of the method or the object does not have an + + and no entity set is provided or any object from the object graph has a temporary + + or any object from the object graph has an invalid + + (for example, values in the key do not match values in the object) or the entity set could not be found from a given entitySetName name and entity container name or any object from the object graph already exists in another state manager. + + + + Attaches an object or object graph to the object context when the object has an entity key. + The object to attach. + The entity is null. + Invalid entity key. + + + Creates the entity key for a specific object, or returns the entity key if it already exists. + + The of the object. + + The fully qualified name of the entity set to which the entity object belongs. + The object for which the entity key is being retrieved. + When either parameter is null. + When entitySetName is empty or when the type of the entity object does not exist in the entity set or when the entitySetName is not fully qualified. + When the entity key cannot be constructed successfully based on the supplied parameters. + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified entity type. + + + The new instance. + + + Entity type of the requested . + + + The property is not set on the + + or the specified type belongs to more than one entity set. + + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name. + + + The new instance. + + + Name of the entity set for the returned . The string must be qualified by the default container name if the + + property is not set on the + + . + + + Entity type of the requested . + + + The from entitySetName does not match the + + of the object + + or the + + property is not set on the + + and the name is not qualified as part of the entitySetName parameter or the specified type belongs to more than one entity set. + + + + + Creates an in the current object context by using the specified query string. + + + An of the specified type. + + The query string to be executed. + Parameters to pass to the query. + + The entity type of the returned . + + The queryString or parameters parameter is null. + + + Marks an object for deletion. + + An object that specifies the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + The entity is null. + + The entity is not associated with this (for example, was newly created and not associated with any context yet, or was obtained through some other context, or was already detached). + + + + + Finalizes an instance of the class. + + + + Releases the resources used by the object context. + + + + Releases the resources used by the object context. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns an object that has the specified entity key. + + An that is an instance of an entity type. + + The key of the object to be found. + The key parameter is null. + + The object is not found in either the or the data source. + + + + Updates a collection of objects in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Updates an object in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Persists all updates to the database and resets change tracking in the object context. + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + This parameter is needed for client-side transaction support. If true, the change tracking on all objects is reset after + + finishes. If false, you must call the + method after . + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + A value that determines the behavior of the operation. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + + Ensures that changes are synchronized with changes in all objects that are tracked by the + + . + + + + Returns an object that has the specified entity key. + true if the object was retrieved successfully. false if the key is temporary, the connection is null, or the value is null. + The key of the object to be found. + When this method returns, contains the object. + Incompatible metadata for key . + key is null. + + + + Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + The to use when executing the query. + + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given function on the default container. + + Element type for function results. + + Name of function. May include container (e.g. ContainerName.FunctionName) or just function name when DefaultContainerName is known. + + The options for executing this function. + + The parameter values to use for the function. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + An object representing the result of executing this function. + If function is null or empty + + If function is invalid (syntax, + does not exist, refers to a function with return type incompatible with T) + + + + Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution. + The number of rows affected. + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration. + + An enumeration of objects that represent custom data classes that map to the conceptual model. + + + + Returns all the existing proxy types. + + An of all the existing proxy types. + + + + Returns the entity type of the POCO entity associated with a proxy object of a specified type. + + The of the associated POCO entity. + + + The of the proxy object. + + + + Creates and returns an instance of the requested type . + An instance of the requested type T , or an instance of a derived type that enables T to be used with the Entity Framework. The returned object is either an instance of the requested type or an instance of a derived type that enables the requested type to be used with the Entity Framework. + Type of object to be returned. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior of + DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + + The to use when executing the query. The default is + . + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Translates a that contains rows of entity data to objects of the requested entity type. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + When reader is null. + + + + Translates a that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + The entity set of the TResult type. + + The to use when translated objects are added to the object context. The default is + + . + + When reader is null. + + When the supplied mergeOption is not a valid value. + + When the supplied entitySetName is not a valid entity set for the TResult type. + + + + Creates the database by using the current data source connection and the metadata in the + + . + + + + Deletes the database that is specified as the database in the current data source connection. + + + + Checks if the database that is specified as the database in the current store connection exists on the store. Most of the actual work + is done by the DbProviderServices implementation for the current store connection. + + true if the database exists; otherwise, false. + + + + Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the + + . The + + loads metadata from store schema definition language (SSDL) files. + + + A DDL script that creates schema objects for the metadata in the + + . + + + + + Defines options that affect the behavior of the ObjectContext. + + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + and are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + Gets or sets a Boolean value that determines whether related objects are loaded automatically when a navigation property is accessed. + true if lazy loading is enabled; otherwise, false. + + + Gets or sets a Boolean value that determines whether proxy instances are created for custom data classes that are persistence ignorant. + true if proxies are created; otherwise, false. The default value is true. + + + Gets or sets a Boolean value that determines whether to use the legacy PreserveChanges behavior. + true if the legacy PreserveChanges behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the consistent NullReference behavior. + + If this flag is set to false then setting the Value property of the for an + FK relationship to null when it is already null will have no effect. When this flag is set to true, then + setting the value to null will always cause the FK to be nulled and the relationship to be deleted + even if the value is currently null. The default value is false when using ObjectContext and true + when using DbContext. + + true if the consistent NullReference behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the C# NullComparison behavior. + + This flag determines whether C# behavior should be exhibited when comparing null values in LinqToEntities. + If this flag is set, then any equality comparison between two operands, both of which are potentially + nullable, will be rewritten to show C# null comparison semantics. As an example: + (operand1 = operand2) will be rewritten as + (((operand1 = operand2) AND NOT (operand1 IS NULL OR operand2 IS NULL)) || (operand1 IS NULL && operand2 IS NULL)) + The default value is false when using . + + true if the C# NullComparison behavior should be used; otherwise, false. + + + + EventArgs for the ObjectMaterialized event. + + + + + Constructs new arguments for the ObjectMaterialized event. + + The object that has been materialized. + + + Gets the entity object that was created. + The entity object that was created. + + + + Delegate for the ObjectMaterialized event. + + The ObjectContext responsable for materializing the object. + EventArgs containing a reference to the materialized object. + + + + This class represents a query parameter at the object layer, which consists + of a Name, a Type and a Value. + + + + + Initializes a new instance of the class with the specified name and type. + + The parameter name. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The common language runtime (CLR) type of the parameter. + If the value of either argument is null. + If the value of the name argument is invalid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + + Initializes a new instance of the class with the specified name and value. + + The parameter name. This name should not include the "@" parameter marker that is used in Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The initial value (and inherently, the type) of the parameter. + If the value of either argument is null. + If the value of the name argument is not valid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + Gets the parameter name, which can only be set through a constructor. + The parameter name, which can only be set through a constructor. + + + Gets the parameter type. + + The of the parameter. + + + + Gets or sets the parameter value. + The parameter value. + + + + This class represents a collection of query parameters at the object layer. + + + + Gets the number of parameters currently in the collection. + + The number of objects that are currently in the collection. + + + + + This collection is read-write - parameters may be added, removed + and [somewhat] modified at will (value only) - provided that the + implementation the collection belongs to has not locked its parameters + because it's command definition has been prepared. + + + + Provides an indexer that allows callers to retrieve parameters by name. + + The instance. + + The name of the parameter to find. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + No parameter with the specified name is found in the collection. + + + + Adds the specified to the collection. + + The parameter to add to the collection. + The parameter argument is null. + + The parameter argument already exists in the collection. This behavior differs from that of most collections that allow duplicate entries. -or-Another parameter with the same name as the parameter argument already exists in the collection. Note that the lookup is case-insensitive. This behavior differs from that of most collections, and is more like that of a + + . + + The type of the parameter is not valid. + + + + Deletes all instances from the collection. + + + + + Checks for the existence of a specified in the collection by reference. + + Returns true if the parameter object was found in the collection; otherwise, false. + + The to find in the collection. + + The parameter argument is null. + + + + Determines whether an with the specified name is in the collection. + + Returns true if a parameter with the specified name was found in the collection; otherwise, false. + The name of the parameter to look for in the collection. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + The name parameter is null. + + + Allows the parameters in the collection to be copied into a supplied array, starting with the object at the specified index. + The array into which to copy the parameters. + The index in the array at which to start copying the parameters. + + + + Removes an instance of an from the collection by reference if it exists in the collection. + + Returns true if the parameter object was found and removed from the collection; otherwise, false. + An object to remove from the collection. + The parameter argument is null. + + + + These methods return enumerator instances, which allow the collection to + be iterated through and traversed. + + An object that can be used to iterate through the collection. + + + Returns an untyped enumerator over the collection. + + An instance. + + + + + This class implements untyped queries at the object-layer. + + + + Returns the command text for the query. + A string value. + + + Gets the object context associated with this object query. + + The associated with this + + instance. + + + + Gets or sets how objects returned from a query are added to the object context. + + The query . + + + + + Whether the query is streaming or buffering + + + + Gets the parameter collection for this object query. + + The parameter collection for this . + + + + Gets or sets a value that indicates whether the query plan should be cached. + A value that indicates whether the query plan should be cached. + + + Returns the commands to execute against the data source. + A string that represents the commands that the query executes against the data source. + + + Returns information about the result type of the query. + + A value that contains information about the result type of the query. + + + + Executes the untyped object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + + Gets the result element type for this query instance. + + + + + Gets the expression describing this query. For queries built using + LINQ builder patterns, returns a full LINQ expression tree; otherwise, + returns a constant expression wrapping this query. Note that the + default expression is not cached. This allows us to differentiate + between LINQ and Entity-SQL queries. + + + + + Gets the associated with this query instance. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + ObjectQuery implements strongly-typed queries at the object-layer. + Queries are specified using Entity-SQL strings and may be created by calling + the Entity-SQL-based query builder methods declared by ObjectQuery. + + The result type of this ObjectQuery + + + + Creates a new instance using the specified Entity SQL command as the initial query. + + The Entity SQL query. + + The on which to execute the query. + + + + + Creates a new instance using the specified Entity SQL command as the initial query and the specified merge option. + + The Entity SQL query. + + The on which to execute the query. + + + Specifies how the entities that are retrieved through this query should be merged with the entities that have been returned from previous queries against the same + + . + + + + Gets or sets the name of this object query. + + A string value that is the name of this . + + The value specified on set is not valid. + + + Executes the object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + Specifies the related objects to include in the query results. + + A new with the defined query path. + + Dot-separated list of related objects to return in the query results. + path is null. + path is empty. + + + Limits the query to unique results. + + A new instance that is equivalent to the original instance with SELECT DISTINCT applied. + + + + + This query-builder method creates a new query whose results are all of + the results of this query, except those that are also part of the other + query specified. + + A query representing the results to exclude. + a new ObjectQuery instance. + If the query parameter is null. + + + Groups the query results by the specified criteria. + + A new instance of type + + that is equivalent to the original instance with GROUP BY applied. + + The key columns by which to group the results. + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + The query parameter is null or an empty string + or the projection parameter is null or an empty string. + + + + This query-builder method creates a new query whose results are those that + are both in this query and the other query specified. + + A query representing the results to intersect with. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to only results of a specific type. + + A new instance that is equivalent to the original instance with OFTYPE applied. + + + The type of the returned when the query is executed with the applied filter. + + The type specified is not valid. + + + Orders the query results by the specified criteria. + + A new instance that is equivalent to the original instance with ORDER BY applied. + + The key columns by which to order the results. + Zero or more parameters that are used in this method. + The keys or parameters parameter is null. + The key is an empty string. + + + Limits the query results to only the properties that are defined in the specified projection. + + A new instance of type + + that is equivalent to the original instance with SELECT applied. + + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + projection is null or parameters is null. + The projection is an empty string. + + + Limits the query results to only the property specified in the projection. + + A new instance of a type compatible with the specific projection. The returned + + is equivalent to the original instance with SELECT VALUE applied. + + The projection list. + An optional set of query parameters that should be in scope when parsing. + + The type of the returned by the + + method. + + projection is null or parameters is null. + The projection is an empty string. + + + Orders the query results by the specified criteria and skips a specified number of results. + + A new instance that is equivalent to the original instance with both ORDER BY and SKIP applied. + + The key columns by which to order the results. + The number of results to skip. This must be either a constant or a parameter reference. + An optional set of query parameters that should be in scope when parsing. + Any argument is null. + keys is an empty string or count is an empty string. + + + Limits the query results to a specified number of items. + + A new instance that is equivalent to the original instance with TOP applied. + + The number of items in the results as a string. + An optional set of query parameters that should be in scope when parsing. + count is null. + count is an empty string. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + without duplicates (i.e., results are unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + including any duplicates (i.e., results are not necessarily unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to results that match specified filtering criteria. + + A new instance that is equivalent to the original instance with WHERE applied. + + The filter predicate. + Zero or more parameters that are used in this method. + predicate is null or parameters is null. + The predicate is an empty string. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + This class implements IEnumerable and IDisposable. Instance of this class + is returned from ObjectQuery.Execute method. + + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + IListSource.ContainsListCollection implementation. Always returns false. + + + + Returns the results in a format useful for data binding. + + An of entity objects. + + + + + When overridden in a derived class, gets the type of the generic + + . + + + The type of the generic . + + + + Performs tasks associated with freeing, releasing, or resetting resources. + + + Releases the resources used by the object result. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the next result set of a stored procedure. + An ObjectResult that enumerates the values of the next result set. Null, if there are no more, or if the ObjectResult is not the result of a stored procedure call. + The type of the element. + + + + This class represents the result of the method. + + The type of the result. + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the type of the . + + + A that is the type of the . + + + + + Represents a typed entity set that is used to perform create, read, update, and delete operations. + + The type of the entity. + + + + Gets the metadata of the entity set represented by this instance. + + + An object. + + + + Adds an object to the object context in the current entity set. + The object to add. + + + Attaches an object or object graph to the object context in the current entity set. + The object to attach. + + + Marks an object for deletion. + + An object that represents the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + + + + Sets the property of an + + to match the property values of a supplied object. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of originalEntity must match the + + property of an entry in the + + . + + + + Creates a new entity type object. + The new entity type object, or an instance of a proxy type that corresponds to the entity type. + + + Creates an instance of the specified type. + An instance of the requested type T , or an instance of a proxy type that corresponds to the type T . + Type of object to be returned. + + + + Represents either a entity, entity stub or relationship + + + + + Gets the for the + + . + + + The for the + + . + + + + + Gets the for the object or relationship. + + + The for the object or relationship. + + + + + Gets the state of the . + + + The state of the . + + + + Gets the entity object. + The entity object. + + + Gets the entity key. + The entity key. + + + + Gets a value that indicates whether the represents a relationship. + + + true if the represents a relationship; otherwise, false. + + + + Gets the read-only version of original values of the object or relationship. + The read-only version of original values of the relationship set entry or entity. + + + + Gets the updatable version of original values of the object associated with this + + . + + The updatable original values of object data. + + + + Gets the current property values of the object or relationship associated with this + + . + + + A that contains the current values of the object or relationship associated with this + + . + + + + Accepts the current values as original values. + + + Marks an entity as deleted. + + + + Returns the names of an object’s properties that have changed since the last time + + was called. + + + An collection of names as string. + + + + Sets the state of the object or relationship to modify. + If State is not Modified or Unchanged + + + Marks the specified property as modified. + The name of the property. + If State is not Modified or Unchanged + + + Rejects any changes made to the property with the given name since the property was last loaded, attached, saved, or changes were accepted. The original value of the property is stored and the property will no longer be marked as modified. + The name of the property to change. + + + Uses DetectChanges to determine whether or not the current value of the property with the given name is different from its original value. Note that this may be different from the property being marked as modified since a property which has not changed can still be marked as modified. + + Note that this property always returns the same result as the modified state of the property for change tracking + proxies and entities that derive from the EntityObject base class. This is because original values are not tracked + for these entity types and hence there is no way to know if the current value is really different from the + original value. + + true if the property has changed; otherwise, false. + The name of the property. + + + + Gets the instance for the object represented by entry. + + + The object. + + The entry is a stub or represents a relationship + + + + Changes state of the entry to the specified value. + + + The value to set for the + + property of the entry. + + + + Sets the current values of the entry to match the property values of a supplied object. + The detached object that has updated values to apply to the object. currentEntity can also be the object’s entity key. + + + Sets the original values of the entry to match the property values of a supplied object. + The detached object that has original values to apply to the object. originalEntity can also be the object’s entity key. + + + + Used to report that a scalar entity property is about to change + The current value of the specified property is cached when this method is called. + + The name of the entity property that is changing + + + + Used to report that a scalar entity property has been changed + The property value that was cached during EntityMemberChanging is now + added to OriginalValues + + The name of the entity property that has changing + + + + Used to report that a complex property is about to change + The current value of the specified property is cached when this method is called. + + The name of the top-level entity property that is changing + The complex object that contains the property that is changing + The name of the property that is changing on complexObject + + + + Used to report that a complex property has been changed + The property value that was cached during EntityMemberChanging is now added to OriginalValues + + The name of the top-level entity property that has changed + The complex object that contains the property that changed + The name of the property that changed on complexObject + + + + Returns the EntityState from the ObjectStateEntry + + + + + Maintains object state and identity management for entity type instances and relationship instances. + + + + + Initializes a new instance of the class. + + + The , which supplies mapping and metadata information. + + + + + Gets the associated with this state manager. + + + The associated with this + + . + + + + Occurs when entities are added to or removed from the state manager. + + + + Returns a collection of objects for objects or relationships with the given state. + + + A collection of objects in the given + + . + + + An used to filter the returned + + objects. + + + When state is . + + + + + Changes state of the for a specific object to the specified entityState . + + + The for the supplied entity . + + The object for which the state must be changed. + The new state of the object. + When entity is null. + + When the object is not detached and does not have an entry in the state manager + or when you try to change the state to + from any other + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the name of the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + When source or target is null. + + When trying to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and a LINQ expression that defines the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + A LINQ expression that selects the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + The entity type of the source object. + When source , target , or selector is null. + selector is malformed or cannot return a navigation property. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a + state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the properties of the relationship. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the relationship. + The role name at the target end of the relationship. + + The requested of the specified relationship. + + When source or target is null. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an + state + or when state is not a valid value. + + + + + Returns an for the object or relationship entry with the specified key. + + + The corresponding for the given + + . + + + The . + + When key is null. + When the specified key cannot be found in the state manager. + + No entity with the specified exists in the + + . + + + + + Returns an for the specified object. + + + The corresponding for the given + + . + + + The to which the retrieved + + belongs. + + + No entity for the specified exists in the + + . + + + + + Tries to retrieve the corresponding for the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given object; otherwise, false. + + + The to which the retrieved + + belongs. + + + When this method returns, contains the for the given + + This parameter is passed uninitialized. + + + + + Tries to retrieve the corresponding for the object or relationship with the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given + + ; otherwise, false. + + + The given . + + + When this method returns, contains an for the given + + This parameter is passed uninitialized. + + A null (Nothing in Visual Basic) value is provided for key . + + + + Returns the that is used by the specified object. + + + The for the specified object. + + + The object for which to return the . + + + The entity does not implement IEntityWithRelationships and is not tracked by this ObjectStateManager + + + + + Returns the that is used by the specified object. + + + true if a instance was returned for the supplied entity ; otherwise false. + + + The object for which to return the . + + + When this method returns, contains the + + for the entity . + + + + + The original values of the properties of an entity when it was retrieved from the database. + + + + + A DataContractResolver that knows how to resolve proxy types created for persistent + ignorant classes to their base types. This is used with the DataContractSerializer. + + + + During deserialization, maps any xsi:type information to the actual type of the persistence-ignorant object. + Returns the type that the xsi:type is mapped to. Returns null if no known type was found that matches the xsi:type. + The xsi:type information to map. + The namespace of the xsi:type. + The declared type. + + An instance of . + + + + During serialization, maps actual types to xsi:type information. + true if the type was resolved; otherwise, false. + The actual type of the persistence-ignorant object. + The declared type. + + An instance of . + + When this method returns, contains a list of xsi:type declarations. + When this method returns, contains a list of namespaces used. + + + + Defines the different ways to handle modified properties when refreshing in-memory data from the database. + + + + + For unmodified client objects, same behavior as StoreWins. For modified client + objects, Refresh original values with store value, keeping all values on client + object. The next time an update happens, all the client change units will be + considered modified and require updating. + + + + + Discard all changes on the client and refresh values with store values. + Client original values is updated to match the store. + + + + + Flags used to modify behavior of ObjectContext.SaveChanges() + + + + + Changes are saved without the DetectChanges or the AcceptAllChangesAfterSave methods being called. + + + + + After changes are saved, the AcceptAllChangesAfterSave method is called, which resets change tracking in the ObjectStateManager. + + + + + Before changes are saved, the DetectChanges method is called to synchronize the property values of objects that are attached to the object context with data in the ObjectStateManager. + + + + + This exception is thrown when a update operation violates the concurrency constraint. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The enumerable collection of objects. + + + + + Property constraint exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of the class with default message. + + + + + Initializes a new instance of the class with supplied message. + + A localized error message. + + + + Initializes a new instance of the class with supplied message and inner exception. + + A localized error message. + The inner exception. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + The inner exception. + + + Gets the name of the property that violated the constraint. + The name of the property that violated the constraint. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the store provider exhibits a behavior incompatible with the entity client provider + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Used for conversion between different representations of bit array. + Returns (n+(div-1))/div, rearranged to avoid arithmetic overflow. + For example, in the bit to int case, the straightforward calc would + be (n+31)/32, but that would cause overflow. So instead it's + rearranged to ((n-1)/32) + 1, with special casing for 0. + + Usage: + GetArrayLength(77, BitsPerInt32): returns how many ints must be + allocated to store 77 bits. + + length of array + use a conversion constant, e.g. BytesPerInt32 to get + how many ints are required to store n bytes + length of the array + + + + Is this tree uses user-defined functions + Simplifying query with UDFs could caused to suboptimal plans + + Current subtree to process + Mapped variables + + + + + Exception during save changes to store + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The collection of objects. + + + + + Gets the objects for this + + . + + + A collection of objects comprised of either a single entity and 0 or more relationships, or 0 entities and 1 or more relationships. + + + + + Initializes a new instance of with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instance of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Gets the transaction the underlying store connection is enlisted in. May be null. + + + + + Enables the user to pass in a database transaction created outside of the object + if you want the Entity Framework to execute commands within that external transaction. + Alternatively, pass in null to clear the framework's knowledge of that transaction. + + the external transaction + Thrown if the transaction is already completed + + Thrown if the connection associated with the object is already enlisted in a + + transaction + + + Thrown if the connection associated with the object is already participating in a transaction + + Thrown if the connection associated with the transaction does not match the Entity Framework's connection + + + + Begins a transaction on the underlying store connection + + + a object wrapping access to the underlying store's transaction object + + + + + Begins a transaction on the underlying store connection using the specified isolation level + + The database isolation level with which the underlying store transaction will be created + + a object wrapping access to the underlying store's transaction object + + + + + Returns the connection being used by this context. This may cause the + connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Sets the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Runs the registered on this context. + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + + If set to true the initializer is run even if it has already been run. + + + + + Checks whether or not the database is compatible with the current Code First model. + + + Model compatibility currently uses the following rules. + If the context was created using either the Model First or Database First approach then the + model is assumed to be compatible with the database and this method returns true. + For Code First the model is considered compatible if the model is stored in the database + in the Migrations history table and that model has no differences from the current model as + determined by Migrations model differ. + If the model is not stored in the database but an EF 4.1/4.2 model hash is found instead, + then this is used to check for compatibility. + + + If set to true then an exception will be thrown if no model metadata is found in the database. If set to false then this method will return true if metadata is not found. + + True if the model hash in the context and the database match; false otherwise. + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + Calling this method from outside of an initializer will mark the database as having + not been initialized. This means that if an attempt is made to use the database again + after it has been deleted, then any initializer set will run again and, usually, will + try to create the database again automatically. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + By default, the instance to use is read from the application's .config + file from the "EntityFramework DefaultConnectionFactory" entry in appSettings. If no entry is found in + the config file then is used. Setting this property in code + always overrides whatever value is found in the config file. + + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local or ambient transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the timeout value, in seconds, for all context operations. + The default value is null, where null indicates that the default value of the underlying + provider will be used. + + + The timeout, in seconds, or null to use the provider default. + + + + + Set this property to log the SQL generated by the to the given + delegate. For example, to log to the console, set this property to . + + + The format of the log text can be changed by creating a new formatter that derives from + and setting it with . + For more low-level control over logging/interception see and + . + + + + + A class derived from this class can be placed in the same assembly as a class derived from + to define Entity Framework configuration for an application. + Configuration is set by calling protected methods and setting protected properties of this + class in the constructor of your derived type. + The type to use can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Any class derived from must have a public parameterless constructor + and that constructor should call this constructor. + + + + + The Singleton instance of for this app domain. This can be + set at application start before any Entity Framework features have been used and afterwards + should be treated as read-only. + + The instance of . + + + + Attempts to discover and load the associated with the given + type. This method is intended to be used by tooling to ensure that + the correct configuration is loaded into the app domain. Tooling should use this method + before accessing the property. + + A type to use for configuration discovery. + + + + Attempts to discover and load the from the given assembly. + This method is intended to be used by tooling to ensure that the correct configuration is loaded into + the app domain. Tooling should use this method before accessing the + property. If the tooling knows the type being used, then the + method should be used since it gives a greater chance that + the correct configuration will be found. + + An to use for configuration discovery. + + + + Occurs during EF initialization after the DbConfiguration has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that this event should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The exceptions to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here. + + The resolver to add. + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + + A implementation is automatically registered as a default resolver + when it is added with a call to . This allows EF providers to act as + resolvers for other services that may need to be overridden by the provider. + + The resolver to add. + + + + Gets the that is being used to resolve service + dependencies in the Entity Framework. + + + + + Call this method from the constructor of a class derived from to register + an Entity Framework provider. + + + Note that the provider is both registered as a service itself and also registered as a default resolver with + a call to AddDefaultResolver. This allows EF providers to act as resolvers for other services that + may need to be overridden by the provider. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register + an ADO.NET provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolvers for + and . This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + A function that returns a new instance of an execution strategy. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A function that returns a new instance of an execution strategy. + A string that will be matched against the server name in the connection string. + + + + Call this method from the constructor of a class derived from to register a + . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + A string that will be matched against the server name in the connection string. + + + + Sets the that is used to create connections by convention if no other + connection string or connection is given to or can be discovered by . + Note that a default connection factory is set in the app.config or web.config file whenever the + EntityFramework NuGet package is installed. As for all config file settings, the default connection factory + set in the config file will take precedence over any setting made with this method. Therefore the setting + must be removed from the config file before calling this method will have any effect. + Call this method from the constructor of a class derived from to change + the default connection factory being used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The connection factory. + + + + Call this method from the constructor of a class derived from to + set the pluralization service. + + The pluralization service to use. + + + + Call this method from the constructor of a class derived from to + set the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + + Calling this method is equivalent to calling . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is typically used by providers to register an associated SQL generator for Code First Migrations. + It is different from setting the generator in the because it allows + EF to use the Migrations pipeline to create a database even when there is no Migrations configuration in the project + and/or Migrations are not being explicitly used. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + A delegate that returns a new instance of the SQL generator each time it is called. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows provider manifest tokens to + be obtained from connections without necessarily opening the connection. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The manifest token resolver. + + + + Call this method from the constructor of a class derived from to set + a factory for implementations of which allows custom annotations + represented by instances to be serialized to and from the EDMX XML. + + + Note that an is not needed if the annotation uses a simple string value. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The name of custom annotation that will be handled by this serializer. + A delegate that will be used to create serializer instances. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows a + to be obtained from a in cases where the default implementation is not + sufficient. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The provider factory service. + + + + Call this method from the constructor of a class derived from to set + a as the model cache key factory which allows the key + used to cache the model behind a to be changed. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can + be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The key factory. + + + + Call this method from the constructor of a class derived from to set + a delegate which can be used for + creation of the default for a any + . This default factory will only be used if no factory is + set explicitly in the and if no factory has been registered + for the provider in use using the + + method. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + a delegate which allows for creation of a customized + for the given provider for any + that does not have an explicit factory set. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + the global instance of which will be used whenever a spatial provider is + required and a provider-specific spatial provider cannot be found. Normally, a provider-specific spatial provider + is obtained from the a implementation which is in turn returned by resolving + a service for passing the provider invariant name as a key. However, this + cannot work for stand-alone instances of and since + it is impossible to know the spatial provider to use. Therefore, when creating stand-alone instances + of and the global spatial provider is always used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider and provider + manifest token. + + + Use + to register spatial services for use only when a specific manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The indicating the type of ADO.NET connection for which this spatial provider will be used. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider with any + manifest token. + + + Use + to register spatial services for use when any manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this spatial provider will be used. + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + a factory for the type of to use with . + + + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + instance onto before any commands will be logged. + For more low-level control over logging/interception see and + . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A delegate that will create formatter instances. + + + + Call this method from the constructor of a class derived from to + register an at application startup. Note that interceptors can also + be added and removed at any time using . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The interceptor to register. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Sets a singleton model store implementation (persisted model cache). + + The model store implementation. + + + + Call this method from the constructor of a class derived from to register + a database table existence checker for a given provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The table existence checker to use. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + This attribute can be placed on a subclass of to indicate that the subclass of + representing the code-based configuration for the application is in a different + assembly than the context type. + + + Normally a subclass of should be placed in the same assembly as + the subclass of used by the application. It will then be discovered automatically. + However, if this is not possible or if the application contains multiple context types in different + assemblies, then this attribute can be used to direct DbConfiguration discovery to the appropriate type. + An alternative to using this attribute is to specify the DbConfiguration type to use in the application's + config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. + + + + + Indicates that the given subclass of should be used for code-based configuration + for this application. + + + The type to use. + + + + + Indicates that the subclass of represented by the given assembly-qualified + name should be used for code-based configuration for this application. + + + The type to use. + + + + + Gets the subclass of that should be used for code-based configuration + for this application. + + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to (localdb)\MSSQLLocalDB unless a different DefaultConnectionFactory is registered.) + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + The model that will back this context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + + An existing ObjectContext to wrap with the new context. + + If set to true the ObjectContext is disposed when the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuilder, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns a instance for access to entities of the given type in the context + and the underlying store. + + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the non-generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic instance for access to entities of the given type in the context + and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + + + + Saves all changes made in this context to the underlying database. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + Thrown if the context has been disposed. + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + Collection of validation results for invalid entities. The collection is never null and must not contain null values or results for valid entities. + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation; false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + + User-defined dictionary containing additional info for custom validation. It will be passed to + + and will be exposed as + + . This parameter is optional and can be null. + + Entity validation result. Possibly null when overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Wraps access to the transaction object on the underlying store connection and ensures that the + Entity Framework executes commands on the database within the context of that transaction. + An instance of this class is retrieved by calling BeginTransaction() on the + + object. + + + + + Gets the database (store) transaction that is underlying this context transaction. + + + + + Commits the underlying store transaction + + + + + Rolls back the underlying store transaction + + + + + Cleans up this transaction object and ensures the Entity Framework + is no longer using that transaction. + + + + + Releases the resources used by this transaction object + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this class was called EdmFunctionAttribute in some previous versions of Entity Framework. + + + + + Initializes a new instance of the class. + + The namespace of the mapped-to function. + The name of the mapped-to function. + + + The namespace of the mapped-to function. + The namespace of the mapped-to function. + + + The name of the mapped-to function. + The name of the mapped-to function. + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that this class was called EntityFunctions in some previous versions of Entity Framework. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding + DbContext.OnModelCreating(DbModelBuilder) + . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Configures the default database schema name. This default database schema name is used + for database objects that do not have an explicitly configured schema name. + + The name of the default database schema. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes the specified type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers an entity type as part of the model. + + The type to be registered. + + This method is provided as a convenience to allow entity types to be registered dynamically + without the need to use MakeGenericMethod in order to call the normal generic Entity method. + This method does not allow further configuration of the entity type using the fluent APIs since + these APIs make extensive use of generic type parameters. + + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types + in the model that inherit from or implement the type specified by the generic argument. + This method does not register types as part of the model. + + The type of the entities or complex types that this convention will apply to. + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also known as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + when targeting .Net Framework 4 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v6.0 + should be used. + + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also known as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + + The conventions version to use. + + + + + Gets the conventions version. + + + The conventions version. + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + + + + + + + + + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + + + + + + + Returns the equivalent non-generic object. + + The generic set object. + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. + + The type of the context. + + Whether or not the model has changed is determined by the + method. + To seed the database create a derived class and override the Seed method. + + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + Describes the state of an entity. + + + + + The entity is not being tracked by the context. + An entity is in this state immediately after it has been created with the new operator + or with one of the Create methods. + + + + + The entity is being tracked by the context and exists in the database, and its property + values have not changed from the values in the database. + + + + + The entity is being tracked by the context but does not yet exist in the database. + + + + + The entity is being tracked by the context and exists in the database, but has been marked + for deletion from the database the next time SaveChanges is called. + + + + + The entity is being tracked by the context and exists in the database, and some or all of its + property values have been modified. + + + + + A provider-independent service API for HierarchyId type support. + + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Represents hierarchical data. + + + + + The Path separator character + + + + + Constructs an HierarchyId. + + + + + Constructs an HierarchyId with the given canonical string representation value. + + Hierarchyid value. + Canonical string representation + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + Value Condition Less than zero: hid1 is less than hid2. + Zero: hid1 equals hid2. + Greater than zero: hid1 is greater than hid2. + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are equal, false otherwise + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are not equal, false otherwise + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a value-based hash code, to allow HierarchyId to be used in hash tables. + + the hash value of this HierarchyId + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a string representation of the hierarchyid value. + + A string representation of the hierarchyid value. + + + + Implementation of IComparable.CompareTo() + + The object to compare to + 0 if the HierarchyIds are "equal" (i.e., have the same _hierarchyId value) + + + + An implementation of this interface is used to initialize the underlying database when + an instance of a derived class is used for the first time. + This initialization can conditionally create the database and/or seed it with data. + The strategy used is set using the static InitializationStrategy property of the + class. + The following implementations are provided: , + , . + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + An represents the collection of all entities in the context, or that + can be queried from the database, of a given type. is a concrete + implementation of IDbSet. + + + was originally intended to allow creation of test doubles (mocks or + fakes) for . However, this approach has issues in that adding new members + to an interface breaks existing code that already implements the interface without the new members. + Therefore, starting with EF6, no new members will be added to this interface and it is recommended + that be used as the base class for test doubles. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Inherit from this class to create a service that allows for code generation of custom annotations as part of + scaffolding Migrations. The derived class should be set onto the . + + + Note that an is not needed if the annotation uses a simple string value, + or if calling ToString on the annotation object is sufficient for use in the scaffolded Migration. + + + + + Override this method to return additional namespaces that should be included in the code generated for the + scaffolded migration. The default implementation returns an empty enumeration. + + The names of the annotations that are being included in the generated code. + A list of additional namespaces to include. + + + + Implement this method to generate code for the given annotation value. + + The name of the annotation for which a value is being generated. + The annotation value. + The writer to which generated code should be written. + + + + Represents a pair of annotation values in a scaffolded or hand-coded . + + + Code First allows for custom annotations to be associated with columns and tables in the + generated model. This class represents a pair of annotation values in a migration such + that when the Code First model changes the old annotation value and the new annotation + value can be provided to the migration and used in SQL generation. + + + + + Creates a new pair of annotation values. + + The old value of the annotation, which may be null if the annotation has just been created. + The new value of the annotation, which may be null if the annotation has been deleted. + + + + Gets the old value of the annotation, which may be null if the annotation has just been created. + + + + + Gets the new value of the annotation, which may be null if the annotation has been deleted. + + + + + + + + + + + Returns true if both annotation pairs contain the same values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if both pairs contain the same values. + + + + Returns true if the two annotation pairs contain different values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if the pairs contain different values. + + + + Returned by and related methods to indicate whether or + not one object does not conflict with another such that the two can be combined into one. + + + If the two objects are not compatible then information about why they are not compatible is contained + in the property. + + + + + Creates a new instance. + + Indicates whether or not the two tested objects are compatible. + + An error message indicating how the objects are not compatible. Expected to be null if isCompatible is true. + + + + + True if the two tested objects are compatible; otherwise false. + + + + + If is true, then returns an error message indicating how the two tested objects + are incompatible. + + + + + Implicit conversion to a bool to allow the result object to be used directly in checks. + + The object to convert. + True if the result is compatible; false otherwise. + + + + Types used as custom annotations can implement this interface to indicate that an attempt to use + multiple annotations with the same name on a given table or column may be possible by merging + the multiple annotations into one. + + + Normally there can only be one custom annotation with a given name on a given table or + column. If a table or column ends up with multiple annotations, for example, because + multiple CLR properties map to the same column, then an exception will be thrown. + However, if the annotation type implements this interface, then the two annotations will be + checked for compatibility using the method and, if compatible, + will be merged into one using the method. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new merged annotation. This method is + only expected to succeed if returns true. + + The annotation to merge with this one. + A new merged annotation. + + + + Instances of this class are used as custom annotations for representing database indexes in an + Entity Framework model. + + + An index annotation is added to a Code First model when an is placed on + a mapped property of that model. This is used by Entity Framework Migrations to create indexes on + mapped database columns. Note that multiple index attributes on a property will be merged into a + single annotation for the column. Similarly, index attributes on multiple properties that map to the + same column will be merged into a single annotation for the column. This means that one index + annotation can represent multiple indexes. Within an annotation there can be only one index with any + given name. + + + + + The name used when this annotation is stored in Entity Framework metadata or serialized into + an SSDL/EDMX file. + + + + + Creates a new annotation for the given index. + + An index attributes representing an index. + + + + Creates a new annotation for the given collection of indexes. + + Index attributes representing one or more indexes. + + + + Gets the indexes represented by this annotation. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + + Each index annotation contains at most one with a given name. + Two annotations are considered compatible if each IndexAttribute with a given name is only + contained in one annotation or the other, or if both annotations contain an IndexAttribute + with the given name. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new annotation containing the merged indexes. + + + Each index annotation contains at most one with a given name. + The merged annotation will contain IndexAttributes from both this and the other annotation. + If both annotations contain an IndexAttribute with the same name, then the merged annotation + will contain one IndexAttribute with that name. + + The annotation to merge with this one. + A new annotation with indexes from both annotations merged. + + The other annotation contains indexes that are not compatible with indexes in this annotation. + + + + + + + + This class is used to serialize and deserialize objects so that they + can be stored in the EDMX form of the Entity Framework model. + + + An example of the serialized format is: + { Name: 'MyIndex', Order: 7, IsClustered: True, IsUnique: False } { } { Name: 'MyOtherIndex' }. + Note that properties that have not been explicitly set in an index attribute will be excluded from + the serialized output. So, in the example above, the first index has all properties specified, + the second has none, and the third has just the name set. + + + + + Serializes the given into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize which must be an IndexAnnotation object. + The serialized value. + + + + Deserializes the given string back into an object. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + If there is an error reading the serialized value. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Checks if the is tracking any new, deleted, or changed entities or + relationships that will be sent to the database if is called. + + + Functionally, calling this method is equivalent to checking if there are any entities or + relationships in the Added, Updated, or Deleted state. + Note that this method calls unless + has been set to false. + + + True if underlying have changes, else false. + + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from + ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + The context. + + + + A non-generic version of the class. + + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Represents information about a database connection. + + + + + Creates a new instance of DbConnectionInfo representing a connection that is specified in the application configuration file. + + The name of the connection string in the application configuration. + + + + Creates a new instance of DbConnectionInfo based on a connection string. + + The connection string to use for the connection. + The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Describes the origin of the database connection string associated with a . + + + + + The connection string was created by convention. + + + + + The connection string was read from external configuration. + + + + + The connection string was explicitly specified at runtime. + + + + + The connection string was overridden by connection information supplied to DbContextInfo. + + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + + true if lazy loading is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + + true if proxy creation is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is false. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + Gets or sets a value indicating whether the + method is called automatically by methods of and related classes. + The default value is true. + + + true if should be called automatically; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + Provides runtime information about a given type. + + + + + Creates a new instance representing a given type. + + + The type deriving from . + + + + + Creates a new instance representing a given targeting a specific database. + + + The type deriving from . + + Connection information for the database to be used. + + + + Creates a new instance representing a given type. An external list of + connection strings can be supplied and will be used during connection string resolution in place + of any connection strings specified in external configuration files. + + + It is preferable to use the constructor that accepts the entire config document instead of using this + constructor. Providing the entire config document allows DefaultConnectionFactroy entries in the config + to be found in addition to explicitly specified connection strings. + + + The type deriving from . + + A collection of connection strings. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + + + + Creates a new instance representing a given , targeting a specific database. + An external config object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + Connection information for the database to be used. + + + + Creates a new instance representing a given type. A + can be supplied in order to override the default determined provider used when constructing + the underlying EDM model. + + + The type deriving from . + + + A specifying the underlying ADO.NET provider to target. + + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + A can be supplied in order to override the default determined + provider used when constructing the underlying EDM model. This can be useful to prevent EF from + connecting to discover a manifest token. + + + The type deriving from . + + An object representing the config file. + + A specifying the underlying ADO.NET provider to target. + + + + + The concrete type. + + + + + Whether or not instances of the underlying type can be created. + + + + + The connection string used by the underlying type. + + + + + The connection string name used by the underlying type. + + + + + The ADO.NET provider name of the connection used by the underlying type. + + + + + The origin of the connection string used by the underlying type. + + + + + An action to be run on the DbModelBuilder after OnModelCreating has been run on the context. + + + + + If instances of the underlying type can be created, returns + a new instance; otherwise returns null. + + + A instance. + + + + + A non-generic version of the class. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object,object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + The object representing the tracked entity. + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object, object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Provides the base implementation of the retry mechanism for unreliable operations and transient conditions that uses + exponentially increasing delays between retries. + + + A new instance will be created each time an operation is executed. + The following formula is used to calculate the delay after retryCount number of attempts: + min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) + The retryCount starts at 0. + The random factor distributes uniformly the retry attempts from multiple simultaneous operations failing simultaneously. + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + Returns true to indicate that might retry the execution after a failure. + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + A delegate representing an executable operation that doesn't return any results. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + The type of result expected from the executable operation. + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified asynchronous operation while it satisfies the current retry policy. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repeatedly executes the specified asynchronous operation while it satisfies the current retry policy. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Determines whether the operation should be retried and the delay before the next attempt. + + The exception thrown during the last execution attempt. + + Returns the delay indicating how long to wait for before the next execution attempt if the operation should be retried; + null otherwise + + + + + Recursively gets InnerException from as long as it's an + , or + and passes it to + + The type of the unwrapped exception. + The exception to be unwrapped. + A delegate that will be called with the unwrapped exception. + + The result from . + + + + + Determines whether the specified exception represents a transient failure that can be compensated by a retry. + + The exception object to be verified. + + true if the specified exception is considered as transient, otherwise false. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + Gets the name of the property. + The name of the property. + + + + Gets or sets the current value of this property. + + The current value. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Gets the provider information. + + + + + Gets the provider manifest. + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Gets the mapping model. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Base class for persisted model cache. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the default database schema used by a model. + + The type of context representing the model. + The default database schema. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + Setting this value to false for a modified property will revert the change by setting the + current value to the original value. If the result is that no properties of the entity are + marked as modified, then the entity will be marked as Unchanged. + Setting this value to false for properties of Added, Unchanged, or Deleted entities + is a no-op. + + + true if this instance is modified; otherwise, false . + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false . + + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Groups a pair of strings that identify a provider and server version together into a single object. + + + Instances of this class act as the key for resolving a for a specific + provider from a . This is typically used when registering spatial services + in or when the spatial services specific to a provider is + resolved by an implementation of . + + + + + Creates a new object for a given provider invariant name and manifest token. + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + The manifest token is sometimes referred to as a version hint. + + + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + + + + + + + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new DbQuery<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + + + + + + + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + Returns a new instance of the non-generic class for this query. + + The query. + A non-generic version. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a generic version of this class. + + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a non-generic version of this class. + + The type of elements returned by the query. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of the query that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a generic version of this class. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking + and AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a non-generic version of this class. + + The type of entities returned by the query. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking and + AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateConcurrencyException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Exception thrown by when the saving of changes to the database fails. + Note that state entries referenced by this exception are not serialized due to security and accesses to the + state entries after serialization will return null. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Loads or saves models from/into .edmx files at a specified location. + + + + + Initializes a new DefaultDbModelStore instance. + + The parent directory for the .edmx files. + + + + Gets the location of the .edmx files. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the path of the .edmx file corresponding to the specified context type. + + A context type. + The .edmx file path. + + + + Validates the model store is valid. + The default implementation verifies that the .edmx file was last + written after the context assembly was last written. + + The type of context representing the model. + The path of the stored model. + Whether the edmx file should be invalidated. + + + + An that doesn't retry operations if they fail. + + + + + Returns false to indicate that will not retry the execution after a failure. + + + + + Executes the specified operation once. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation once and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation once, without retrying on failure. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + Executes the specified asynchronous operation once, without retrying on failure. + + + The result type of the returned by . + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + A default implementation of that uses the + underlying provider to get the manifest token. + Note that to avoid multiple queries, this implementation using caching based on the actual type of + instance, the property, + and the property. + + + + + + + + Event arguments passed to event handlers. + + + + + Returns a snapshot of the that is about to be locked. + Use the GetService methods on this object to get services that have been registered. + + + + + Call this method to add a instance to the Chain of + Responsibility of resolvers that are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The only exception to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here, unless the + overrideConfigFile is set to true in which case the resolver added here will also override config + file settings. + + The resolver to add. + If true, then the resolver added will take precedence over settings in the config file. + + + + Call this method to add a instance to the Chain of Responsibility + of resolvers that are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + The resolver to add. + + + + Adds a wrapping resolver to the configuration that is about to be locked. A wrapping + resolver is a resolver that incepts a service would have been returned by the resolver + chain and wraps or replaces it with another service of the same type. + + The type of service to wrap or replace. + A delegate that takes the unwrapped service and key and returns the wrapped or replaced service. + + + + + + + + + + + + + + + + An implementation used for resolving + factories. + + + This class can be used by to aid in the resolving + of factories as a default service for the provider. + + The type of execution strategy that is resolved. + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + A string that will be matched against the server name in the connection string. null will match anything. + + A function that returns a new instance of an execution strategy. + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return null. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + This interface is implemented by any object that can resolve a dependency, either directly + or through use of an external container. + + + The public services currently resolved using IDbDependencyResolver are documented here: + http://msdn.microsoft.com/en-us/data/jj680697 + + + + + Attempts to resolve a dependency for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return null and not throw. This + allows resolvers to be used in a Chain of Responsibility pattern such that multiple resolvers + can be asked to resolve a dependency until one finally does. + + The interface or abstract base class that defines the dependency to be resolved. The returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + The resolved dependency, which must be an instance of the given contract type, or null if the dependency could not be resolved. + + + + Attempts to resolve a dependencies for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return an empty enumeration and + not throw. This method differs from in that it returns all registered + services for the given type and key combination. + + The interface or abstract base class that defines the dependency to be resolved. Every returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + All services that resolve the dependency, which must be instances of the given contract type, or an empty enumeration if the dependency could not be resolved. + + + + Extension methods to call the method using + a generic type parameter and/or no name. + + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Implements to resolve a dependency such that it always returns + the same instance. + + The type that defines the contract for the dependency that will be resolved. + + This class is immutable such that instances can be accessed by multiple threads at the same time. + + + + + Constructs a new resolver that will return the given instance for the contract type + regardless of the key passed to the Get method. + + The instance to return. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches exactly the key passed to the Get method. + + The instance to return. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches the key passed to the Get method based on the given predicate. + + The instance to return. + A predicate that takes the key object and returns true if and only if it matches. + + + + + + + + + + An implementation used for resolving + factories. + + + + + Initializes a new instance of + + A function that returns a new instance of a transaction handler. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which the transaction handler will be used. + null will match anything. + + + A string that will be matched against the server name in the connection string. null will match anything. + + + + + If the given type is , then this method will attempt + to return the service to use, otherwise it will return null. When the given type is + , then the key is expected to be a . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + , then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + + + + + + + Provides utility methods for reading from an App.config or Web.config file. + + + + + Initializes a new instance of . + + The configuration to read from. + + + + Gets the specified provider services from the configuration. + + The invariant name of the provider services. + The provider services type name, or null if not found. + + + + Used for design-time scenarios where the user's code needs to be executed inside + of an isolated, runtime-like . + + Instances of this class should be created inside of the guest domain. + Handlers should be created inside of the host domain. To invoke operations, + create instances of the nested classes inside + + + + + Initializes a new instance of the class. Do this inside of the guest + domain. + + The path for the assembly containing the user's code. + The parameter is not used. + + + + Used to get the assembly-qualified name of the DbProviderServices type for the + specified provider invariant name. + + + + + Represents an operation. + + + + + Initializes a new instance of the class. + + An object to handle callbacks during the operation. + + + + Executes an action passing exceptions to the handler. + + The action to execute. + + + + Executes an action passing the result or exceptions to the handler. + + The result type. + The action to execute. + + + + Executes an action passing results or exceptions to the handler. + + The type of results. + The action to execute. + + + + Base handler type. Handlers aren't required to use this exact type. Only the + namespace, name, and member signatures need to be the same. This also applies to + handler contracts types + + + + + Indicates whether the specified contract is implemented by this handler. + + The full name of the contract interface. + True if the contract is implemented, otherwise false. + + + + Used to handle reported design-time activity. + + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + A contract handlers can use to accept a single result. + + + + + + Sets the result. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + true if the error was handled; otherwise, false. + + + + Used to handle reported design-time activity. + + + + + Initializes a new instance of the class. + + A callback for . + A callback for . + A callback for . + A callback for . + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + Used with to handle operation results. + + + + + Gets a value indicating whether a result is available. + + A value indicating whether a result is available. + + + + Gets the result. + + The result. + + + + Gets the type of the exception if any. + + The exception type. + + + + Gets the error message if any. + + The error message. + + + + Get the error stack trace if any. + + The stack trace. + + + + Invoked when a result is available. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Utility class for reading a metadata model from .edmx. + + + + + Reads a metadata model from .edmx. + + XML reader for the .edmx + Default database schema used by the model. + The loaded metadata model. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + A key used for resolving . It consists of the ADO.NET provider invariant name + and the database server name as specified in the connection string. + + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A string that will be matched against the server name in the connection string. + + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + + + A string that will be matched against the server name in the connection string. + + + + + + + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements of the enumerable sequence to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets the current element in the iteration. + + + + + Defines methods to create and asynchronously execute queries that are described by an + object. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Asynchronously executes the query represented by a specified expression tree. + + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Asynchronously executes the strongly-typed query represented by a specified expression tree. + + The type of the value that results from executing the query. + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + A factory for creating derived instances. Implement this + interface to enable design-time services for context types that do not have a + public default constructor. + At design-time, derived instances can be created in order to enable specific + design-time experiences such as model rendering, DDL generation etc. To enable design-time instantiation + for derived types that do not have a public, default constructor, implement + this interface. Design-time services will auto-discover implementations of this interface that are in the + same assembly as the derived type. + + The type of the context. + + + + Creates a new instance of a derived type. + + An instance of TContext + + + + A strategy that is used to execute a command or query against the database, possibly with logic to retry when a failure occurs. + + + + + Indicates whether this might retry the execution after a failure. + + + + + Executes the specified operation. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation and returns the result. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory. + + + + Determines whether the current cached model key is equal to the specified cached model key. + true if the current cached model key is equal to the specified cached model key; otherwise, false. + The cached model key to compare to the current cached model key. + + + Returns the hash function for this cached model key. + The hash function for this cached model key. + + + + Implement this interface on your context to use custom logic to calculate the key used to lookup an already created model in the cache. + This interface allows you to have a single context type that can be used with different models in the same AppDomain, + or multiple context types that use the same model. + + + + Gets the cached key associated with the provider. + The cached key associated with the provider. + + + + A service for obtaining the correct from a given + . + + + On .NET 4.5 the provider is publicly accessible from the connection. On .NET 4 the + default implementation of this service uses some heuristics to find the matching + provider. If these fail then a new implementation of this service can be registered + on to provide an appropriate resolution. + + + + + Returns the for the given connection. + + The connection. + The provider factory for the connection. + + + + A service for getting a provider manifest token given a connection. + The class is used by default and makes use of the + underlying provider to get the token which often involves opening the connection. + A different implementation can be used instead by adding an + to that may use any information in the connection to return + the token. For example, if the connection is known to point to a SQL Server 2008 database then + "2008" can be returned without opening the connection. + + + + + Returns the manifest token to use for the given connection. + + The connection for which a manifest token is required. + The manifest token to use. + + + + Implement this interface to allow custom annotations represented by instances to be + serialized to and from the EDMX XML. Usually a serializer instance is set using the + method. + + + + + Serializes the given annotation value into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize. + The serialized value. + + + + Deserializes the given string back into the expected annotation value. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to start a transaction. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The isolation level to associate. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + This is the default log formatter used when some is set onto the + property. A different formatter can be used by creating a class that inherits from this class and overrides + some or all methods to change behavior. + + + To set the new formatter create a code-based configuration for EF using and then + set the formatter class to use with . + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + onto before any commands will be logged. + For more low-level control over logging/interception see and + . + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Creates a formatter that will not filter by any and will instead log every command + from any context and also commands that do not originate from a context. + + + This constructor is not used when a delegate is set on . Instead it can be + used by setting the formatter directly using . + + The delegate to which output will be sent. + + + + Creates a formatter that will only log commands the come from the given instance. + + + This constructor must be called by a class that inherits from this class to override the behavior + of . + + + The context for which commands should be logged. Pass null to log every command + from any context and also commands that do not originate from a context. + + The delegate to which output will be sent. + + + + The context for which commands are being logged, or null if commands from all contexts are + being logged. + + + + + Writes the given string to the underlying write delegate. + + The string to write. + + + + This property is obsolete. Using it can result in logging incorrect execution times. Call + instead. + + + + + The stopwatch used to time executions. This stopwatch is started at the end of + , , and + methods and is stopped at the beginning of the , , + and methods. If these methods are overridden and the stopwatch is being used + then the overrides should either call the base method or start/stop the stopwatch themselves. + + The interception context for which the stopwatch will be obtained. + The stopwatch. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + Called whenever a command is about to be executed. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the + context filtering behavior. + + The type of the operation's results. + The command that will be executed. + Contextual information associated with the command. + + + + Called whenever a command has completed executing. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the context + filtering behavior. + + The type of the operation's results. + The command that was executed. + Contextual information associated with the command. + + + + Called to log a command that is about to be executed. Override this method to change how the + command is logged to . + + The type of the operation's results. + The command to be logged. + Contextual information associated with the command. + + + + Called by to log each parameter. This method can be called from an overridden + implementation of to log parameters, and/or can be overridden to + change the way that parameters are logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + The parameter to log. + + + + Called to log the result of executing a command. Override this method to change how results are + logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + + + + Does not write to log unless overridden. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that began the transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was opened. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was closed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + + + + + + + + + + + + A simple logger for logging SQL and other database operations to the console or a file. + A logger can be registered in code or in the application's web.config /app.config file. + + + + + Creates a new logger that will send log output to the console. + + + + + Creates a new logger that will send log output to a file. If the file already exists then + it is overwritten. + + A path to the file to which log output will be written. + + + + Creates a new logger that will send log output to a file. + + A path to the file to which log output will be written. + True to append data to the file if it exists; false to overwrite the file. + + + + Stops logging and closes the underlying file if output is being written to a file. + + + + + Stops logging and closes the underlying file if output is being written to a file. + + + True to release both managed and unmanaged resources; False to release only unmanaged resources. + + + + + Starts logging. This method is a no-op if logging is already started. + + + + + Stops logging. This method is a no-op if logging is not started. + + + + + Called to start logging during Entity Framework initialization when this logger is registered. + as an . + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when executing commands. It is provided publicly so that + code that runs outside of the core EF assemblies can opt-in to command interception/tracing. This is + typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls into + implementations. + + + An instance of this class is passed to the dispatch methods of + and does not contain mutable information such as the result of the operation. This mutable information + is obtained from the that is passed to the interceptors. + Instances of this class are publicly immutable. To add contextual information use one of the + With... or As... methods to create a new interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The that will be used or has been used to execute the command with a + . This property is only used for + and its async counterparts. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations including the result of the operation. + + The type of the operation's results. + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Base class that implements . This class is a convenience for + use when only one or two methods of the interface actually need to have any implementation. + + + + + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The original tree created by Entity Framework. Interceptors can change the + property to change the tree that will be used, but the + will always be the tree created by Entity Framework. + + + + + The command tree that will be used by Entity Framework. This starts as the tree contained in the + the property but can be set by interceptors to change + the tree that will be used by Entity Framework. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + setting . + + The connection on which the operation will be executed. + Information about the context of the call being made, including the value to be set. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token. + A task that represents the asynchronous operation. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type on a . + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Provides access to all dispatchers through the fluent API. + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + This is the registration point for interceptors. Interceptors + receive notifications when EF performs certain operations such as executing commands against + the database. For example, see . + + + + + Registers a new to receive notifications. Note that the interceptor + must implement some interface that extends from to be useful. + + The interceptor to add. + + + + Removes a registered so that it will no longer receive notifications. + If the given interceptor is not registered, then this is a no-op. + + The interceptor to remove. + + + + This is the entry point for dispatching to interceptors. This is usually only used internally by + Entity Framework but it is provided publicly so that other code can make sure that registered + interceptors are called when operations are performed on behalf of EF. For example, EF providers + a may make use of this when executing commands. + + + + + Represents contextual information associated with calls into + implementations. + + + Note that specific types/operations that can be intercepted may use a more specific + interception context derived from this class. For example, if SQL is being executed by + a , then the DbContext will be contained in the + instance that is passed to the methods + of . + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. See + + The context from which to copy state. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item if + a single has been used to construct multiple + instances. + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item when + EF has created a new for use in database creation and initialization, or + if a single is used with multiple . + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + True if the operation is being executed asynchronously, otherwise false. + + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + Call this method when creating a copy of an interception context in order to add new state + to it. Using this method instead of calling the constructor directly ensures virtual dispatch + so that the new type will have the same type (and any specialized state) as the context that + is being cloned. + + A new context with all state copied. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The connection on which the transaction was started + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The connection on which the transaction was started. + A new interception context that also contains the connection on which the transaction was started. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to enlist a connection. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The transaction to be used in the invocation. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework executes commands. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework creates command trees. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called after a new has been created. + The tree that is used after interception can be changed by setting + while intercepting. + + + Command trees are created for both queries and insert/update/delete commands. However, query + command trees are cached by model which means that command tree creation only happens the + first time a query is executed and this notification will only happen at that time + + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework loads the application's . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Occurs during EF initialization after the has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that an interceptor of this type should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework performs operations on a . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is invoked. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The transaction used by Entity Framework can be changed by setting + . + + The connection that began the transaction. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was closed. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is set. + + The connection. + Contextual information associated with the call. + + + + Called after is set. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being disposed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was disposed. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection. + Contextual information associated with the call. + + + + Called before or its async counterpart is invoked. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + + The connection that was opened. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + This is the base interface for all interfaces that provide interception points for various + different types and operations. For example, see . + Interceptors are registered on the class. + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework commits or rollbacks a transaction. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being disposed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was disposed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + Represents contextual information associated with calls that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type . + + + An instance of this class is passed to the dispatch methods and does not contain mutable information such as + the result of the operation. This mutable information is obtained from the + that is passed to the interceptors. Instances of this class are publicly immutable. To add contextual information + use one of the With... or As... methods to create a new interception context containing the new information. + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The value that will be assigned to the target property. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Used by and when resolving + a provider invariant name from a . + + + + Gets the name of the provider. + The name of the provider. + + + + Instances of this class are used to create DbConnection objects for + SQL Server LocalDb based on a given database name or connection string. + + + An instance of this class can be set on the class or in the + app.config/web.config for the application to cause all DbContexts created with no + connection information or just a database name to use SQL Server LocalDb by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + The connection string to use for options to the database other than the 'Initial Catalog', 'Data Source', and 'AttachDbFilename'. The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the database name when CreateConnection is called. The 'Data Source' will be set based on the LocalDbVersion argument. + + + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + The default is 'Integrated Security=True;'. + + + + + Creates a connection for SQL Server LocalDb based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a mapping view. + + + + + Creates a instance having the specified entity SQL. + + A string that specifies the entity SQL. + + + + Gets the entity SQL. + + + + + Base abstract class for mapping view cache implementations. + Derived classes must have a parameterless constructor if used with . + + + + + Gets a hash value computed over the mapping closure. + + + + + Gets a view corresponding to the specified extent. + + An that specifies the extent. + A that specifies the mapping view, + or null if the extent is not associated with a mapping view. + + + + Specifies the means to create concrete instances. + + + + + Creates a generated view cache instance for the container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + + A that specifies the generated view cache. + + + + + Defines a custom attribute that specifies the mapping view cache type (subclass of ) + associated with a context type (subclass of or ). + The cache type is instantiated at runtime and used to retrieve pre-generated views in the + corresponding context. + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + + A subclass of . + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + The assembly qualified full name of the cache type. + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Applies the convention to the given model. + + The container to apply the convention to. + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Compares objects using reference equality. + + + + + Gets the default instance. + + + + + Represents a custom pluralization term to be used by the + + + + + Get the singular. + + + + + Get the plural. + + + + + Create a new instance + + A non null or empty string representing the singular. + A non null or empty string representing the plural. + + + + Default pluralization service implementation to be used by Entity Framework. This pluralization + service is based on English locale. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + A collection of user dictionary entries to be used by this service.These inputs + can customize the service according the user needs. + + + + Returns the plural form of the specified word. + The plural form of the input parameter. + The word to be made plural. + + + Returns the singular form of the specified word. + The singular form of the input parameter. + The word to be made singular. + + + + Pluralization services to be used by the EF runtime implement this interface. + By default the is used, but the pluralization service to use + can be set in a class derived from . + + + + + Pluralize a word using the service. + + The word to pluralize. + The pluralized word + + + + Singularize a word using the service. + + The word to singularize. + The singularized word. + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + The exception that is thrown when the action failed again after being retried the configured number of times. + + + + + Initializes a new instance of the class with no error message. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use its default for the database file location. + The connection string to use for options to the database other than the 'Data Source'. The Data Source will be prepended to this string based on the database name when CreateConnection is called. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True;'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will be prepended to this string based on the database name when CreateConnection is called. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True;'. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Implemented by Entity Framework providers and used to check whether or not tables exist + in a given database. This is used by database initializers when determining whether or not to + treat an existing database as empty such that tables should be created. + + + + + When overridden in a derived class checks where the given tables exist in the database + for the given connection. + + + The context for which table checking is being performed, usually used to obtain an appropriate + . + + + A connection to the database. May be open or closed; should be closed again if opened. Do not + dispose. + + The tables to check for existence. + The name of the EdmMetadata table to check for existence. + True if any of the model tables or EdmMetadata table exists. + + + + Helper method to get the table name for the given s-space . + + The s-space entity set for the table. + The table name. + + + + Thrown when an error occurs committing a . + + + + + Initializes a new instance of + + + + + Initializes a new instance of + + The exception message. + + + + Initializes a new instance of + + The exception message. + The inner exception. + + + + Initializes a new instance of the class. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + A transaction handler that allows to gracefully recover from connection failures + during transaction commit by storing transaction tracing information in the database. + It needs to be registered by using . + + + This transaction handler uses to store the transaction information + the schema used can be configured by creating a class derived from + that overrides and passing it to the constructor of this class. + + + + + Initializes a new instance of the class using the default . + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes a new instance of the class. + + The transaction context factory. + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Gets the transaction context. + + + The transaction context. + + + + + The map between the store transactions and the transaction tracking objects + + + + + Creates a new instance of an to use for quering the transaction log. + If null the default will be used. + + An instance or null. + + + + + + + + + + Gets the number of transactions to be executed on the context before the transaction log will be cleaned. + The default value is 20. + + + + + + + + + + + Stores the tracking information for the new transaction to the database in the same transaction. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + If there was an exception thrown checks the database for this transaction and rethrows it if not found. + Otherwise marks the commit as succeeded and queues the transaction information to be deleted. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was rolled back. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was disposed. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + A task that represents the asynchronous operation. + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + The cancellation token. + A task that represents the asynchronous operation. + + + + Adds the specified transaction to the list of transactions that can be removed from the database + + The transaction to be removed from the database. + + + + Removes the transactions marked for deletion. + + + + + Asynchronously removes the transactions marked for deletion. + + A task that represents the asynchronous operation. + + + + Asynchronously removes the transactions marked for deletion. + + The cancellation token. + A task that represents the asynchronous operation. + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + The cancellation token. + A task that represents the asynchronous operation. + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + This class is used by to write and read transaction tracing information + from the database. + To customize the definition of the transaction table you can derive from + this class and override . Derived classes can be registered + using . + + + By default EF will poll the resolved to check wether the database schema is compatible and + will try to modify it accordingly if it's not. To disable this check call + Database.SetInitializer<TTransactionContext>(null) where TTransactionContext is the type of the resolved context. + + + + + Initializes a new instance of the class. + + The connection used by the context for which the transactions will be recorded. + + + + Gets or sets a that can be used to read and write instances. + + + + + + + + The base class for interceptors that handle the transaction operations. Derived classes can be registered using + or + . + + + + + Initializes a new instance of the class. + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + The connection to use for the initialization. + + This method is called by migrations. It is important that no action is performed on the + specified context that causes it to be initialized. + + + + + Gets the context. + + + The for which the transaction operations will be handled. + + + + + Gets the context. + + + The for which the transaction operations will be handled, could be null. + + + + + Gets the connection. + + + The for which the transaction operations will be handled. + + + This connection object is only used to determine whether a particular operation needs to be handled + in cases where a context is not available. + + + + + + + + Gets or sets a value indicating whether this transaction handler is disposed. + + + true if disposed; otherwise, false. + + + + + Releases the resources used by this transaction handler. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Checks whether the supplied interception context contains the target context + or the supplied connection is the same as the one used by the target context. + + A connection. + An interception context. + + true if the supplied interception context contains the target context or + the supplied connection is the same as the one used by the target context if + the supplied interception context doesn't contain any contexts; false otherwise. + + + Note that calling this method will trigger initialization of any DbContext referenced from the + + + + + When implemented in a derived class returns the script to prepare the database + for this transaction handler. + + A script to change the database schema for this transaction handler. + + + + Can be implemented in a derived class. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection that was disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being rolled back. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Rrepresents a transaction + + + + + A unique id assigned to a transaction object. + + + + + The local time when the transaction was started. + + + + + + + + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Allows configuration to be performed for an complex type in a model. + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same ComplexTypeConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows derived configuration classes for entities and complex types to be registered with a + . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Discovers all types that inherit from or + in the given assembly and adds an instance + of each discovered type to this registrar. + + + Note that only types that are abstract or generic type definitions are skipped. Every + type that is discovered and added must provide a parameterless constructor. + + The assembly containing model configurations to add. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows the conventions used by a instance to be customized. + The default conventions can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + + + + Discover all conventions in the given assembly and add them to the . + + + This method add all conventions ordered by type name. The order in which conventions are added + can have an impact on how they behave because it governs the order in which they are run. + All conventions found must have a parameterless public constructor. + + The assembly containing conventions to be added. + + + + Enables one or more conventions for the . + + The conventions to be enabled. + + + + Enables a convention for the . + + The type of the convention to be enabled. + + + + Enables a convention for the . This convention + will run after the one specified. + + The type of the convention after which the enabled one will run. + The convention to enable. + + + + Enables a configuration convention for the . This convention + will run before the one specified. + + The type of the convention before which the enabled one will run. + The convention to enable. + + + + Disables one or more conventions for the . + + The conventions to be disabled. + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the + System.Data.Entity.ModelConfiguration.Conventions namespace. + + The type of the convention to be disabled. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties in a model. + + + + + Filters the properties that this convention applies to based on a predicate. + + A function to test each property for a condition. + + A instance so that multiple calls can be chained. + + + + + Filters the properties that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each property. If the value is null, the + property will be filtered out. + + + A instance so that multiple calls can be chained. + + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties of entity types in a model and a captured value. + + The type of the captured value. + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model. + + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type. + + The common type of the entity types that this convention applies to. + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model and a captured value. + + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type and a + captured value. + + The common type of the entity types that this convention applies to. + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to modify a relationship. + + The type of the entity that the relationship is being configured from. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Creates a convention that configures stored procedures to be used to delete entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to insert entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a convention that configures stored procedures to be used to update entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to delete entities. + + The type of the entity that the stored procedure can be used to delete. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to insert entities. + + The type of the entity that the stored procedure can be used to insert. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + + Sets the name of the stored procedure. + + Name of the procedure. + The same configuration instance so that multiple calls can be chained. + + + + Sets the name of the stored procedure. + + Name of the procedure. + Name of the schema. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + Configures stored procedure used to insert relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Performs configuration of a stored procedure uses to modify an entity in the database. + + + + + Allows configuration to be performed for a stored procedure that is used to modify entities. + + The type of the entity that the stored procedure can be used to modify. + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to update entities. + + The type of the entity that the stored procedure can be used to update. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + Initializes a new instance of the class. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + A lambda expression to an anonymous type that contains the properties to be mapped. C#: t => new { t.Id, t.Property1, t.Property2 } VB.Net: Function(t) New With { p.Id, t.Property1, t.Property2 } + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Re-maps all properties inherited from base types. + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name to be mapped to. + + Name of the table. + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + The same configuration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + A lambda expression representing the property being used to discriminate between types. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object to further configure the discriminator condition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a column with length facets for an entity type or complex type. This configuration functionality is exposed by the Code First Fluent API, see . + + + + Configures the column to allow the maximum length supported by the database provider. + The same instance so that multiple calls can be chained. + + + Configures the column to have the specified maximum length. + The same instance so that multiple calls can be chained. + The maximum length for the column. Setting the value to null will remove any maximum length restriction from the column and a default length will be used for the database column. + + + Configures the column to be fixed length. + The same instance so that multiple calls can be chained. + + + Configures the column to be variable length. + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a primitive column from an entity type. + + + + Configures the primitive column to be optional. + The same instance so that multiple calls can be chained. + + + Configures the primitive column to be required. + The same instance so that multiple calls can be chained. + + + Configures the data type of the primitive column used to store the property. + The same instance so that multiple calls can be chained. + The name of the database provider specific data type. + + + Configures the order of the primitive column used to store the property. This method is also used to specify key ordering when an entity type has a composite key. + The same instance so that multiple calls can be chained. + The order that this column should appear in the database table. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. Setting 'null' will result in a default length being used for the column. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + Value indicating if the column supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the column. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an index. + + + + + Configures the index to be unique. + + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures whether the index will be unique. + + Value indicating if the index should be unique or not. + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a primary key index. + + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A lambda expression representing the navigation property on the other end of the relationship. + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + A lambda expression representing the property to be used as the foreign key. If the foreign key is made up of multiple properties then specify an anonymous type including the properties. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the principal entity type. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for a database column that has been configured with . + The annotation value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The name of the column that was configured with the HasKey method. + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the join table. The annotation value can later be used when + processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key points to the parent entity of the navigation property specified in the HasMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key points to the parent entity of the navigation property specified in the WithMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + Determines whether the specified object is equal to the current object. + true if the specified object is equal to the current object; otherwise, false. + The object to compare with the current object. + + + + + + + + + + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + The type of the parent entity of the navigation property specified in the HasMany call. + The type of the parent entity of the navigation property specified in the WithMany call. + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + The default conventions for procedure and parameter names will be used. + + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + + + Configuration to override the default conventions for procedure and parameter names. + + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property in a mapping fragment. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the database column used to store the property, in a mapping fragment. + + The name of the column. + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via lightweight conventions. + + + + + Gets the for this property. + + + + + Configures the name of the database column used to store the property. + + The name of the column. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + + The same instance so that multiple calls can be chained. + + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be used as an optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures how values for the property are generated by the database. + + The pattern used to generate values for the property in the database. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to support Unicode string content. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to be variable length. + Properties are variable length by default. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to allow the maximum length supported by the database provider. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures this property to be part of the entity type's primary key. + + + The same instance so that + multiple calls can be chained. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The name of the property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Configures a property that is defined on this type. + + The name of the property being configured. + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The property being configured. + A configuration object that can be used to configure the property. + + + + Configures the primary key property for this entity type. + + The name of the property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property for this entity type. + + The property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The names of the properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured or if any + property does not exist. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + A type inherited by the entity type. + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + + The same instance so that multiple calls can be chained. + + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A general purpose class for Code First conventions that read attributes from .NET properties + and generate column annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create column annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each column. + + + + A general purpose class for Code First conventions that read attributes from .NET types + and generate table annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create table annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each table. + + + + Convention to process instances of found on properties in the model + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on foreign key properties in the model. + + + + + + + + A convention for discovering attributes on properties and generating + column annotations in the model. + + + + + Constructs a new instance of the convention. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Base class for conventions that process CLR attributes found on primitive properties in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The configuration for the property that has the attribute. + The attribute. + + + + Base class for conventions that process CLR attributes found on properties of types in the model. + + + Note that the derived convention will be applied for any non-static property on the mapped type that has + the specified attribute, even if it wasn't included in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The member info for the property that has the attribute. + The configuration for the class that contains the property. + The attribute. + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a class that has an attribute of type TAttribute applied. + + The configuration for the class that contains the property. + The attribute. + + + + A convention that doesn't override configuration. + + + + + The derived class can use the default constructor to apply a set rule of that change the model configuration. + + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model that derive from or implement the specified type. + + The type of the entities that this convention will apply to. + A configuration object for the convention. + This method does not add new types to the model. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + + + + Convention to apply column ordering specified via + + or the API. + + + + + + + + Validates the ordering configuration supplied for columns. + This base implementation is a no-op. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to apply column ordering specified via + + or the API. This convention throws if a duplicate configured column order + is detected. + + + + + Validates the ordering configuration supplied for columns to ensure + that the same ordinal was not supplied for two columns. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to introduce indexes for foreign keys. + + + + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Initializes a new instance of with the default precision and scale. + + + + + Initializes a new instance of with the specified precision and scale. + + Precision + Scale + + + + + + + Convention to move primary key properties to appear first. + + + + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + + + + Base class for conventions that discover foreign key properties. + + + + + Returns true if the convention supports pairs of entity types that have multiple associations defined between them. + + + + + When overridden returns true if should be part of the foreign key. + + The association type being configured. + The dependent end. + The candidate property on the dependent end. + The principal end entity type. + A key property on the principal end that is a candidate target for the foreign key. + true if dependentProperty should be a part of the foreign key; otherwise, false. + + + + + + + Convention to process instances of found on navigation properties in the model. + + + + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + + + + Base class for conventions that discover primary key properties. + + + + + + + + When overridden returns the subset of properties that will be part of the primary key. + + The entity type. + The primitive types of the entities + The properties that should be part of the primary key. + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + + + + + + + Convention to enable cascade delete for any required relationships. + + + + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + + + + Convention to set a maximum length for properties whose type supports length facets. The default value is 128. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The maximum length of properties. + + + + + + + + + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The default maximum length for properties. + + + + + + + + + + Convention to configure integer primary keys to be identity. + + + + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + + + + A convention that operates on the conceptual section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Identifies conventions that can be added to or removed from a instance. + + + Note that implementations of this interface must be immutable. + + + + + A convention that operates on the database section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Allows configuration to be performed for an entity type in a model. + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + The entity type being configured. + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + A builder to configure the key. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures index property(s) for this entity type. + + The type of the index. + A lambda expression representing the property to apply an index to. C#: t => t.Id VB.Net: Function(t) t.Id If the index is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The IndexConfiguration instance so that the index can be further configured. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + The properties of an entity can be split between multiple tables using multiple Map calls. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + Initializes a new instance of class serialization info and streaming context. + The serialization info. + The streaming context. + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + An implementation of that will use Code First Migrations + to update the database to the latest version. + + The type of the context. + The type of the migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will use + the connection information from a context constructed using the default constructor + or registered factory if applicable + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + Also allows specifying migrations configuration to use during initialization. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + Migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will + use a specific connection string from the configuration file to connect to + the database to perform the migration. + + The name of the connection string to use for migration. + + + + + + + Helper class that is used to configure a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new column definition to store Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + Value indicating whether or not this column should be configured as a timestamp. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The numeric precision of the column. + The numeric scale of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Value indicating whether or not the database will generate values for this column during insert. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the column supports Unicode content. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store hierarchyid data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to configure a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new parameter definition to pass Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The numeric precision of the parameter. + The numeric scale of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the parameter supports Unicode content. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to further configure a table being created from a CreateTable call on + + . + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The type that represents the table's columns. + + + + Initializes a new instance of the TableBuilder class. + + The table creation operation to be further configured. + The migration the table is created in. + + + + Specifies a primary key for the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The name of the primary key. If null is supplied, a default name will be generated. + A value indicating whether or not this is a clustered primary key. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies an index to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be indexed. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties are to be indexed then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + The name of the index. + A value indicating whether or not this is a unique index. + A value indicating whether or not this is a clustered index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies a foreign key constraint to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table that the foreign key constraint targets. + A lambda expression representing the properties of the foreign key. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties make up the foreign key then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + A value indicating whether or not cascade delete should be configured on the foreign key constraint. + The name of this foreign key constraint. If no name is supplied, a default name will be calculated. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Base class for code-based migrations. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operations to be performed during the upgrade process. + + + + + Operations to be performed during the downgrade process. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + The parameters in this create stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The parameters in this alter stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing stored procedure with the specified name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the procedure to drop. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + Custom annotations that exist on the table to be created. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to handle changes in the annotations defined on tables. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The column this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The columns this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The name of the foreign key constraint in the database. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a table to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be moved. Schema name is optional, if no schema is specified then dbo is + assumed. + + The schema the table is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a stored procedure to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be moved. Schema name is optional, if no schema is specified + then dbo is assumed. + + The schema the stored procedure is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a table. To change the schema of a table use MoveTable. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be renamed. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The new name for the table. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a stored procedure. To change the schema of a stored procedure use MoveStoredProcedure + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be renamed. Schema name is optional, if no schema is specified + then dbo is assumed. + + + The new name for the stored procedure. Schema name is optional, if no schema is specified then + dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the column to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the column to be renamed. + The new name for the column. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to add a column to an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to add the column to. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be added. + + An action that specifies the column to be added. i.e. c => c.Int(nullable: false, + defaultValue: 3) + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter the definition of an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table the column exists in. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be changed. + + An action that specifies the new definition for the column. i.e. c => c.String(nullable: + false, defaultValue: "none") + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The primary key column. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key based on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The primary key columns. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that does not have the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the primary key to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that was created with the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on a single column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the columns to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the index to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column(s) the index targets. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename an index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the index to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the index to be renamed. + The new name for the index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL command or set of SQL commands. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The SQL file to be executed. Relative paths are assumed to be relative to the current AppDomain's BaseDirectory. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL resource file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The manifest resource name of the SQL resource file to be executed. + + The assembly containing the resource file. The calling assembly is assumed if not provided. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + + + + + + + + + + + + + + + + + + + Configuration relating to the use of migrations for a given model. + You will typically create a configuration class that derives + from rather than + using this class. + + + + + The default directory that migrations are stored in. + + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Gets or sets a value indicating if automatic migrations can be used when migrating the database. + + + + + Gets or sets the string used to distinguish migrations belonging to this configuration + from migrations belonging to other configurations using the same database. + This property enables migrations from multiple different models to be applied to a single database. + + + + + Gets or sets a value indicating if data loss is acceptable during automatic migration. + If set to false an exception will be thrown if data loss may occur as part of an automatic migration. + + + + + Adds a new SQL generator to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + The SQL generator to be used. + + + + Gets the SQL generator that is set to be used with a given database provider. + + Name of the database provider to get the SQL generator for. + The SQL generator that is set for the database provider. + + + + Adds a new factory for creating instances to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + + A factory for creating instances for a given and + representing the default schema. + + + + + Gets the history context factory that is set to be used with a given database provider. + + Name of the database provider to get thefactory for. + The history context factory that is set for the database provider. + + + + Gets or sets the derived DbContext representing the model to be migrated. + + + + + Gets or sets the namespace used for code-based migrations. + + + + + Gets or sets the sub-directory that code-based migrations are stored in. + Note that this property must be set to a relative path for a sub-directory under the + Visual Studio project root; it cannot be set to an absolute path. + + + + + Gets or sets the code generator to be used when scaffolding migrations. + + + + + Gets or sets the assembly containing code-based migrations. + + + + + Gets or sets a value to override the connection of the database to be migrated. + + + + + Gets or sets the timeout value used for the individual commands within a + migration. + + + The time in seconds to wait for the command to execute. A null value indicates + that the default value of the underlying provider will be used. + + + + + Configuration relating to the use of migrations for a given model. + + The context representing the model that this configuration applies to. + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Runs after upgrading to the latest migration to allow seed data to be updated. + + + Note that the database may already contain seed data when this method runs. This means that + implementations of this method must check whether or not seed data is present and/or up-to-date + and then only make changes if necessary and in a non-destructive way. The + + can be used to help with this, but for seeding large amounts of data it may be necessary to do less + granular checks if performance is an issue. + If the database + initializer is being used, then this method will be called each time that the initializer runs. + If one of the , , + or initializers is being used, then this method will not be + called and the Seed method defined in the initializer should be used instead. + + Context to be used for updating seed data. + + + + + + + + + + + + + + + + + + + DbMigrator is used to apply existing migrations to a database. + DbMigrator can be used to upgrade and downgrade to any given migration. + To scaffold migrations based on changes to your model use + + + + + Migration Id representing the state of the database before any migrations are applied. + + + + + Initializes a new instance of the DbMigrator class. + + Configuration to be used for the migration process. + + + + Initializes a new instance of the DbMigrator class using the supplied context. + Use this constructor when applying migrations from code to avoid having migrations attempt + to create a context/connection for you. + + Configuration to be used for the migration process. + The to use. + + + + Gets the configuration that is being used for the migration process. + + + + + Gets all migrations that are defined in the configured migrations assembly. + + The list of migrations. + + + + Gets all migrations that have been applied to the target database. + + The list of migrations. + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + The list of migrations. + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + A set of extension methods for + + + + + Adds or updates entities by key when SaveChanges is called. Equivalent to an "upsert" operation + from database terminology. + This method can be useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Adds or updates entities by a custom identification expression when SaveChanges is called. + Equivalent to an "upsert" operation from database terminology. + This method can useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + An expression specifying the properties that should be used when determining whether an Add or Update operation should be performed. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Generates C# code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which using directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to specify the definition for a . + The parameter definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + Base class for providers that generate code for code-based migrations. + + + + + Generates the code that should be added to the users project. + + Unique identifier of the migration. + Operations to be performed by the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Gets the namespaces that must be output as "using" or "Imports" directives to handle + the code generated by the given operations. + + The operations for which code is going to be generated. + An ordered list of namespace names. + + + + Gets the default namespaces that must be output as "using" or "Imports" directives for + any code generated. + + A value indicating if this class is being generated for a code-behind file. + An ordered list of namespace names. + + + + Gets the instances that are being used. + + + + + Scaffolds code-based migrations to apply pending model changes to the database. + + + + + Initializes a new instance of the MigrationScaffolder class. + + Configuration to be used for scaffolding. + + + + Gets or sets the namespace used in the migration's generated code. + By default, this is the same as MigrationsNamespace on the migrations + configuration object passed into the constructor. For VB.NET projects, this + will need to be updated to take into account the project's root namespace. + + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + The scaffolded migration. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The scaffolded migration. + + + + Represents a code-based migration that has been scaffolded and is ready to be written to a file. + + + + + Gets or sets the unique identifier for this migration. + Typically used for the file name of the generated code. + + + + + Gets or sets the scaffolded migration code that the user can edit. + + + + + Gets or sets the scaffolded migration code that should be stored in a code behind file. + + + + + Gets or sets the programming language used for this migration. + Typically used for the file extension of the generated code. + + + + + Gets or sets the subdirectory in the user's project that this migration should be saved in. + + + + + Gets a dictionary of string resources to add to the migration resource file. + + + + + Gets or sets whether the migration was re-scaffolded. + + + + + Represents an exception that occurred while running an operation in another AppDomain in the + . + + + + + Initializes a new instance of the ToolingException class. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the ToolingException class. + + Error that explains the reason for the exception. + The type of the exception that was thrown. + The stack trace of the exception that was thrown. + + + + Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the type of the exception that was thrown. + + + + + Gets the stack trace of the exception that was thrown. + + + + + Helper class that is used by design time tools to run migrations related + commands that need to interact with an application that is being edited + in Visual Studio. + Because the application is being edited the assemblies need to + be loaded in a separate AppDomain to ensure the latest version + is always loaded. + The App/Web.config file from the startup project is also copied + to ensure that any configuration is applied. + + + + + Gets or sets an action to be run to log information. + + + + + Gets or sets an action to be run to log warnings. + + + + + Gets or sets an action to be run to log verbose information. + + + + + Initializes a new instance of the ToolingFacade class. + + The name of the assembly that contains the migrations configuration to be used. + The name of the assembly that contains the DbContext to be used. + The namespace qualified name of migrations configuration to be used. + The working directory containing the compiled assemblies. + The path of the config file from the startup project. + The path of the application data directory from the startup project. Typically the App_Data directory for web applications or the working directory for executables. + The connection to the database to be migrated. If null is supplied, the default connection for the context will be used. + + + + Releases all unmanaged resources used by the facade. + + + + + Gets the fully qualified name of all types deriving from . + + All context types found. + + + + Gets the fully qualified name of a type deriving from . + + The name of the context type. If null, the single context type found in the assembly will be returned. + The context type found. + + + + Gets a list of all migrations that have been applied to the database. + + Ids of applied migrations. + + + + Gets a list of all migrations that have not been applied to the database. + + Ids of pending migrations. + + + + Updates the database to the specified migration. + + The Id of the migration to migrate to. If null is supplied, the database will be updated to the latest migration. + Value indicating if data loss during automatic migration is acceptable. + + + + Generates a SQL script to migrate between two migrations. + + The migration to update from. If null is supplied, a script to update the current database will be produced. + The migration to update to. If null is supplied, a script to update to the latest migration will be produced. + Value indicating if data loss during automatic migration is acceptable. + The generated SQL script. + + + + Scaffolds a code-based migration to apply any pending model changes. + + The name for the generated migration. + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The programming language of the generated migration. + The root namespace of the project the migration will be added to. + The scaffolded migration. + + + + + + + Releases all resources used by the facade. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Generates VB.Net code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which Imports directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The parameter model definition to generate code for. + Text writer to add the generated code to. + true to include the column name in the definition; otherwise, false. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + To customize the definition of the migrations history table you can derive from + this class and override OnModelCreating. Derived instances can either be registered + on a per migrations configuration basis using , + or globally using . + + + + + The default name used for the migrations history table. + + + + + Initializes a new instance of the HistoryContext class. + If you are creating a derived history context you will generally expose a constructor + that accepts these same parameters and passes them to this base constructor. + + + An existing connection to use for the new context. + + + The default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets the key used to locate a model that was previously built for this context. This is used + to avoid processing OnModelCreating and calculating the model every time a new context instance is created. + By default this property returns the default schema. + In most cases you will not need to override this property. However, if your implementation of OnModelCreating + contains conditional logic that results in a different model being built for the same database provider and + default schema you should override this property and calculate an appropriate key. + + + + + Gets the default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets or sets a that can be used to read and write instances. + + + + + Applies the default configuration for the migrations history table. If you override + this method it is recommended that you call this base implementation before applying your + custom configuration. + + The builder that defines the model for the context being created. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + + + + + Gets or sets the Id of the migration this row represents. + + + + + Gets or sets a key representing to which context the row applies. + + + + + Gets or sets the state of the model after this migration was applied. + + + + + Gets or sets the version of Entity Framework that created this entry. + + + + + Represents an error that occurs when an automatic migration would result in data loss. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents an error that occurs when there are pending model changes after applying the last migration and automatic migration is disabled. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Explicitly implemented by to prevent certain members from showing up + in the IntelliSense of scaffolded migrations. + + + + + Adds a custom to the migration. + Custom operation implementors are encouraged to create extension methods on + that provide a fluent-style API for adding new operations. + + The operation to add. + + + + Provides additional metadata about a code-based migration. + + + + + Gets the unique identifier for the migration. + + + + + Gets the state of the model before this migration is run. + + + + + Gets the state of the model after this migration is run. + + + + + Represents errors that occur inside the Code First Migrations pipeline. + + + + + Initializes a new instance of the MigrationsException class. + + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the MigrationsException class with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + Base class for loggers that can be used for the migrations process. + + + + + Logs an informational message. + + The message to be logged. + + + + Logs a warning that the user should be made aware of. + + The message to be logged. + + + + Logs some additional information that should only be presented to the user if they request verbose output. + + The message to be logged. + + + + Thrown when an operation can't be performed because there are existing migrations that have not been applied to the database. + + + + + Initializes a new instance of the MigrationsPendingException class. + + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Base class for decorators that wrap the core + + + + + Initializes a new instance of the MigratorBase class. + + The migrator that this decorator is wrapping. + + + + Gets a list of the pending migrations that have not been applied to the database. + + List of migration Ids + + + + Gets the configuration being used for the migrations process. + + + + + Updates the target database to the latest migration. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets a list of the migrations that are defined in the assembly. + + List of migration Ids + + + + Gets a list of the migrations that have been applied to the database. + + List of migration Ids + + + + Decorator to provide logging during migrations operations.. + + + + + Initializes a new instance of the MigratorLoggingDecorator class. + + The migrator that this decorator is wrapping. + The logger to write messages to. + + + + Decorator to produce a SQL script instead of applying changes to the database. + Using this decorator to wrap will prevent + from applying any changes to the target database. + + + + + Initializes a new instance of the MigratorScriptingDecorator class. + + The migrator that this decorator is wrapping. + + + + Produces a script to update the database. + + + The migration to update from. If null is supplied, a script to update the + current database will be produced. + + + The migration to update to. If null is supplied, + a script to update to the latest migration will be produced. + + The generated SQL script. + + + + Represents a column being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be added to. + Details of the column being added. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be added to. + + + + + Gets the details of the column being added. + + + + + Gets an operation that represents dropping the added column. + + + + + + + + Represents a foreign key constraint being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddForeignKeyOperation class. + The PrincipalTable, PrincipalColumns, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + The names of the column(s) that the foreign key constraint should target. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if cascade delete should be configured on the foreign key constraint. + + + + + Gets an operation to create an index on the foreign key column(s). + + An operation to add the index. + + + + Gets an operation to drop the foreign key constraint. + + + + + + + + Represents adding a primary key to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the primary key. + + + + + Represents altering an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + An operation to revert this alteration of the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table that the column belongs to. + + + + + Gets the new definition for the column. + + + + + Gets an operation that represents reverting the alteration. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents altering an existing stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Represents changes made to custom annotations on a table. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterTableOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table on which annotations have changed. + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table on which annotations have changed. + + + + + Gets the columns to be included in the table for which annotations have changed. + + + + + Gets the custom annotations that have changed on the table. + + + + + Gets an operation that is the inverse of this one such that annotations will be changed back to how + they were before this operation was applied. + + + + + + + + Represents information about a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the CLR type corresponding to the database type of this column. + + + + + Gets the default value for the CLR type corresponding to the database type of this column. + + + + + Gets or sets a value indicating if this column can store null values. + + + + + Gets or sets a value indicating if values for this column will be generated by the database using the identity pattern. + + + + + Gets or sets a value indicating if this property model should be configured as a timestamp. + + + + + Gets or sets the custom annotations that have changed on the column. + + + + + Determines if this column is a narrower data type than another column. + Used to determine if altering the supplied column definition to this definition will result in data loss. + + The column to compare to. + Details of the database provider being used. + True if this column is of a narrower data type. + + + + Represents creating a database index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateIndexOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets a value indicating if this is a unique index. + + + + + Gets an operation to drop this index. + + + + + + + + Gets or sets whether this is a clustered index. + + + + + A migration operation to add a new stored procedure to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the stored procedure. + + + + + Represents creating a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Custom annotations that exist on the table to be created. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be created. + + + + + Gets the columns to be included in the new table. + + + + + Gets or sets the primary key for the new table. + + + + + Gets custom annotations that exist on the table to be created. + + + + + Gets an operation to drop the table. + + + + + + + + Represents a column being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be dropped from. + + + + + Gets the name of the column to be dropped. + + + + + Gets custom annotations that exist on the column that is being dropped. + + + + + Gets an operation that represents reverting dropping the column. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents a foreign key constraint being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + The PrincipalTable, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc.. + + The operation that represents reverting dropping the foreign key constraint. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the associated index on the foreign key column(s). + + An operation to drop the index. + + + + Gets an operation that represents reverting dropping the foreign key constraint. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The operation that represents reverting dropping the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that represents reverting dropping the index. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping a primary key from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to add the primary key. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Drops a stored procedure from the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to drop. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to drop. + + + The name of the stored procedure to drop. + + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents dropping an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be dropped. + + + + + Gets custom annotations that exist on the table that is being dropped. + + + + + Gets custom annotations that exist on columns of the table that is being dropped. + + + + + Gets an operation that represents reverting dropping the table. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Base class for changes that affect foreign key constraints. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that the foreign key constraint targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the name of the table that the foreign key columns exist in. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + The names of the foreign key column(s). + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this foreign key constraint. + + + + + Gets or sets the name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operation representing DML changes to the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the HistoryOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A sequence of command trees representing the operations being applied to the history table. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + A sequence of commands representing the operations being applied to the history table. + + + + + + + + Common base class for operations affecting indexes. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a default index name based on the supplied column names. + + The column names used to create a default index name. + A default index name. + + + + Initializes a new instance of the IndexOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the table the index belongs to. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the columns that are indexed. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this index. + + + + + Gets or sets the name of this index. + If no name is supplied, a default name will be calculated. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents an operation to modify a database schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MigrationOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" + }'. + + + + + Gets additional arguments that may be processed by providers. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. + + + + + Represents moving a stored procedure to a new schema in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to move. + The new schema for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to move. + + + The name of the stored procedure to move. + + + + + Gets the new schema for the stored procedure. + + + The new schema for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents moving a table from one schema to another. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MoveTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be moved. + Name of the schema to move the table to. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be moved. + + + + + Gets the name of the schema to move the table to. + + + + + Gets an operation that moves the table back to its original schema. + + + + + + + + Used when altering the migrations history table so that data can be moved to the new table. + + + The context key for the model. + + + + + Gets a value that indicates whether this is a system table. + + + true if the table is a system table; otherwise, false. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Represents a migration operation that can not be performed, possibly because it is not supported by the targeted database provider. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets or sets a value indicating whether this instance is out parameter. + + + true if this instance is out parameter; otherwise, false. + + + + + Common base class to represent operations affecting primary keys. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Returns the default name for the primary key. + + The target table name. + The default primary key name. + + + + Initializes a new instance of the PrimaryKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that contains the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the column(s) that make up the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this primary key. + + + + + Gets or sets the name of this primary key. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + + + + Gets or sets whether this is a clustered primary key. + + + + + A migration operation that affects stored procedures. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure. + + + The name of the stored procedure. + + + + + Gets the body of the stored procedure expressed in SQL. + + + The body of the stored procedure expressed in SQL. + + + + + Gets the parameters of the stored procedure. + + + The parameters of the stored procedure. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a property of an entity. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the PropertyModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this property model. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the data type for this property model. + + + + + Gets additional details about the data type of this property model. + This includes details such as maximum length, nullability etc. + + + + + Gets or sets the name of the property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a provider specific data type to use for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the maximum length for this property model. + Only valid for array data types. + + + + + Gets or sets the precision for this property model. + Only valid for decimal data types. + + + + + Gets or sets the scale for this property model. + Only valid for decimal data types. + + + + + Gets or sets a constant value to use as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a SQL expression used as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if this property model is fixed length. + Only valid for array data types. + + + + + Gets or sets a value indicating if this property model supports Unicode characters. + Only valid for textual data types. + + + + + Represents renaming an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the column belongs to. + Name of the column to be renamed. + New name for the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column belongs to. + + + + + Gets the name of the column to be renamed. + + + + + Gets the new name for the column. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the index belongs to. + Name of the index to be renamed. + New name for the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the index belongs to. + + + + + Gets the name of the index to be renamed. + + + + + Gets the new name for the index. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming a stored procedure in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to rename. + The new name for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to rename. + + + The name of the stored procedure to rename. + + + + + Gets the new name for the stored procedure. + + + The new name for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents renaming an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be renamed. + New name for the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be renamed. + + + + + Gets the new name for the table. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents a provider specific SQL statement to be executed directly against the target database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the SqlOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the SQL to be executed. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + + + + Used when scripting an update database operation to store the operations that would have been performed against the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents a migration to be applied to the database. + + + + + Gets the id of the migration. + + + The id of the migration. + + + + + Gets the individual operations applied by this migration. + + + The individual operations applied by this migration. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + Gets the migrations applied during the update database operation. + + + The migrations applied during the update database operation. + + + + + Adds a migration to this update database operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The id of the migration. + The individual operations applied by the migration. + + + + Gets a value indicating if any of the operations may result in data loss. + + + + + Common base class for providers that convert provider agnostic migration + operations into database provider specific SQL commands. + + + + + Gets or sets the provider manifest. + + + The provider manifest. + + + + + Converts a set of migration operations into database provider specific SQL. + + The operations to be converted. + Token representing the version of the database being targeted. + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Builds the store type usage for the specified using the facets from the specified . + + Name of the store type. + The target property. + A store-specific TypeUsage + + + + Represents a migration operation that has been translated into a SQL statement. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the SQL to be executed to perform this migration operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Gets or sets the batch terminator for the database provider. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The batch terminator for the database provider. + + + + + The same as but works in partial trust and adds explicit caching of + generated indentation string and also recognizes writing a string that contains just \r\n or \n as a write-line to ensure + we indent the next line properly. + + + + + Specifies the default tab string. This field is constant. + + + + + Specifies the culture what will be used by the underlying TextWriter. This static property is read-only. + Note that any writer passed to one of the constructors of must use this + same culture. The culture is . + + + + + Gets the encoding for the text writer to use. + + + An that indicates the encoding for the text writer to use. + + + + + Gets or sets the new line character to use. + + The new line character to use. + + + + Gets or sets the number of spaces to indent. + + The number of spaces to indent. + + + + Gets the to use. + + + The to use. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and default tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + The tab string to use for indentation. + + + + Closes the document being written to. + + + + + Flushes the stream. + + + + + Outputs the tab string once for each level of indentation according to the + + property. + + + + + Builds a string representing the current indentation level for a new line. + + + Does NOT check if tabs are currently pending, just returns a string that would be + useful in replacing embedded newline characters. + + An empty string, or a string that contains .Indent level's worth of specified tab-string. + + + + Writes the specified string to the text stream. + + The string to write. + + + + Writes the text representation of a Boolean value to the text stream. + + The Boolean value to write. + + + + Writes a character to the text stream. + + The character to write. + + + + Writes a character array to the text stream. + + The character array to write. + + + + Writes a subarray of characters to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double to the text stream. + + The double to write. + + + + Writes the text representation of a Single to the text stream. + + The single to write. + + + + Writes the text representation of an integer to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object to the text stream. + + The object to write. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the specified string to a line without tabs. + + The string to write. + + + + Writes the specified string, followed by a line terminator, to the text stream. + + The string to write. + + + + Writes a line terminator. + + + + + Writes the text representation of a Boolean, followed by a line terminator, to the text stream. + + The Boolean to write. + + + + Writes a character, followed by a line terminator, to the text stream. + + The character to write. + + + + Writes a character array, followed by a line terminator, to the text stream. + + The character array to write. + + + + Writes a subarray of characters, followed by a line terminator, to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double, followed by a line terminator, to the text stream. + + The double to write. + + + + Writes the text representation of a Single, followed by a line terminator, to the text stream. + + The single to write. + + + + Writes the text representation of an integer, followed by a line terminator, to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer, followed by a line terminator, to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object, followed by a line terminator, to the text stream. + + The object to write. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the text representation of a UInt32, followed by a line terminator, to the text stream. + + A UInt32 to output. + + + + An implementation of that does nothing. Using this + initializer disables database initialization for the given context type. Passing an instance + of this class to is equivalent to passing null. + When is being used to resolve initializers an instance of + this class must be used to disable initialization. + + The type of the context. + + + + + + + Extension methods for . + + + + + Returns an implementation that stays in sync with the given + . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + Useful extension methods for use with Entity Framework LINQ queries. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + The type of entity being queried. + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + The path expression must be composed of simple property access expressions together with calls to Select for + composing additional includes after including a collection proprty. Examples of possible include paths are: + To include a single reference: query.Include(e => e.Level1Reference) + To include a single collection: query.Include(e => e.Level1Collection) + To include a reference and then a reference one level down: query.Include(e => e.Level1Reference.Level2Reference) + To include a reference and then a collection one level down: query.Include(e => e.Level1Reference.Level2Collection) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection, a reference, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference.Level3Reference)) + To include a collection, a collection, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection.Select(l2 => l2.Level3Reference))) + This extension method calls the Include(String) method of the source IQueryable object, if such a method exists. + If the source IQueryable does not have a matching method, then this method does nothing. + The Entity Framework ObjectQuery, ObjectSet, DbQuery, and DbSet types all have an appropriate Include method to call. + When you call the Include method, the query path is only valid on the returned instance of the IQueryable<T>. Other + instances of IQueryable<T> and the object context itself are not affected. Because the Include method returns the + query object, you can call this method multiple times on an IQueryable<T> to specify multiple paths for the query. + + The type of entity being queried. + The type of navigation property being included. + The source IQueryable on which to call Include. + A lambda expression representing the path to include. + + A new IQueryable<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + The type of the elements of . + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a list from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + is null. + + + doesn't implement . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Bypasses a specified number of elements in a sequence and then returns the remaining elements. + + The type of the elements of source. + A sequence to return elements from. + An expression that evaluates to the number of elements to skip. + A sequence that contains elements that occur after the specified index in the + input sequence. + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of source. + The sequence to return elements from. + An expression that evaluates to the number of elements + to return. + A sequence that contains the specified number of elements from the + start of the input sequence. + + + + Represents data in a geodetic (round earth) coordinate system. + + + + Gets the default coordinate system id (SRID) for geography values (WGS 84) + The default coordinate system id (SRID) for geography values (WGS 84) + + + Gets a representation of this DbGeography value that is specific to the underlying provider that constructed it. + A representation of this DbGeography value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeography value. + A data contract serializable well known representation of this DbGeography value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeography value as defined by the well known binary value with the default geography coordinate system identifier (SRID)( + + ). + + A byte array that contains a well known binary representation of the geography value. + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeography value as defined by the GML value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified well known text value. + + + A new DbGeography value as defined by the well known text value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geography value. + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known text value. + The multi polygon value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Gets the identifier associated with the coordinate system. + The identifier associated with the coordinate system. + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of the given value. + + + + Gets the spatial type name of the DBGeography. + The spatial type name of the DBGeography. + + + Gets a nullable Boolean value indicating whether this DbGeography value is empty. + True if this DbGeography value is empty; otherwise, false. + + + Generates the well known text representation of this DbGeography value. Includes only Longitude and Latitude for points. + A string containing the well known text representation of this DbGeography value. + + + Generates the well known binary representation of this DbGeography value. + The well-known binary representation of this DbGeography value. + + + Generates the Geography Markup Language (GML) representation of this DbGeography value. + A string containing the GML representation of this DbGeography value. + + + Determines whether this DbGeography is spatially equal to the specified DbGeography argument. + true if other is spatially equal to this geography value; otherwise false. + The geography value that should be compared with this geography value for equality. + + + Determines whether this DbGeography is spatially disjoint from the specified DbGeography argument. + true if other is disjoint from this geography value; otherwise false. + The geography value that should be compared with this geography value for disjointness. + + + Determines whether this DbGeography value spatially intersects the specified DbGeography argument. + true if other intersects this geography value; otherwise false. + The geography value that should be compared with this geography value for intersection. + + + Returns a geography object that represents the union of all points whose distance from a geography instance is less than or equal to a specified value. + A geography object that represents the union of all points + The distance. + + + Computes the distance between the closest points in this DbGeography value and another DbGeography value. + A double value that specifies the distance between the two closest points in this geography value and other. + The geography value for which the distance from this value should be computed. + + + Computes the intersection of this DbGeography value and another DbGeography value. + A new DbGeography value representing the intersection between this geography value and other. + The geography value for which the intersection with this value should be computed. + + + Computes the union of this DbGeography value and another DbGeography value. + A new DbGeography value representing the union between this geography value and other. + The geography value for which the union with this value should be computed. + + + Computes the difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the difference between this geography value and other. + The geography value for which the difference with this value should be computed. + + + Computes the symmetric difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the symmetric difference between this geography value and other. + The geography value for which the symmetric difference with this value should be computed. + + + Gets the number of elements in this DbGeography value, if it represents a geography collection. <returns>The number of elements in this geography value, if it represents a collection of other geography values; otherwise null.</returns> + The number of elements in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a geography collection. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a collection of other geography values; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets the Latitude coordinate of this DbGeography value, if it represents a point. <returns>The Latitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Latitude coordinate of this DbGeography value. + + + Gets the Longitude coordinate of this DbGeography value, if it represents a point. <returns>The Longitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Longitude coordinate of this DbGeography value. + + + Gets the elevation (Z coordinate) of this DbGeography value, if it represents a point. <returns>The elevation (Z coordinate) value of this geography value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeography value. + + + Gets the M (Measure) coordinate of this DbGeography value, if it represents a point. <returns>The M (Measure) coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The M (Measure) coordinate of this DbGeography value. + + + Gets a nullable double value that indicates the length of this DbGeography value, which may be null if this value does not represent a curve. + A nullable double value that indicates the length of this DbGeography value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeography value is closed, which may be null if this value does not represent a curve. + True if this DbGeography value is closed; otherwise, false. + + + Gets the number of points in this DbGeography value, if it represents a linestring or linear ring. <returns>The number of elements in this geography value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets a nullable double value that indicates the area of this DbGeography value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeography value. + + + Returns a string representation of the geography value. + A string representation of the geography value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + Represents geometric shapes. + + + + Gets the default coordinate system id (SRID) for geometry values. + The default coordinate system id (SRID) for geometry values. + + + Gets a representation of this DbGeometry value that is specific to the underlying provider that constructed it. + A representation of this DbGeometry value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeometry value. + A data contract serializable well known representation of this DbGeometry value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeometry value as defined by the well known binary value with the default geometry coordinate system identifier ( + + ). + + A byte array that contains a well known binary representation of the geometry value. + wellKnownBinary + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownBinary + coordinateSystemId + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownBinary + coordinateSystemId + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownBinary + coordinateSystemId + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownBinary + coordinateSystemId + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multipoint value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownBinary + coordinateSystemId + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeometry value as defined by the GML value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + geometryMarkup + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryMarkup + coordinateSystemId + + + + Creates a new value based on the specified well known text value. + + + A new DbGeometry value as defined by the well known text value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geometry value. + wellKnownText + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownText + coordinateSystemId + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownText + coordinateSystemId + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownText + coordinateSystemId + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownText + coordinateSystemId + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownText + coordinateSystemId + + + Gets the coordinate system identifier of the DbGeometry object. + The coordinate system identifier of the DbGeometry object. + + + Gets the boundary of the DbGeometry objects. + The boundary of the DbGeometry objects. + + + + Gets the dimension of the given value or, if the value is a collection, the dimension of its largest element. + + + The dimension of the given value. + + + + Gets the envelope (minimum bounding box) of this DbGeometry value, as a geometry value. + The envelope (minimum bounding box) of this DbGeometry value. + + + Gets a spatial type name representation of this DbGeometry value. + A spatial type name representation of this DbGeometry value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is empty, which may be null if this value does not represent a curve. + True if this DbGeometry value is empty; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is simple. + True if this DbGeometry value is simple; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is valid. + True if this DbGeometry value is valid; otherwise, false. + + + Generates the well known text representation of this DbGeometry value. Includes only X and Y coordinates for points. + A string containing the well known text representation of this DbGeometry value. + + + Generates the well known binary representation of this DbGeometry value. + The well-known binary representation of this DbGeometry value. + + + Generates the Geography Markup Language (GML) representation of this DbGeometry value. + A string containing the GML representation of this DbGeometry value. + + + Determines whether this DbGeometry is spatially equal to the specified DbGeometry argument. + true if other is spatially equal to this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for equality. + other + + + Determines whether this DbGeometry is spatially disjoint from the specified DbGeometry argument. + true if other is disjoint from this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for disjointness. + other + + + Determines whether this DbGeometry value spatially intersects the specified DbGeometry argument. + true if other intersects this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for intersection. + other + + + Determines whether this DbGeometry value spatially touches the specified DbGeometry argument. + true if other touches this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value spatially crosses the specified DbGeometry argument. + true if other crosses this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value is spatially within the specified DbGeometry argument. + true if this geometry value is within other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially contains the specified DbGeometry argument. + true if this geometry value contains other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially overlaps the specified DbGeometry argument. + true if this geometry value overlaps other; otherwise false. + The geometry value that should be compared with this geometry value for overlap. + other + + + Determines whether this DbGeometry value spatially relates to the specified DbGeometry argument according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + true if this geometry value relates to other according to the specified intersection pattern matrix; otherwise false. + The geometry value that should be compared with this geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + other + matrix + + + Returns a geometry object that represents the union of all points whose distance from a geometry instance is less than or equal to a specified value. + A geometry object that represents the union of all points. + The distance. + + + Computes the distance between the closest points in this DbGeometry value and another DbGeometry value. + A double value that specifies the distance between the two closest points in this geometry value and other. + The geometry value for which the distance from this value should be computed. + other + + + Gets the convex hull of this DbGeometry value as another DbGeometry value. + The convex hull of this DbGeometry value as another DbGeometry value. + + + Computes the intersection of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the intersection between this geometry value and other. + The geometry value for which the intersection with this value should be computed. + other + + + Computes the union of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the union between this geometry value and other. + The geometry value for which the union with this value should be computed. + other + + + Computes the difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the difference between this geometry value and other. + The geometry value for which the difference with this value should be computed. + other + + + Computes the symmetric difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the symmetric difference between this geometry value and other. + The geometry value for which the symmetric difference with this value should be computed. + other + + + Gets the number of elements in this DbGeometry value, if it represents a geometry collection. <returns>The number of elements in this geometry value, if it represents a collection of other geometry values; otherwise null.</returns> + The number of elements in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a geometry collection. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a collection of other geometry values; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets the X coordinate of this DbGeometry value, if it represents a point. <returns>The X coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The X coordinate of this DbGeometry value. + + + Gets the Y coordinate of this DbGeometry value, if it represents a point. <returns>The Y coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The Y coordinate of this DbGeometry value. + + + Gets the elevation (Z coordinate) of this DbGeometry value, if it represents a point. <returns>The elevation (Z coordinate) of this geometry value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeometry value. + + + Gets the Measure (M coordinate) of this DbGeometry value, if it represents a point. <returns>The Measure (M coordinate) value of this geometry value, if it represents a point; otherwise null.</returns> + The Measure (M coordinate) of this DbGeometry value. + + + Gets a nullable double value that indicates the length of this DbGeometry value, which may be null if this value does not represent a curve. + The length of this DbGeometry value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is closed, which may be null if this value does not represent a curve. + True if this DbGeometry value is closed; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is a ring, which may be null if this value does not represent a curve. + True if this DbGeometry value is a ring; otherwise, false. + + + Gets the number of points in this DbGeometry value, if it represents a linestring or linear ring. <returns>The number of elements in this geometry value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets a nullable double value that indicates the area of this DbGeometry value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeometry value. + + + Gets the DbGeometry value that represents the centroid of this DbGeometry value, which may be null if this value does not represent a surface. + The DbGeometry value that represents the centroid of this DbGeometry value. + + + Gets a point on the surface of this DbGeometry value, which may be null if this value does not represent a surface. + A point on the surface of this DbGeometry value. + + + Gets the DbGeometry value that represents the exterior ring of this DbGeometry value, which may be null if this value does not represent a polygon. + The DbGeometry value that represents the exterior ring of this DbGeometry value. + + + Gets the number of interior rings in this DbGeometry value, if it represents a polygon. <returns>The number of elements in this geometry value, if it represents a polygon; otherwise null.</returns> + The number of interior rings in this DbGeometry value. + + + Returns an interior ring from this DbGeometry value at a specific position, if it represents a polygon. <param name="index">The position within this geometry value from which the interior ring should be taken.</param><returns>The interior ring in this geometry value at the specified position, if it represents a polygon; otherwise null.</returns> + An interior ring from this DbGeometry value at a specific position. + The index. + + + Returns a string representation of the geometry value. + A string representation of the geometry value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeography at the specified column value + The ordinal of the column that contains the geography value + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the column that contains the geography value. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeometry at the specified column value + The ordinal of the data record column that contains the provider-specific geometry data + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the data record column that contains the provider-specific geometry data. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + Returns whether the column at the specified column ordinal is of geography type + + The column ordinal. + + true if the column at the specified column ordinal is of geography type; + false otherwise. + + + + + Returns whether the column at the specified column ordinal is of geometry type + + The column ordinal. + + true if the column at the specified column ordinal is of geometry type; + false otherwise. + + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + Gets the default services for the . + + The default services. + + + + Override this property to allow the spatial provider to fail fast when native types or other + resources needed for the spatial provider to function correctly are not available. + The default value is true which means that EF will continue with the assumption + that the provider has the necessary types/resources rather than failing fast. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + The provider value. + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geography value. + A new DbGeography value backed by this spatial services implementation and the specified provider value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geography value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geographyValue, as a new + + . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geographyValue, or the largest element dimension if + + is a collection. + + The geography value for which the dimension value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value. This value should include only the Longitude and Latitude of points. + + A string containing the well-known text representation of geographyValue. + The geography value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geography value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeography value. + The geography value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geographyValue is spatially equal to otherGeography; otherwise false. + The first geography value to compare for equality. + The second geography value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geographyValue is disjoint from otherGeography; otherwise false. + The first geography value to compare for disjointness. + The second geography value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geographyValue intersects otherGeography; otherwise false. + The first geography value to compare for intersection. + The second geography value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geography value representing all points less than or equal to distance from the given + + value. + + A new DbGeography value representing all points less than or equal to distance from geographyValue. + The geography value. + A double value specifying how far from geographyValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference of two values. + + A new DbGeography value representing the difference of geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference of two values. + + + A new value representing the symmetric difference of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geography collection. + + The number of elements in geographyValue, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geography collection. + + The element in geographyValue at position index, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Latitude coordinate of the given value, if it represents a point. + + + The Latitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Longitude coordinate of the given value, if it represents a point. + + + The Longitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z coordinate) of the given value, if it represents a point. + + The elevation (Z coordinate) of geographyValue, if it represents a point; otherwise null. + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeography value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeography value, which may be null if the value does not represent a curve. + + The end point of geographyValue, if it represents a curve; otherwise null. + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geography value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geographyValue at position index, if it represents a linestring or linear ring; otherwise null. + The geography value, which need not represent a linestring or linear ring. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geography value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + A provider value. + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geometry value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geometryValue, as a new + + . + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the boundary of the given + + value. + + + The boundary of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geometryValue, or the largest element dimension if + + is a collection. + + The geometry value for which the dimension value should be retrieved. + + + + Gets the envelope (minimum bounding box) of the given value, as a geometry value. + + + The envelope of geometryValue, as a value. + + The geometry value for which the envelope value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is simple. + + + True if the given value is simple; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is valid. + + + True if the given value is valid; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value, including only X and Y coordinates for points. + + A string containing the well-known text representation of geometryValue. + The geometry value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of with elevation and measure. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geometry value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeometry value. + The geometry value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geometryValue is spatially equal to otherGeometry; otherwise false. + The first geometry value to compare for equality. + The second geometry value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geometryValue is disjoint from otherGeometry; otherwise false. + The first geometry value to compare for disjointness. + The second geometry value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geometryValue intersects otherGeometry; otherwise false. + The first geometry value to compare for intersection. + The second geometry value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially touch. + + true if geometryValue touches otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially cross. + + true if geometryValue crosses otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value is spatially within the other. + + true if geometryValue is within otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value spatially contains the other. + + true if geometryValue contains otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially overlap. + + true if geometryValue overlaps otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially related according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + + true if this geometryValue value relates to otherGeometry according to the specified intersection pattern matrix; otherwise false. + The first geometry value. + The geometry value that should be compared with the first geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + + + , + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geometry value representing all points less than or equal to distance from the given + + value. + + A new DbGeometry value representing all points less than or equal to distance from geometryValue. + The geometry value. + A double value specifying how far from geometryValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the convex hull of the given + + value. + + + The convex hull of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference between two values. + + A new DbGeometry value representing the difference between geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference between two values. + + + A new value representing the symmetric difference between geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geometry collection. + + The number of elements in geometryValue, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geometry collection. + + The element in geometryValue at position index, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the X coordinate of the given value, if it represents a point. + + + The X coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Y coordinate of the given value, if it represents a point. + + + The Y coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z) of the given value, if it represents a point. + + The elevation (Z) of geometryValue, if it represents a point; otherwise null. + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeometry value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeometry value, which may be null if the value does not represent a curve. + + The end point of geometryValue, if it represents a curve; otherwise null. + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is a ring, which may be null if the value does not represent a curve. + + + True if the given value is a ring; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geometry value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geometryValue at position index, if it represents a linestring or linear ring; otherwise null. + The geometry value, which need not represent a linestring or linear ring. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the centroid of the given DbGeometry value, which may be null if the value does not represent a surface. + + The centroid of geometryValue, if it represents a surface; otherwise null. + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents a point on the surface of the given DbGeometry value, which may be null if the value does not represent a surface. + + + A value that represents a point on the surface of the given DbGeometry value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the exterior ring of the given DbGeometry value, which may be null if the value does not represent a polygon. + + A DbGeometry value representing the exterior ring on geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of interior rings in the given value, if it represents a polygon. + + The number of elements in geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an interior ring from the given value, if it represents a polygon. + + The interior ring in geometryValue at position index, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Controls the transaction creation behavior while executing a database command or query. + + + + + If no transaction is present then a new transaction will be used for the operation. + + + + + If an existing transaction is present then use it, otherwise execute the command or query without a transaction. + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException. + + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + The inner exception. + + + + Initializes a new instance of the DbEntityValidationException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Validation results. + + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Represents validation results for single entity. + + + + + Creates an instance of class. + + Entity entry the results applies to. Never null. + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + Validation error. Can be either entity or property level validation error. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + When this attribute is placed on a property it indicates that the database column to which the + property is mapped has an index. + + + This attribute is used by Entity Framework Migrations to create indexes on mapped database columns. + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Creates a instance for an index that will be named by convention and + has no column order, clustering, or uniqueness specified. + + + + + Creates a instance for an index with the given name and + has no column order, clustering, or uniqueness specified. + + The index name. + + + + Creates a instance for an index with the given name and column order, + but with no clustering or uniqueness specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + The index name. + A number which will be used to determine column ordering for multi-column indexes. + + + + The index name. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + A number which will be used to determine column ordering for multi-column indexes. This will be -1 if no + column order has been specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Set this property to true to define a clustered index. Set this property to false to define a + non-clustered index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Set this property to true to define a unique index. Set this property to false to define a + non-unique index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Returns a different ID for each object instance such that type descriptors won't + attempt to combine all IndexAttribute instances into a single instance. + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + diff --git a/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.SqlServer.dll b/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.SqlServer.dll new file mode 100644 index 0000000..0036529 Binary files /dev/null and b/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.SqlServer.dll differ diff --git a/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.SqlServer.xml b/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.SqlServer.xml new file mode 100644 index 0000000..ea081f1 --- /dev/null +++ b/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.SqlServer.xml @@ -0,0 +1,2156 @@ + + + + EntityFramework.SqlServer + + + + + An that retries actions that throw exceptions caused by SQL Azure transient failures. + + + This execution strategy will retry the operation on and + if the contains any of the following error numbers: + 40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20 + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for + number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the checksum of the values in a collection. Null values are ignored. + The checksum computed from the input collection. + The collection of values over which the checksum is computed. + + + Returns the ASCII code value of the left-most character of a character expression. + The ASCII code of the first character in the input string. + A valid string. + + + Returns the character that corresponds to the specified integer ASCII value. + The character that corresponds to the specified ASCII value. + An ASCII code. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + + A of value that is the starting position of toFind if it is found in toSearch . + + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns the starting position of one expression found within another expression. + The starting position of toFind if it is found in toSearch . + The string expression to be found. + The string expression to be searched. + The character position in toSearch where searching begins. + + + Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions. + The SOUNDEX difference between the two strings. + The first string. + The second string. + + + Returns the Unicode character with the specified integer code, as defined by the Unicode standard. + The character that corresponds to the input character code. + A character code. + + + Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types. + The starting character position where the string pattern was found. + A string pattern to search for. + The string to search. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with brackets added. + The expression that quote characters will be added to. + + + Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier. + The original string with the specified quote characters added. + The expression that quote characters will be added to. + The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used. + + + Repeats a string value a specified number of times. + The target string, repeated the number of times specified by count . + A valid string. + The value that specifies how many time to repeat target . + + + Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names. + The SOUNDEX code of the input string. + A valid string. + + + Returns a string of repeated spaces. + A string that consists of the specified number of spaces. + The number of spaces. If negative, a null string is returned. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + + + Returns character data converted from numeric data. + The numeric input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Returns character data converted from numeric data. + The input expression converted to a string. + A numeric expression. + The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10. + The number of places to the right of the decimal point. decimal must be less than or equal to 16. If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point. + + + Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position. + A string consisting of the two strings. + The target string. + The character position in stringinput where the replacement string is to be inserted. + The number of characters to delete from stringInput . If length is longer than stringInput , deletion occurs up to the last character in stringReplacement . + The substring to be inserted into stringInput . + + + Returns the integer value, as defined by the Unicode standard, for the first character of the input expression. + The character code for the first character in the input string. + A valid string. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + The angle, in radians, defined by the input cosine value. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine. + An angle, measured in radians. + The cosine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine. + An angle, measured in radians. + The sine of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent. + An angle, measured in radians. + The tangent of an angle. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value. + An angle, measured in radians. + The y-coordinate of a point. + The x-coordinate of a point. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + Returns the trigonometric cosine of the specified angle, in radians, in the specified expression. + The trigonometric cosine of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + A mathematical function that returns the trigonometric cotangent of the specified angle, in radians. + The trigonometric cotangent of the specified angle. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the corresponding angle in degrees for an angle specified in radians. + The specified angle converted to degrees. + An angle, measured in radians. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the exponential value of the specified float expression. + The constant e raised to the power of the input value. + The input value. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the natural logarithm of the specified input value. + The natural logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the base-10 logarithm of the specified input value. + The base-10 logarithm of the input value. + A numeric expression. + + + Returns the constant value of pi. + The numeric value of pi. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns the radian measure corresponding to the specified angle in degrees. + The radian measure of the specified angle. + The angle, measured in degrees. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + + + Returns a pseudo-random float value from 0 through 1, exclusive. + The pseudo-random value. + The seed value. If seed is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression. + The sign of the input expression. + A numeric expression. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the trigonometric sine of the specified angle. + The trigonometric sine of the input expression. + An angle, measured in radians. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square root of the specified number. + The square root of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the square of the specified number. + The square of the input value. + A numeric expression. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns the trigonometric tangent of the input expression. + The tangent of the input angle. + An angle, measured in radians. + + + Returns a new datetime value based on adding an interval to the specified date. + The new date. + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new time span value based on adding an interval to the specified time span. + The new time span. + The part of the date to increment. + The value used to increment a date by a specified amount. + The time span to increment. + + + Returns a new date value based on adding an interval to the specified date. + The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC). + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns a new datetime value based on adding an interval to the specified date. + + A of value that is the new date. + + The part of the date to increment. + The value used to increment a date by a specified amount. + The date to increment. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The value specifying the number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two Dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns the count of the specified datepart boundaries crossed between the specified start date and end date. + The number of time intervals between the two dates. + The part of the date to calculate the differing number of time intervals. + The first date. + The second date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns a character string that represents the specified datepart of the specified date. + The specified part of the specified date. + The part of the date to calculate the differing number of time intervals. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns an integer that represents the specified datepart of the specified date. + The specified datepart of the specified date. + The part of the date to return the value. + The date. + + + Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database timestamp. + + + Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running. + The current database UTC timestamp. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for length. + + + Returns the number of bytes used to represent any expression. + The number of bytes in the input value. + The value to be examined for data length. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input values. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input argument. + The checksum computed over the input value. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + The character array for which the checksum is calculated. + + + Returns the checksum value computed over the input arguments. + The checksum computed over the input values. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + The value for which the checksum is calculated. + + + Returns the current date and time. + The current date and time. + + + Returns the name of the current user. + The name of the current user. + + + Returns the workstation name. + The name of the workstation. + + + Returns a database user name corresponding to a specified identification number. + The user name. + A user ID. + + + Returns a database user name corresponding to a specified identification number. + The user name. + + + Indicates whether the input value is a valid numeric type. + 1 if the input expression is a valid numeric data type; otherwise, 0. + A string expression. + + + Indicates whether the input value is a valid date or time. + 1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0. + The tested value. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Returns a hierarchyid representing the nth ancestor of this. + A hierarchyid representing the nth ancestor of this. + The hierarchyid value. + n + + + Returns a child node of the parent. + The hierarchyid value. + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + Returns an integer that represents the depth of the node this in the tree. + An integer that represents the depth of the node this in the tree. + The hierarchyid value. + + + Returns the root of the hierarchy tree. + The root of the hierarchy tree. + + + Returns true if this is a descendant of parent. + True if this is a descendant of parent. + The hierarchyid value. + parent + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + Hierarchyid value. + The hierarchyid value. + oldRoot + newRoot + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + Hierarchyid value. + input + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + + True since this provider supports the parameter optimization. + + + + The DbProviderServices implementation for the SqlClient provider for SQL Server. + + + Note that instance of this type also resolve additional provider services for Microsoft SQL Server + when this type is registered as an EF provider either using an entry in the application's config file + or through code-based registration in . + The services resolved are: + Requests for are resolved to a Singleton instance of + to create connections to LocalDB by default. + Requests for for the invariant name "System.Data.SqlClient" + for any server name are resolved to a delegate that returns a + to provide a non-retrying policy for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to instances to provide default Migrations SQL + generation for SQL Server. + Requests for for the invariant name "System.Data.SqlClient" are + resolved to a Singleton instance of to provide default spatial + services for SQL Server. + + + + + This is the well-known string using in configuration files and code-based configuration as + the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and + Entity Framework provider services. + + + + + The Singleton instance of the SqlProviderServices type. + + + + + Set to the full name of the Microsoft.SqlServer.Types assembly to override the default selection + + + + + Get or sets a value indicating whether parameter values are truncated to + the scale (number of decimal places) defined for their corresponding columns when they are sent + to the database. A value of true indicates that objects + created for columns will have their + properties set, which will cause the parameter values to be truncated. If set to false + then the properties will not be set, avoiding the truncation + behavior of and allowing SQL Server to round values if necessary. + The default value is true to prevent breaking existing applications that depend on this + behavior. + + + + + Gets or sets a value indicating whether to use the SCOPE_IDENTITY() function to retrieve values + generated by the database for numeric columns during an INSERT operation. The default value of + true is recommended and can provide better performance if all numeric values are generated + using IDENTITY columns. If set to false, an OUTPUT clause will be used instead. An OUTPUT + clause makes it possible to retrieve values generated by sequences or other means. + + + + + Gets or sets a value indicating whether the ROW_NUMBER() function is used in sort expression + passed to the ORDER BY clause when OFFSET is present in query. The default value of true + is recommended to obtain query results that are stable for paging operations. The value of + false can be used for compatibility with previous versions of EF and will cause the sort + expression to be passed unmodified to the ORDER BY clause, which can lead to unstable results + if the ordering is ambiguous. + + + This flag only applies to SQL Server 2012 or later. This flag does not affect queries that have + already been translated to SQL and cached, therefore applications that need to set the value to + false for compatibility should do so before executing any queries. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object, given the connection and command tree + + provider manifest that was determined from metadata + command tree for the statement + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + can cause deadlocks. + So here overriding to provide a method that does not clone DesignTimeVisible. + + the object to clone + a clone of the + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + + Returns the provider manifest by using the specified version information. + + The token information associated with the provider manifest. + The provider manifest by using the specified version information. + + + + Gets a spatial data reader for SQL Server. + + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Gets a spatial data reader for SQL Server. + + The manifest token associated with the provider manifest. + The spatial data reader. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Create the database and the database objects. + If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename. + Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name. + However if we try to replicate the name under which it would be attached, the following scenario would fail: + The file does not exist, but registered with database. + The user calls: If (DatabaseExists) DeleteDatabase + CreateDatabase + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Determines whether the database for the given connection exists. + There are three cases: + 1. Initial Catalog = X, AttachDBFilename = null: (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 2. Initial Catalog = X, AttachDBFilename = F: if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then true, + if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 + 3. Initial Catalog = null, AttachDBFilename = F: Try to open the connection. If that succeeds the result is true, otherwise + if the there are no databases corresponding to the given file return false, otherwise throw. + Note: We open the connection to cover the scenario when the mdf exists, but is not attached. + Given that opening the connection would auto-attach it, it would not be appropriate to return false in this case. + Also note that checking for the existence of the file does not work for a remote server. (Dev11 #290487) + For further details on the behavior when AttachDBFilename is specified see Dev10# 188936 + + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + True if the provider can deduce the database only based on the connection. + + + + Delete the database for the given connection. + There are three cases: + 1. If Initial Catalog is specified (X) drop database X + 2. Else if AttachDBFilename is specified (F) drop all the databases corresponding to F + if none throw + 3. If niether the catalog not the file name is specified - throw + Note that directly deleting the files does not work for a remote server. However, even for not attached + databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase + + Connection + Timeout for internal commands. + Item Collection. + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + + Provider to convert provider agnostic migration operations into SQL commands + that can be run against a Microsoft SQL Server database. + + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Converts a set of migration operations into Microsoft SQL Server specific SQL. + + The operations to be converted. + Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Generates the specified update database operation which represents applying a series of migrations. + The generated script is idempotent, meaning it contains conditional logic to check if individual migrations + have already been applied and only apply the pending ones. + + The update database operation. + + + + Generates SQL for a . + Allows derived providers to handle additional operation types. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Creates an empty connection for the current provider. + Allows derived providers to use connection other than . + + An empty connection for the current provider. + + + + Generates the specified create procedure operation. + + The create procedure operation. + + + + Generates the specified alter procedure operation. + + The alter procedure operation. + + + + Generates the specified drop procedure operation. + + The drop procedure operation. + + + + Generates SQL for a . This method differs from + in that it will + create the target database schema if it does not already exist. + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Writes CREATE TABLE SQL to the target writer. + + The operation to produce SQL for. + The target writer. + + + + Override this method to generate SQL when the definition of a table or its attributes are changed. + The default implementation of this method does nothing. + + The operation describing changes to the table. + + + + Generates SQL to mark a table as a system table. + Generated SQL should be added using the Statement method. + + The table to mark as a system table. + The to write the generated SQL to. + + + + Generates SQL to create a database schema. + Generated SQL should be added using the Statement method. + + The name of the schema to create. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Call this method to generate SQL that will attempt to drop the default constraint created + when a column is created. This method is usually called by code that overrides the creation or + altering of columns. + + The table to which the constraint applies. + The column to which the constraint applies. + The writer to which generated SQL should be written. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement or StatementBatch methods. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates the specified rename procedure operation. + + The rename procedure operation. + + + + Generates the specified move procedure operation. + + The move procedure operation. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL for the given column model. This method is called by other methods that + process columns and can be overridden to change the SQL generated. + + The column for which SQL is being generated. + The writer to which generated SQL should be written. + + + + Returns the column default value to use for store-generated GUID columns when + no default value is explicitly specified in the migration. + Returns newsequentialid() for on-premises SQL Server 2005 and later. + Returns newid() for SQL Azure. + + Either newsequentialid() or newid() as described above. + + + + Generates SQL for a . + Generated SQL should be added using the Statement method. + + The operation to produce SQL for. + + + + Generates SQL to specify a constant byte[] default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant bool default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTime default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant DateTimeOffset default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant Guid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant string default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant TimeSpan default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant hierarchyid default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geogrpahy default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant geometry default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify a constant default value being set on a column. + This method just generates the actual value, not the SQL to set the default value. + + The value to be set. + SQL representing the default value. + + + + Generates SQL to specify the data type of a column. + This method just generates the actual type, not the SQL to create the column. + + The definition of the column. + SQL representing the data type. + + + + Generates a quoted name. The supplied name may or may not contain the schema. + + The name to be quoted. + The quoted name. + + + + Quotes an identifier for SQL Server. + + The identifier to be quoted. + The quoted identifier. + + + + Adds a new Statement to be executed against the database. + + The statement to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + The batch terminator for the database provider. + + + + Gets a new that can be used to build SQL. + This is just a helper method to create a writer. Writing to the writer will + not cause SQL to be registered for execution. You must pass the generated + SQL to the Statement method. + + An empty text writer to use for SQL generation. + + + + Adds a new Statement to be executed against the database. + + The writer containing the SQL to be executed. + The batch terminator for the database provider. + + + + Breaks sql string into one or more statements, handling T-SQL utility statements as necessary. + + The SQL to split into one ore more statements to be executed. + Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. + + + + Contains function stubs that expose SqlServer methods in Linq to Entities. + + + + Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geography instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance. + The geography value. + + + Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geography instance is less than or equal to a specified value + The geography value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees. + the maximum angle between the point returned by EnvelopeCenter(). + The geography value. + + + Returns a point that can be used as the center of a bounding circle for the geography instance. + A SqlGeography value that specifies the location of the center of a bounding circle. + The geography value. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geography value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Tests if the SqlGeography instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geography value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Returns the total number of rings in a Polygon instance. + The total number of rings. + The geography value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geography value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings(). + A SqlGeography object that represents the ring specified by n. + The geography value. + An int expression between 1 and the number of rings in a polygon instance. + + + Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). + The constructed geometry instance. + The x-coordinate of the Point being generated. + The y-coordinate of the Point being generated + The SRID of the geography instance. + + + Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance. + The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance. + The geometry value. + + + Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance. + The union of all point values whose distance from a geometry instance is less than or equal to a specified value + The geometry value. + The distance. + The specified tolerance. + Specifying whether the tolerance value is relative or absolute. + + + Tests if the SqlGeometry instance is the same as the specified type. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + The geometry value. + A string that specifies one of the 12 types exposed in the geography type hierarchy. + + + Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available. + True if a geography instance potentially intersects another SqlGeography instance; otherwise, false. + The geometry value. + Another geography instance to compare against the instance on which Filter is invoked. + + + Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. + The converted geometry instance. + The geometry value. + + + Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. + + Returns . + + The geometry value. + The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number. + + + + An implementation of to provide support for geospatial types when using + Entity Framework with Microsoft SQL Server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + diff --git a/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.dll b/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.dll new file mode 100644 index 0000000..6c00a5d Binary files /dev/null and b/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.dll differ diff --git a/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.xml b/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.xml new file mode 100644 index 0000000..f1bed65 --- /dev/null +++ b/packages/EntityFramework.6.4.4/lib/netstandard2.1/EntityFramework.xml @@ -0,0 +1,53958 @@ + + + + EntityFramework + + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + Implements the visitor pattern for the set clause. + The set clause. + + + Implements the visitor pattern for the modification clause. + The modification clause. + + + Implements the visitor pattern for the collection of modification clauses. + The modification clauses. + + + Implements the visitor pattern for the command tree. + The command tree. + + + Implements the visitor pattern for the delete command tree. + The delete command tree. + + + Implements the visitor pattern for the function command tree. + The function command tree. + + + Implements the visitor pattern for the insert command tree. + The insert command tree. + + + Implements the visitor pattern for the query command tree. + The query command tree. + + + Implements the visitor pattern for the update command tree. + The update command tree. + + + + An abstract base type for types that implement the IExpressionVisitor interface to derive from. + + + + + Convenience method to visit the specified . + + The DbUnaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbBinaryExpression to visit. + + + is null + + + + + Convenience method to visit the specified . + + The DbExpressionBinding to visit. + + + is null + + + + + Convenience method for post-processing after a DbExpressionBinding has been visited. + + The previously visited DbExpressionBinding. + + + + Convenience method to visit the specified . + + The DbGroupExpressionBinding to visit. + + + is null + + + + + Convenience method indicating that the grouping keys of a have been visited and the aggregates are now about to be visited. + + The DbGroupExpressionBinding of the DbGroupByExpression + + + + Convenience method for post-processing after a DbGroupExpressionBinding has been visited. + + The previously visited DbGroupExpressionBinding. + + + + Convenience method indicating that the body of a Lambda is now about to be visited. + + The DbLambda that is about to be visited + + + is null + + + + + Convenience method for post-processing after a DbLambda has been visited. + + The previously visited DbLambda. + + + + Convenience method to visit the specified , if non-null. + + The expression to visit. + + + is null + + + + + Convenience method to visit each in the given list, if the list is non-null. + + The list of expressions to visit. + + + is null + + + + + Convenience method to visit each in the list, if the list is non-null. + + The list of aggregates to visit. + + + is null + + + + + Convenience method to visit the specified . + + The aggregate to visit. + + + is null + + + + + Called when an of an otherwise unrecognized type is encountered. + + The expression + + + is null + + + Always thrown if this method is called, since it indicates that + + is of an unsupported type + + + + + Visitor pattern method for . + + The DbConstantExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbVariableReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbParameterReferenceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFunctionExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLambdaExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbPropertyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbComparisonExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLikeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbLimitExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsNullExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbArithmeticExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbAndExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOrExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbInExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNotExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbDistinctExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbElementExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsEmptyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbUnionAllExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIntersectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExceptExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbOfTypeExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbTreatExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCastExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbIsOfExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCaseExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbNewInstanceExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRelationshipNavigationExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DeRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbRefKeyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbEntityRefExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbScanExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbFilterExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbProjectExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbCrossJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbJoinExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbApplyExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSkipExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbSortExpression that is being visited. + + + is null + + + + + Visitor pattern method for . + + The DbQuantifierExpression that is being visited. + + + is null + + + + Implements the basic functionality required by aggregates in a GroupBy clause. + + + + Gets the result type of this . + + + The result type of this . + + + + + Gets the list of expressions that define the arguments to this + + . + + + The list of expressions that define the arguments to this + + . + + + + Represents the logical AND of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + Represents an apply operation, which is the invocation of the specified function for each element in the specified input set. This class cannot be inherited. + + + + Gets the that specifies the function that is invoked for each element in the input set. + + + The that specifies the function that is invoked for each element in the input set. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by the visitor . + visitor is null. + + + + Represents an arithmetic operation applied to numeric arguments. + Addition, subtraction, multiplication, division, modulo, and negation are arithmetic operations. + This class cannot be inherited. + + + + + Gets the list of elements that define the current arguments. + + + A fixed-size list of elements. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept two expression operands. + + + + Gets the that defines the left argument. + + + The that defines the left argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the left argument. + + + + + Gets the that defines the right argument. + + + The that defines the right argument. + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the required type for the right argument. + + + + + Represents the When, Then, and Else clauses of the + + . This class cannot be inherited. + + + + + Gets the When clauses of this . + + + The When clauses of this . + + + + + Gets the Then clauses of this . + + + The Then clauses of this . + + + + + Gets the Else clause of this . + + + The Else clause of this . + + The expression is null. + + The expression is not associated with the command tree of the + + ,or its result type is not equal or promotable to the result type of the + + . + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the type conversion of a single argument to the specified type. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + An immutable class that implements the basic functionality for the Query, Insert, Update, Delete, and function invocation command tree types. + + + + Gets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is true. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + Gets the name and corresponding type of each parameter that can be referenced within this + + . + + + The name and corresponding type of each parameter that can be referenced within this + + . + + + + + Gets the kind of this command tree. + + + + + Gets the metadata workspace used by this command tree. + + + + + Gets the data space in which metadata used by this command tree must reside. + + + + + Returns a that represents this command. + + + A that represents this command. + + + + + Describes the different "kinds" (classes) of command trees. + + + + + A query to retrieve data + + + + + Update existing data + + + + + Insert new data + + + + + Deleted existing data + + + + + Call a function + + + + Represents a comparison operation applied to two arguments. Equality, greater than, greater than or equal, less than, less than or equal, and inequality are comparison operations. This class cannot be inherited. + + DbComparisonExpression requires that its arguments have a common result type + that is equality comparable (for .Equals and .NotEquals), + order comparable (for .GreaterThan and .LessThan), + or both (for .GreaterThanOrEquals and .LessThanOrEquals). + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents different kinds of constants (literals). This class cannot be inherited. + + + Gets the constant value. + The constant value. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an unconditional join operation between the given collection arguments. This class cannot be inherited. + + + + Gets a list that provides the input sets to the join. + + + A list that provides the input sets to the join. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents a single row delete operation expressed as a command tree. This class cannot be inherited. + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be deleted. + + + + Gets an that specifies the predicate used to determine which members of the target collection should be deleted. + + + The predicate can include only the following elements: + + Equality expression + Constant expression + IsNull expression + Property expression + Reference expression to the target + And expression + Or expression + Not expression + + + + An that specifies the predicate used to determine which members of the target collection should be deleted. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents the an expression that retrieves an entity based on the specified reference. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Removes duplicate elements from the specified set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the conversion of the specified set argument to a singleton. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents an expression that extracts a reference from the underlying entity instance. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the set subtraction operation between the left and right operands. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor. + visitor is null. + + + Represents the base type for all expressions. + + + Gets the type metadata for the result type of the expression. + The type metadata for the result type of the expression. + + + Gets the kind of the expression, which indicates the operation of this expression. + The kind of the expression, which indicates the operation of this expression. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + The type of the result produced by . + + + An instance of . + + The type of the result produced by visitor. + + + + Determines whether the specified is equal to the current DbExpression instance. + + + True if the specified is equal to the current DbExpression instance; otherwise, false. + + + The object to compare to the current . + + + + Serves as a hash function for the type. + A hash code for the current expression. + + + + Creates a that represents the specified binary value, which may be null + + + A that represents the specified binary value. + + The binary value on which the returned expression should be based. + + + + Enables implicit casting from a byte array. + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Boolean value. + + + A that represents the specified Boolean value. + + The Boolean value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) byte value. + + + A that represents the specified byte value. + + The byte value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTime value. + + The DateTime value on which the returned expression should be based. + + + + Enables implicit casting from . + + The expression to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified DateTimeOffset value. + + The DateTimeOffset value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) decimal value. + + + A that represents the specified decimal value. + + The decimal value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) double value. + + + A that represents the specified double value. + + The double value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeography value. + + The DbGeography value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified + + value, which may be null. + + + A that represents the specified DbGeometry value. + + The DbGeometry value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) + + value. + + + A that represents the specified Guid value. + + The Guid value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int16 value. + + + A that represents the specified Int16 value. + + The Int16 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int32 value. + + + A that represents the specified Int32 value. + + The Int32 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Int64 value. + + + A that represents the specified Int64 value. + + The Int64 value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified (nullable) Single value. + + + A that represents the specified Single value. + + The Single value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Creates a that represents the specified string value. + + + A that represents the specified string value. + + The string value on which the returned expression should be based. + + + + Enables implicit casting from . + + The value to be converted. + The converted value. + + + + Describes a binding for an expression. Conceptually similar to a foreach loop + in C#. The DbExpression property defines the collection being iterated over, + while the Var property provides a means to reference the current element + of the collection during the iteration. DbExpressionBinding is used to describe the set arguments + to relational expressions such as , + and . + + + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + The expression is not associated with the command tree of the binding, or its result type is not equal or promotable to the result type of the current value of the property. + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + The variable reference. + + + + Contains values that each expression class uses to denote the operation it represents. The + + property of an + + can be retrieved to determine which operation that expression represents. + + + + + True for all. + + + + + Logical And. + + + + + True for any. + + + + + Conditional case statement. + + + + + Polymorphic type cast. + + + + + A constant value. + + + + + Cross apply + + + + + Cross join + + + + + Dereference. + + + + + Duplicate removal. + + + + + Division. + + + + + Set to singleton conversion. + + + + + Entity ref value retrieval. + + + + + Equality + + + + + Set subtraction + + + + + Restriction. + + + + + Full outer join + + + + + Invocation of a stand-alone function + + + + + Greater than. + + + + + Greater than or equal. + + + + + Grouping. + + + + + Inner join + + + + + Set intersection. + + + + + Empty set determination. + + + + + Null determination. + + + + + Type comparison (specified Type or Subtype). + + + + + Type comparison (specified Type only). + + + + + Left outer join + + + + + Less than. + + + + + Less than or equal. + + + + + String comparison. + + + + + Result count restriction (TOP n). + + + + + Subtraction. + + + + + Modulo. + + + + + Multiplication. + + + + + Instance, row, and set construction. + + + + + Logical Not. + + + + + Inequality. + + + + + Null. + + + + + Set members by type (or subtype). + + + + + Set members by (exact) type. + + + + + Logical Or. + + + + + Outer apply. + + + + + A reference to a parameter. + + + + + Addition. + + + + + Projection. + + + + + Retrieval of a static or instance property. + + + + + Reference. + + + + + Ref key value retrieval. + + + + + Navigation of a (composition or association) relationship. + + + + + Entity or relationship set scan. + + + + + Skip elements of an ordered collection. + + + + + Sorting. + + + + + Type conversion. + + + + + Negation. + + + + + Set union (with duplicates). + + + + + A reference to a variable. + + + + + Application of a lambda function + + + + + In. + + + + Defines the basic functionality that should be implemented by visitors that do not return a result value. + + + When overridden in a derived class, handles any expression of an unrecognized type. + The expression to be handled. + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + + The that is visited. + + + + + Visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + + + Defines the basic functionality that should be implemented by visitors that return a result value of a specific type. + The type of the result produced by the visitor. + + + When overridden in a derived class, handles any expression of an unrecognized type. + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern method for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + When overridden in a derived class, implements the visitor pattern for + + . + + A result value of a specific type. + + The that is being visited. + + + + + Typed visitor pattern method for DbInExpression. + + The DbInExpression that is being visited. + An instance of TResultType. + + + Represents a predicate applied to filter an input set. This produces the set of elements that satisfy the predicate. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that specifies the predicate used to filter the input set. + + + The that specifies the predicate used to filter the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Supports standard aggregate functions, such as MIN, MAX, AVG, SUM, and so on. This class cannot be inherited. + + + Gets a value indicating whether this aggregate is a distinct aggregate. + true if the aggregate is a distinct aggregate; otherwise, false. + + + Gets the method metadata that specifies the aggregate function to invoke. + The method metadata that specifies the aggregate function to invoke. + + + Represents the invocation of a database function. + + + + Constructs a new DbFunctionCommandTree that uses the specified metadata workspace, data space and function metadata + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + The that represents the function that is being invoked. + The expected result type for the function’s first result set. + The function's parameters. + + , or is null + + + does not represent a valid data space or + is a composable function + + + + + Gets the that represents the function that is being invoked. + + + The that represents the function that is being invoked. + + + + Gets the expected result type for the function’s first result set. + The expected result type for the function’s first result set. + + + Gets or sets the command tree kind. + The command tree kind. + + + Represents an invocation of a function. This class cannot be inherited. + + + Gets the metadata for the function to invoke. + The metadata for the function to invoke. + + + + Gets an list that provides the arguments to the function. + + + An list that provides the arguments to the function. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a collection of elements that compose a group. + + + Represents a group by operation. A group by operation is a grouping of the elements in the input set based on the specified key expressions followed by the application of the specified aggregates. This class cannot be inherited. + + + + Gets the that specifies the input set and provides access to the set element and group element variables. + + + The that specifies the input set and provides access to the set element and group element variables. + + + + + Gets a list that provides grouping keys. + + + A list that provides grouping keys. + + + + + Gets a list that provides the aggregates to apply. + + + A list that provides the aggregates to apply. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Defines the binding for the input set to a . + In addition to the properties of , DbGroupExpressionBinding + also provides access to the group element via the variable reference + and to the group aggregate via the property. + + + + + Gets the that defines the input set. + + + The that defines the input set. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the result type of the current value of the property. + + + + Gets the name assigned to the element variable. + The name assigned to the element variable. + + + Gets the type metadata of the element variable. + The type metadata of the element variable. + + + + Gets the that references the element variable. + + A reference to the element variable. + + + Gets the name assigned to the group element variable. + The name assigned to the group element variable. + + + Gets the type metadata of the group element variable. + The type metadata of the group element variable. + + + + Gets the that references the group element variable. + + A reference to the group element variable. + + + + Gets the that represents the collection of elements in the group. + + The elements in the group. + + + + Represents a boolean expression that tests whether a specified item matches any element in a list. + + + + + Gets a DbExpression that specifies the item to be matched. + + + + + Gets the list of DbExpression to test for a match. + + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of DbExpressionVisitor. + + + is null + + + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + + An instance of a typed DbExpressionVisitor that produces a result value of type TResultType. + + The type of the result produced by + + + + is null + + + An instance of . + + + + Represents a single row insert operation expressed as a command tree. This class cannot be inherited. + + Represents a single row insert operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar value indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + The list of insert set clauses that define the insert operation. . + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of insert set clauses that define the insert operation. + The list of insert set clauses that define the insert operation. + + + + Gets an that specifies a projection of results to be returned based on the modified rows. + + + An that specifies a projection of results to be returned based on the modified rows. null indicates that no results should be returned from this command. + + + + Gets the command tree kind. + The command tree kind. + + + Represents the set intersection operation between the left and right operands. This class cannot be inherited. + + DbIntersectExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an empty set determination applied to a single set argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents null determination applied to a single argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the type comparison of a single argument against the specified type. This class cannot be inherited. + + + Gets the type metadata that the type metadata of the argument should be compared to. + The type metadata that the type metadata of the argument should be compared to. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + + + + Gets the that provides the left input. + + + The that provides the left input. + + + + + Gets the that provides the right input. + + + The that provides the right input. + + + + Gets the join condition to apply. + The join condition to apply. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a Lambda function that can be invoked to produce a + + . + + + + Gets the body of the lambda expression. + + A that represents the body of the lambda function. + + + + Gets the parameters of the lambda expression. + The list of lambda function parameters represented as DbVariableReferenceExpression objects. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null + + + + contains more than one element with the same variable name. + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters + An expression that defines the logic of the Lambda function + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + + + is null or contains null, or + + is null. + + + + contains more than one element with the same variable name. + + + + + Creates a new with a single argument of the specified type, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and single formal parameter. + + A that defines the EDM type of the argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + or + + is null or produces a result of null. + + + + + Creates a new with arguments of the specified types, as defined by the specified function. + + A new DbLambda that describes an inline Lambda function with the specified body and formal parameters. + + A that defines the EDM type of the first argument to the Lambda function + + + A that defines the EDM type of the second argument to the Lambda function + + + A that defines the EDM type of the third argument to the Lambda function + + + A that defines the EDM type of the fourth argument to the Lambda function + + + A that defines the EDM type of the fifth argument to the Lambda function + + + A that defines the EDM type of the sixth argument to the Lambda function + + + A that defines the EDM type of the seventh argument to the Lambda function + + + A that defines the EDM type of the eighth argument to the Lambda function + + + A that defines the EDM type of the ninth argument to the Lambda function + + + A that defines the EDM type of the tenth argument to the Lambda function + + + A that defines the EDM type of the eleventh argument to the Lambda function + + + A that defines the EDM type of the twelfth argument to the Lambda function + + + A that defines the EDM type of the thirteenth argument to the Lambda function + + + A that defines the EDM type of the fourteenth argument to the Lambda function + + + A that defines the EDM type of the fifteenth argument to the Lambda function + + + A that defines the EDM type of the sixteenth argument to the Lambda function + + + A function that defines the logic of the Lambda function as a + + + + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, + + is null, or + + is null or produces a result of null. + + + + + Allows the application of a lambda function to arguments represented by + + objects. + + + + + Gets the representing the Lambda function applied by this expression. + + + The representing the Lambda function applied by this expression. + + + + + Gets a list that provides the arguments to which the Lambda function should be applied. + + + The list. + + + + The visitor pattern method for expression visitors that do not produce a result value. + + An instance of . + + visitor is null + + + The visitor pattern method for expression visitors that produce a result value of a specific type. + The type of the result produced by the expression visitor. + + An instance of a typed that produces a result value of type TResultType. + + The type of the result produced by visitor + visitor is null + + + Represents a string comparison against the specified pattern with an optional escape string. This class cannot be inherited. + + + Gets an expression that specifies the string to compare against the given pattern. + An expression that specifies the string to compare against the given pattern. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that specifies the pattern against which the given string should be compared. + An expression that specifies the pattern against which the given string should be compared. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Gets an expression that provides an optional escape string to use for the comparison. + An expression that provides an optional escape string to use for the comparison. + The expression is null. + + The expression is not associated with the command tree of + + , or its result type is not a string type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the restriction of the number of elements in the argument collection to the specified limit value. + + + Gets an expression that specifies the input collection. + An expression that specifies the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not a collection type. + + + + Gets an expression that specifies the limit on the number of elements returned from the input collection. + An expression that specifies the limit on the number of elements returned from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + , or is not one of + + or + + , or its result type is not equal or promotable to a 64-bit integer type. + + + + + Gets whether the limit operation will include tied results. Including tied results might produce more results than specified by the + + value. + + true if the limit operation will include tied results; otherwise, false. The default is false. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a single clause in an insert or update modification operation, see + and + + + An abstract base class allows the possibility of patterns other than + Property = Value in future versions, e.g., + update SomeTable + set ComplexTypeColumn.SomeProperty() + where Id = 2 + + + + Represents a data manipulation language (DML) operation expressed as a command tree. + + + + Gets the that specifies the target table for the data manipulation language (DML) operation. + + + The that specifies the target table for the DML operation. + + + + Represents the construction of a new instance of a given type, including set and record types. This class cannot be inherited. + + + + Gets an list that provides the property/column values or set elements for the new instance. + + + An list that provides the property/column values or set elements for the new instance. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical NOT of a single Boolean argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a typed null literal. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the retrieval of elements of the specified type from the given set argument. This class cannot be inherited. + + + Gets the metadata of the type of elements that should be retrieved from the set argument. + The metadata of the type of elements that should be retrieved from the set argument. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the logical OR of two Boolean arguments. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a reference to a parameter declared on the command tree that contains this expression. This class cannot be inherited. + + + Gets the name of the referenced parameter. + The name of the referenced parameter. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the projection of a given input set over the specified expression. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets the that defines the projection. + + + The that defines the projection. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the current projection. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Provides methods and properties for retrieving an instance property. This class cannot be inherited. + + + Gets the property metadata for the property to retrieve. + The property metadata for the property to retrieve. + + + + Gets a that defines the instance from which the property should be retrieved. + + + A that defines the instance from which the property should be retrieved. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the type that defines the property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Creates a new key/value pair based on this property expression. + + A new key/value pair with the key and value derived from the + + . + + + + + Enables implicit casting to . + + The expression to be converted. + The converted value. + + + Represents a quantifier operation of the specified kind over the elements of the specified input set. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + Gets the Boolean predicate that should be evaluated for each element in the input set. + The Boolean predicate that should be evaluated for each element in the input set. + The expression is null. + + The expression is not associated with the command tree for the + + ,or its result type is not a Boolean type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a query operation expressed as a command tree. This class cannot be inherited. + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + A boolean that indicates whether + filter over projection simplification should be used. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + A boolean that indicates whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + When set to false the validation of the tree is turned off. + + + or + + is null + + + + does not represent a valid data space + + + + + Constructs a new DbQueryCommandTree that uses the specified metadata workspace, using database null semantics. + + The metadata workspace that the command tree should use. + The logical 'space' that metadata in the expressions used in this command tree must belong to. + + A that defines the logic of the query. + + + + or + + is null + + + + does not represent a valid data space + + + + + Gets an that defines the logic of the query operation. + + + An that defines the logic of the query operation. + + The expression is null. + The expression is associated with a different command tree. + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a strongly typed reference to a specific instance within an entity set. This class cannot be inherited. + + + Gets the metadata for the entity set that contains the instance. + The metadata for the entity set that contains the instance. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents the retrieval of the key value of the specified Reference as a row. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents the navigation of a relationship. This class cannot be inherited. + + + Gets the metadata for the relationship over which navigation occurs. + The metadata for the relationship over which navigation occurs. + + + Gets the metadata for the relationship end to navigate from. + The metadata for the relationship end to navigate from. + + + Gets the metadata for the relationship end to navigate to. + The metadata for the relationship end to navigate to. + + + + Gets an that specifies the starting point of the navigation and must be a reference to an entity instance. + + + An that specifies the instance of the source relationship end from which navigation should occur. + + The expression is null. + + The expression is not associated with the command tree of the + + , or its result type is not equal or promotable to the reference type of the + + property. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Represents a 'scan' of all elements of a given entity set. + + + + Gets the metadata for the referenced entity or relationship set. + The metadata for the referenced entity or relationship set. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Specifies the clause in a modification operation that sets the value of a property. This class cannot be inherited. + + + + Gets an that specifies the property that should be updated. + + + An that specifies the property that should be updated. + + + + + Gets an that specifies the new value with which to update the property. + + + An that specifies the new value with which to update the property. + + + + + Skips a specified number of elements in the input set. + + can only be used after the input collection has been sorted as specified by the sort keys. + + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Gets an expression that specifies the number of elements to skip from the input collection. + An expression that specifies the number of elements to skip from the input collection. + The expression is null. + + The expression is not associated with the command tree of the + + ; the expression is not either a + + or a + + ; or the result type of the expression is not equal or promotable to a 64-bit integer type. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + + Specifies a sort key that can be used as part of the sort order in a + + . This class cannot be inherited. + + + + Gets a Boolean value indicating whether or not this sort key uses an ascending sort order. + true if this sort key uses an ascending sort order; otherwise, false. + + + Gets a string value that specifies the collation for this sort key. + A string value that specifies the collation for this sort key. + + + + Gets the that provides the value for this sort key. + + + The that provides the value for this sort key. + + + + Represents a sort operation applied to the elements of the specified input set based on the given sort keys. This class cannot be inherited. + + + + Gets the that specifies the input set. + + + The that specifies the input set. + + + + + Gets a list that defines the sort order. + + + A list that defines the sort order. + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by + visitor + + + visitor + is null. + + + Represents a type conversion operation applied to a polymorphic argument. This class cannot be inherited. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Implements the basic functionality required by expressions that accept a single expression argument. + + + + Gets the that defines the argument. + + + The that defines the argument. + + The expression is null. + + The expression is not associated with the command tree of a + + , or its result type is not equal or promotable to the required type for the argument. + + + + + Represents the set union (without duplicate removal) operation between the left and right operands. + + + DbUnionAllExpression requires that its arguments have a common collection result type + + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Represents a single-row update operation expressed as a command tree. This class cannot be inherited. + + Represents a single-row update operation expressed as a canonical command tree. + When the property is set, the command returns a reader; otherwise, + it returns a scalar indicating the number of rows affected. + + + + + Initializes a new instance of the class. + + The model this command will operate on. + The data space. + The target table for the data manipulation language (DML) operation. + A predicate used to determine which members of the target collection should be updated. + The list of update set clauses that define the update operation. + A that specifies a projection of results to be returned, based on the modified rows. + + + Gets the list of update set clauses that define the update operation. + The list of update set clauses that define the update operation. + + + + Gets an that specifies a projection of results to be returned, based on the modified rows. + + + An that specifies a projection of results to be returned based, on the modified rows. null indicates that no results should be returned from this command. + + + + + Gets an that specifies the predicate used to determine which members of the target collection should be updated. + + + An that specifies the predicate used to determine which members of the target collection should be updated. + + + + Gets the kind of this command tree. + The kind of this command tree. + + + Represents a reference to a variable that is currently in scope. This class cannot be inherited. + + + Gets the name of the referenced variable. + The name of the referenced variable. + + + Implements the visitor pattern for expressions that do not produce a result value. + + An instance of . + + visitor is null. + + + Implements the visitor pattern for expressions that produce a result value of a specific type. + + A result value of a specific type produced by + + . + + + An instance of a typed that produces a result value of a specific type. + + The type of the result produced by visitor . + visitor is null. + + + Visits each element of an expression tree from a given root expression. If any element changes, the tree is rebuilt back to the root and the new root expression is returned; otherwise the original root expression is returned. + + + + Initializes a new instance of the + + class. + + + + Replaces an old expression with a new one for the expression visitor. + The old expression. + The new expression. + + + Represents an event when the variable is rebound for the expression visitor. + The location of the variable. + The reference of the variable where it is rebounded. + + + Represents an event when entering the scope for the expression visitor with specified scope variables. + The collection of scope variables. + + + Exits the scope for the expression visitor. + + + Implements the visitor pattern for the expression. + The implemented visitor pattern. + The expression. + + + Implements the visitor pattern for the expression list. + The implemented visitor pattern. + The expression list. + + + Implements the visitor pattern for expression binding. + The implemented visitor pattern. + The expression binding. + + + Implements the visitor pattern for the expression binding list. + The implemented visitor pattern. + The expression binding list. + + + Implements the visitor pattern for the group expression binding. + The implemented visitor pattern. + The binding. + + + Implements the visitor pattern for the sort clause. + The implemented visitor pattern. + The sort clause. + + + Implements the visitor pattern for the sort order. + The implemented visitor pattern. + The sort order. + + + Implements the visitor pattern for the aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the function aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the group aggregate. + The implemented visitor pattern. + The aggregate. + + + Implements the visitor pattern for the Lambda function. + The implemented visitor pattern. + The lambda function. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the basic functionality required by expression types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the different kinds of constants. + The implemented visitor. + The constant expression. + + + Implements the visitor pattern for a reference to a typed null literal. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a variable that is currently in scope. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a reference to a parameter declared on the command tree that contains this expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for an invocation of a function. + The implemented visitor. + The function expression. + + + Implements the visitor pattern for the application of a lambda function to arguments represented by DbExpression objects. + The implemented visitor. + The expression. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the comparison operation applied to two arguments. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for a string comparison against the specified pattern with an optional escape string. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the restriction of the number of elements in the argument collection to the specified limit value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the null determination applied to a single argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the arithmetic operation applied to numeric arguments. + The implemented visitor. + The arithmetic expression. + + + Implements the visitor pattern for the logical AND expression. + The implemented visitor. + The logical AND expression. + + + Implements the visitor pattern for the logical OR of two Boolean arguments. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the DbInExpression. + The implemented visitor. + The DbInExpression that is being visited. + + + Implements the visitor pattern for the logical NOT of a single Boolean argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the removed duplicate elements from the specified set argument. + The implemented visitor. + The distinct expression. + + + Implements the visitor pattern for the conversion of the specified set argument to a singleton the conversion of the specified set argument to a singleton. + The implemented visitor. + The element expression. + + + Implements the visitor pattern for an empty set determination applied to a single set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set union operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set intersection operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the set subtraction operation between the left and right operands. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a type conversion operation applied to a polymorphic argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type comparison of a single argument against the specified type. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the type conversion of a single argument to the specified type. + The implemented visitor. + The cast expression. + + + Implements the visitor pattern for the When, Then, and Else clauses. + The implemented visitor. + The case expression. + + + Implements the visitor pattern for the retrieval of elements of the specified type from the given set argument. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the construction of a new instance of a given type, including set and record types. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a strongly typed reference to a specific instance within an entity set. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the navigation of a relationship. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that retrieves an entity based on the specified reference. + The implemented visitor. + The DEREF expression. + + + Implements the visitor pattern for the retrieval of the key value from the underlying reference value. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the expression that extracts a reference from the underlying entity instance. + The implemented visitor. + The entity reference expression. + + + Implements the visitor pattern for a scan over an entity set or relationship set, as indicated by the Target property. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a predicate applied to filter an input set. + The implemented visitor. + The filter expression. + + + Implements the visitor pattern for the projection of a given input set over the specified expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the unconditional join operation between the given collection arguments. + The implemented visitor. + The join expression. + + + Implements the visitor pattern for an inner, left outer, or full outer join operation between the given collection arguments on the specified join condition. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the invocation of the specified function for each element in the specified input set. + The implemented visitor. + The APPLY expression. + + + Implements the visitor pattern for a group by operation. + The implemented visitor. + The expression. + + + Implements the visitor pattern for the skip expression. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a sort key that can be used as part of the sort order. + The implemented visitor. + The expression. + + + Implements the visitor pattern for a quantifier operation of the specified kind over the elements of the specified input set. + The implemented visitor. + The expression. + + + + Provides an API to construct s and allows that API to be accessed as extension methods on the expression type itself. + + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + Returns the specified arguments as a key/value pair object. + A key/value pair object. + The value in the key/value pair. + The key in the key/value pair. + + + + Creates a new that uses a generated variable name to bind the given expression. + + A new expression binding with the specified expression and a generated variable name. + The expression to bind. + input is null. + input does not have a collection result. + + + + Creates a new that uses the specified variable name to bind the given expression + + A new expression binding with the specified expression and variable name. + The expression to bind. + The variable name that should be used for the binding. + input or varName is null. + input does not have a collection result. + + + Creates a new group expression binding that uses generated variable and group variable names to bind the given expression. + A new group expression binding with the specified expression and a generated variable name and group variable name. + The expression to bind. + input is null. + input does not have a collection result type. + + + + Creates a new that uses the specified variable name and group variable names to bind the given expression. + + A new group expression binding with the specified expression, variable name and group variable name. + The expression to bind. + The variable name that should be used for the binding. + The variable name that should be used to refer to the group when the new group expression binding is used in a group-by expression. + input, varName or groupVarName is null. + input does not have a collection result type. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new . + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value false. + The function that defines the aggregate operation. + The argument over which the aggregate function should be calculated. + function or argument null. + function is not an aggregate function or has more than one argument, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new that is applied in a distinct fashion. + + A new function aggregate with a reference to the given function and argument. The function aggregate's Distinct property will have the value true. + The function that defines the aggregate operation. + The arguments over which the aggregate function should be calculated. + function or argument is null. + function is not an aggregate function, or the result type of argument is not equal or promotable to the parameter type of function. + + + + Creates a new over the specified argument + + The argument over which to perform the nest operation + A new group aggregate representing the elements of the group referenced by the given argument. + + + is null + + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a with the specified inline Lambda function implementation and formal parameters. + + A new expression that describes an inline Lambda function with the specified body and formal parameters. + An expression that defines the logic of the Lambda function. + + A collection that represents the formal parameters to the Lambda function. These variables are valid for use in the body expression. + + variables is null or contains null, or body is null. + variables contains more than one element with the same variable name. + + + + Creates a new with an ascending sort order and default collation. + + A new sort clause with the given sort key and ascending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and default collation. + + A new sort clause with the given sort key and descending sort order. + The expression that defines the sort key. + key is null. + key does not have an order-comparable result type. + + + + Creates a new with an ascending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and ascending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new with a descending sort order and the specified collation. + + A new sort clause with the given sort key and collation, and descending sort order. + The expression that defines the sort key. + The collation to sort under. + key is null. + collation is empty or contains only space characters. + key does not have an order-comparable result type. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + An that specifies the input set. + + + An that specifies logic to evaluate once for each member of the input set. + + input or apply is null. + + + + Creates a new that unconditionally joins the sets specified by the list of input expression bindings. + + + A new DbCrossJoinExpression, with an of CrossJoin, that represents the unconditional join of the input sets. + + A list of expression bindings that specifies the input sets. + inputs is null or contains null element. + inputs contains fewer than 2 expression bindings. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expression bindings, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + An that specifies the left set argument. + + + An that specifies the right set argument. + + An expression that specifies the condition on which to join. + left, right or joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbFilterExpression that produces the filtered set. + An expression binding that specifies the input set. + An expression representing a predicate to evaluate for each member of the input set. + input or predicate is null. + predicate does not have a Boolean result type. + + + + Creates a new that groups the elements of the input set according to the specified group keys and applies the given aggregates. + + A new DbGroupByExpression with the specified input set, grouping keys and aggregates. + + A that specifies the input set. + + A list of string-expression pairs that define the grouping columns. + A list of expressions that specify aggregates to apply. + input, keys or aggregates is null, keys contains a null column key or expression, or aggregates contains a null aggregate column name or aggregate. + Both keys and aggregates are empty, or an invalid or duplicate column name was specified. + + + + Creates a new that projects the specified expression over the given input set. + + A new DbProjectExpression that represents the projection operation. + An expression binding that specifies the input set. + An expression to project over the set. + input or projection is null. + + + + Creates a new that sorts the given input set by the given sort specifications before skipping the specified number of elements. + + A new DbSkipExpression that represents the skip operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + An expression the specifies how many elements of the ordered set to skip. + input, sortOrder or count is null, or sortOrder contains null. + + sortOrder is empty, or count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that sorts the given input set by the specified sort specifications. + + A new DbSortExpression that represents the sort operation. + An expression binding that specifies the input set. + A list of sort specifications that determine how the elements of the input set should be sorted. + input or sortOrder is null, or sortOrder contains null. + sortOrder is empty. + + + + Creates a new , which represents a typed null value. + + An instance of DbNullExpression. + The type of the null value. + nullType is null. + + + + Gets a with the Boolean value true. + + + A with the Boolean value true. + + + + + Gets a with the Boolean value false. + + + A with the Boolean value false. + + + + + Creates a new with the given constant value. + + A new DbConstantExpression with the given value. + The constant value to represent. + value is null. + value is not an instance of a valid constant type. + + + + Creates a new of the specified primitive type with the given constant value. + + A new DbConstantExpression with the given value and a result type of constantType. + The type of the constant value. + The constant value to represent. + value or constantType is null. + value is not an instance of a valid constant type, constantType does not represent a primitive type, or value is of a different primitive type than that represented by constantType. + + + + Creates a new that references a parameter with the specified name and type. + + A DbParameterReferenceExpression that represents a reference to a parameter with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced parameter. + The name of the referenced parameter. + + + + Creates a new that references a variable with the specified name and type. + + A DbVariableReferenceExpression that represents a reference to a variable with the specified name and type. The result type of the expression will be the same as type. + The type of the referenced variable. + The name of the referenced variable. + + + + Creates a new that references the specified entity or relationship set. + + A new DbScanExpression based on the specified entity or relationship set. + Metadata for the entity or relationship set to reference. + targetSet is null. + + + + Creates an that performs the logical And of the left and right arguments. + + A new DbAndExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left and right does not have a Boolean result type. + + + + Creates an that performs the logical Or of the left and right arguments. + + A new DbOrExpression with the specified arguments. + A Boolean expression that specifies the left argument. + A Boolean expression that specifies the right argument. + left or right is null. + left or right does not have a Boolean result type. + + + + Creates a that matches the result of the specified + expression with the results of the constant expressions in the specified list. + + A DbExpression to be matched. + A list of DbConstantExpression to test for a match. + + A new DbInExpression with the specified arguments. + + + + or + + is null. + + + The result type of + + is different than the result type of an expression from + . + + + + + Creates a that performs the logical negation of the given argument. + + A new DbNotExpression with the specified argument. + A Boolean expression that specifies the argument. + argument is null. + argument does not have a Boolean result type. + + + + Creates a new that divides the left argument by the right argument. + + A new DbArithmeticExpression representing the division operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left or right. + + + + Creates a new that subtracts the right argument from the left argument. + + A new DbArithmeticExpression representing the subtraction operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that computes the remainder of the left argument divided by the right argument. + + A new DbArithmeticExpression representing the modulo operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that multiplies the left argument by the right argument. + + A new DbArithmeticExpression representing the multiplication operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that adds the left argument to the right argument. + + A new DbArithmeticExpression representing the addition operation. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common numeric result type exists between left and right. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that negates the value of the argument. + + A new DbArithmeticExpression representing the negation operation. + An expression that specifies the argument. + argument is null. + No numeric result type exists for argument. + + + + Creates a new that compares the left and right arguments for equality. + + A new DbComparisonExpression representing the equality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that compares the left and right arguments for inequality. + + A new DbComparisonExpression representing the inequality comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common equality-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than the right argument. + + A new DbComparisonExpression representing the greater-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than the right argument. + + A new DbComparisonExpression representing the less-than comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is greater than or equal to the right argument. + + A new DbComparisonExpression representing the greater-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common order-comparable result type exists between left and right. + + + + Creates a new that determines whether the left argument is less than or equal to the right argument. + + A new DbComparisonExpression representing the less-than-or-equal-to comparison. + An expression that specifies the left argument. + An expression that specifies the right argument. + left or right is null. + No common result type that is both equality- and order-comparable exists between left and right. + + + + Creates a new that determines whether the specified argument is null. + + A new DbIsNullExpression with the specified argument. + An expression that specifies the argument. + argument is null. + argument has a collection result type. + + + + Creates a new that compares the specified input string to the given pattern. + + A new DbLikeExpression with the specified input, pattern and a null escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + Argument or pattern is null. + Argument or pattern does not have a string result type. + + + + Creates a new that compares the specified input string to the given pattern using the optional escape. + + A new DbLikeExpression with the specified input, pattern and escape. + An expression that specifies the input string. + An expression that specifies the pattern string. + An optional expression that specifies the escape string. + argument, pattern or escape is null. + argument, pattern or escape does not have a string result type. + + + + Creates a new that applies a cast operation to a polymorphic argument. + + A new DbCastExpression with the specified argument and target type. + The argument to which the cast should be applied. + Type metadata that specifies the type to cast to. + Argument or toType is null. + The specified cast is not valid. + + + + Creates a new . + + A new DbTreatExpression with the specified argument and type. + An expression that specifies the instance. + Type metadata for the treat-as type. + argument or treatType is null. + treatType is not in the same type hierarchy as the result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + A that specifies the input set. + + Type metadata for the type that elements of the input set must have to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that produces a set consisting of the elements of the given input set that are of exactly the specified type. + + + A new DbOfTypeExpression with the specified set argument and type, and an ExpressionKind of + + . + + + An that specifies the input set. + + Type metadata for the type that elements of the input set must match exactly to be included in the resulting set. + argument or type is null. + argument does not have a collection result type, or type is not a type in the same type hierarchy as the element type of the collection result type of argument. + + + + Creates a new that determines whether the given argument is of the specified type or a subtype. + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOf. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new expression that determines whether the given argument is of the specified type, and only that type (not a subtype). + + A new DbIsOfExpression with the specified instance and type and DbExpressionKind IsOfOnly. + An expression that specifies the instance. + Type metadata that specifies the type that the instance's result type should be compared to. + argument or type is null. + type is not in the same type hierarchy as the result type of argument. + + + + Creates a new that retrieves a specific Entity given a reference expression. + + A new DbDerefExpression that retrieves the specified Entity. + + An that provides the reference. This expression must have a reference Type. + + argument is null. + argument does not have a reference result type. + + + + Creates a new that retrieves the ref of the specified entity in structural form. + + A new DbEntityRefExpression that retrieves a reference to the specified entity. + The expression that provides the entity. This expression must have an entity result type. + argument is null. + argument does not have an entity result type. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet is null, or keyValues is null or contains null. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific entity of a given type based on key values. + + A new DbRefExpression that references the element with the specified key values in the given entity set. + The entity set in which the referenced element resides. + The specific type of the referenced entity. This must be an entity type from the same hierarchy as the entity set's element type. + + A collection of s that provide the key values. These expressions must match (in number, type, and order) the key properties of the referenced entity type. + + entitySet or entityType is null, or keyValues is null or contains null. + entityType is not from the same type hierarchy (a subtype, supertype, or the same type) as entitySet's element type. + The count of keyValues does not match the count of key members declared by the entitySet’s element type, or keyValues contains an expression with a result type that is not compatible with the type of the corresponding key member. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + entitySet or keyRow is null. + keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that encodes a reference to a specific Entity based on key values. + + A new DbRefExpression that references the element with the specified key values in the given Entity set. + The Entity set in which the referenced element resides. + + A that constructs a record with columns that match (in number, type, and order) the Key properties of the referenced Entity type. + + The type of the Entity that the reference should refer to. + entitySet, keyRow or entityType is null. + entityType is not in the same type hierarchy as the entity set's entity type, or keyRow does not have a record result type that matches the key properties of the referenced entity set's entity type. + + + + Creates a new that retrieves the key values of the specified reference in structural form. + + A new DbRefKeyExpression that retrieves the key values of the specified reference. + The expression that provides the reference. This expression must have a reference Type with an Entity element type. + argument is null. + argument does not have a reference result type. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + An expression that specifies the instance from which navigation should occur. + Metadata for the property that represents the end of the relationship from which navigation should occur. + Metadata for the property that represents the end of the relationship to which navigation should occur. + fromEnd, toEnd or navigateFrom is null. + fromEnd and toEnd are not declared by the same relationship type, or navigateFrom has a result type that is not compatible with the property type of fromEnd. + + + + Creates a new representing the navigation of a composition or association relationship. + + A new DbRelationshipNavigationExpression representing the navigation of the specified from and to relation ends of the specified relation type from the specified navigation source instance. + Metadata for the relation type that represents the relationship. + The name of the property of the relation type that represents the end of the relationship from which navigation should occur. + The name of the property of the relation type that represents the end of the relationship to which navigation should occur. + An expression the specifies the instance from which navigation should occur. + type, fromEndName, toEndName or navigateFrom is null. + type is not associated with this command tree's metadata workspace or navigateFrom is associated with a different command tree, or type does not declare a relation end property with name toEndName or fromEndName, or navigateFrom has a result type that is not compatible with the property type of the relation end property with name fromEndName. + + + + Creates a new that removes duplicates from the given set argument. + + A new DbDistinctExpression that represents the distinct operation applied to the specified set argument. + An expression that defines the set over which to perform the distinct operation. + argument is null. + argument does not have a collection result type. + + + + Creates a new that converts a set into a singleton. + + A DbElementExpression that represents the conversion of the set argument to a singleton. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is an empty set. + + A new DbIsEmptyExpression with the specified argument. + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that computes the subtraction of the right set argument from the left set argument. + + A new DbExceptExpression that represents the difference of the left argument from the right argument. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left and right. + + + + Creates a new that computes the intersection of the left and right set arguments. + + A new DbIntersectExpression that represents the intersection of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type exists between left or right. + + + + Creates a new that computes the union of the left and right set arguments and does not remove duplicates. + + A new DbUnionAllExpression that union, including duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, or count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new . + + A new DbCaseExpression with the specified cases and default result. + A list of expressions that provide the conditional for of each case. + A list of expressions that provide the result of each case. + An expression that defines the result when no case is matched. + whenExpressions or thenExpressions is null or contains null, or elseExpression is null. + whenExpressions or thenExpressions is empty or whenExpressions contains an expression with a non-Boolean result type, or no common result type exists for all expressions in thenExpressions and elseExpression. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + A list of expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the invocation of the specified function with the given arguments. + + A new DbFunctionExpression representing the function invocation. + Metadata for the function to invoke. + Expressions that provide the arguments to the function. + function is null, or arguments is null or contains null. + The count of arguments does not equal the number of parameters declared by function, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding function parameter type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new Expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + A list of expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new representing the application of the specified Lambda function to the given arguments. + + A new expression representing the Lambda function application. + + A instance representing the Lambda function to apply. + + Expressions that provide the arguments. + lambda or arguments is null. + The count of arguments does not equal the number of variables declared by lambda, or arguments contains an expression that has a result type that is not equal or promotable to the corresponding variable type. + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new . If the type argument is a collection type, the arguments specify the elements of the collection. Otherwise the arguments are used as property or column values in the new instance. + + A new DbNewInstanceExpression with the specified type and arguments. + The type of the new instance. + Expressions that specify values of the new instances, interpreted according to the instance's type. + instanceType or arguments is null, or arguments contains null. + arguments is empty or the result types of the contained expressions do not match the requirements of instanceType (as explained in the remarks section). + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs a collection containing the specified elements. The type of the collection is based on the common type of the elements. If no common element type exists an exception is thrown. + + A new DbNewInstanceExpression with the specified collection type and arguments. + A list of expressions that provide the elements of the collection. + elements is null, or contains null.. + elements is empty or contains expressions for which no common result type exists. + + + + Creates a new that constructs an empty collection of the specified collection type. + + A new DbNewInstanceExpression with the specified collection type and an empty Arguments list. + The type metadata for the collection to create + collectionType is null. + collectionType is not a collection type. + + + + Creates a new that produces a row with the specified named columns and the given values, specified as expressions. + + A new DbNewInstanceExpression that represents the construction of the row. + A list of string-DbExpression key-value pairs that defines the structure and values of the row. + columnValues is null or contains an element with a null column name or expression. + columnValues is empty, or contains a duplicate or invalid column name. + + + + Creates a new representing the retrieval of the specified property. + + A new DbPropertyExpression representing the property retrieval. + The instance from which to retrieve the property. May be null if the property is static. + Metadata for the property to retrieve. + propertyMetadata is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the specified navigation property. + + A new DbPropertyExpression representing the navigation property retrieval. + The instance from which to retrieve the navigation property. + Metadata for the navigation property to retrieve. + navigationProperty or instance is null. + + + + Creates a new representing the retrieval of the specified relationship end member. + + A new DbPropertyExpression representing the relationship end member retrieval. + The instance from which to retrieve the relationship end member. + Metadata for the relationship end member to retrieve. + relationshipEnd is null or instance is null and the property is not static. + + + + Creates a new representing the retrieval of the instance property with the specified name from the given instance. + + A new DbPropertyExpression that represents the property retrieval. + The instance from which to retrieve the property. + The name of the property to retrieve. + propertyName is null or instance is null and the property is not static. + No property with the specified name is declared by the type of instance. + + + + Creates a new representing setting a property to a value. + + The property to be set. + The value to set the property to. + The newly created set clause. + + + + Creates a new that determines whether the given predicate holds for all elements of the input set. + + A new DbQuantifierExpression that represents the All operation. + An expression that specifies the input set. + A method representing a predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by Predicate does not have a Boolean result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + source is null. + source does not have a collection result type. + + + + Creates a new that determines whether the specified set argument is non-empty. + + + A new applied to a new + + with the specified argument. + + An expression that specifies the input set. + argument is null. + argument does not have a collection result type. + + + + Creates a new that determines whether the given predicate holds for any element of the input set. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + source does not have a collection result type. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set have an apply column value of null. + + + An new DbApplyExpression with the specified input and apply bindings and an + + of OuterApply. + + + A that specifies the input set. + + A method that specifies the logic to evaluate once for each member of the input set. + source or apply is null. + Source does not have a collection result type. + The result of apply contains a name or expression that is null. + The result of apply contains a name or expression that is not valid in an expression binding. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using FullOuterJoin as the + + . + + + A new DbJoinExpression, with an of FullOuterJoin, that represents the full outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the left and right expressions, on the specified join condition, using LeftOuterJoin as the + + . + + + A new DbJoinExpression, with an of LeftOuterJoin, that represents the left outer join operation applied to the left and right input sets under the given join condition. + + + A that specifies the left set argument. + + + A that specifies the right set argument. + + A method representing the condition on which to join. This method must produce an expression with a Boolean result type that provides the logic of the join condition. + left, right or joinCondition is null. + left or right does not have a collection result type. + The expression produced by joinCondition is null. + The expression produced by joinCondition does not have a Boolean result type. + + + + Creates a new that joins the sets specified by the outer and inner expressions, on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbJoinExpression, with an of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + outer, inner, outerKey or innerKey is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The expressions produced by outerKey and innerKey are not comparable for equality. + + + + Creates a new that projects the specified selector over the sets specified by the outer and inner expressions, joined on an equality condition between the specified outer and inner keys, using InnerJoin as the + + . + + + A new DbProjectExpression with the specified selector as its projection, and a new DbJoinExpression as its input. The input DbJoinExpression is created with an + + of InnerJoin, that represents the inner join operation applied to the left and right input sets under a join condition that compares the outer and inner key values for equality. + + + A that specifies the outer set argument. + + + A that specifies the inner set argument. + + A method that specifies how the outer key value should be derived from an element of the outer set. + A method that specifies how the inner key value should be derived from an element of the inner set. + + A method that specifies how an element of the result set should be derived from elements of the inner and outer sets. This method must produce an instance of a type that is compatible with Join and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The type of the selector . + outer, inner, outerKey, innerKey or selector is null. + outer or inner does not have a collection result type. + The expression produced by outerKey or innerKey is null. + The result of selector is null after conversion to DbExpression. + The expressions produced by outerKey and innerKey is not comparable for equality. + The result of Selector is not compatible with SelectMany. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with ascending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and default collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that sorts the given input set by the specified sort key, with descending sort order and the specified collation. + + A new DbSortExpression that represents the order-by operation. + An expression that specifies the input set. + A method that specifies how to derive the sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that selects the specified expression over the given input set. + + A new DbProjectExpression that represents the select operation. + An expression that specifies the input set. + + A method that specifies how to derive the projected expression given a member of the input set. This method must produce an instance of a type that is compatible with Select and can be resolved into a + + . Compatibility requirements for TProjection are described in remarks. + + The method result type of projection. + source or projection is null. + The result of projection is null. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the apply column from each row, producing the overall collection of apply results. + + + An new DbProjectExpression that selects the apply column from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + source or apply is null. + The expression produced by apply is null. + source does not have a collection result type. + The expression produced by apply does not have a collection type. + + + + Creates a new that evaluates the given apply expression once for each element of a given input set, producing a collection of rows with corresponding input and apply columns. Rows for which apply evaluates to an empty set are not included. A + + is then created that selects the specified selector over each row, producing the overall collection of results. + + + An new DbProjectExpression that selects the result of the given selector from a new DbApplyExpression with the specified input and apply bindings and an + + of CrossApply. + + + A that specifies the input set. + + A method that represents the logic to evaluate once for each member of the input set. + + A method that specifies how an element of the result set should be derived given an element of the input and apply sets. This method must produce an instance of a type that is compatible with SelectMany and can be resolved into a + + . Compatibility requirements for TSelector are described in remarks. + + The method result type of selector. + source, apply or selector is null. + The expression produced by apply is null. + The result of selector is null on conversion to DbExpression. + source does not have a collection result type. + The expression produced by apply does not have a collection type. does not have a collection type. + + + + Creates a new that skips the specified number of elements from the given sorted input set. + + A new DbSkipExpression that represents the skip operation. + + A that specifies the sorted input set. + + An expression the specifies how many elements of the ordered set to skip. + argument or count is null. + + count is not or + + or has a result type that is not equal or promotable to a 64-bit integer type. + + + + + Creates a new that restricts the number of elements in the Argument collection to the specified count Limit value. Tied results are not included in the output. + + A new DbLimitExpression with the specified argument and count limit values that does not include tied results. + An expression that specifies the input collection. + An expression that specifies the limit value. + argument or count is null. + argument does not have a collection result type, count does not have a result type that is equal or promotable to a 64-bit integer type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in ascending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with default collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + source or sortKey is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable result type. + + + + Creates a new that with a sort order that includes the sort order of the given order input set together with the specified sort key in descending sort order and with the specified collation. + + A new DbSortExpression that represents the new overall order-by operation. + A DbSortExpression that specifies the ordered input set. + A method that specifies how to derive the additional sort key expression given a member of the input set. This method must produce an expression with an order-comparable result type that provides the sort key definition. + The collation to sort under. + source, sortKey or collation is null. + The expression produced by sortKey is null. + source does not have a collection result type. + The expression produced by sortKey does not have an order-comparable string result type. + collation is empty or contains only space characters. + + + + Creates a new that filters the elements in the given input set using the specified predicate. + + A new DbQuantifierExpression that represents the Any operation. + An expression that specifies the input set. + A method representing the predicate to evaluate for each member of the input set. This method must produce an expression with a Boolean result type that provides the predicate logic. + source or predicate is null. + The expression produced by predicate is null. + The expression produced by predicate does not have a Boolean result type. + + + + Creates a new that computes the union of the left and right set arguments with duplicates removed. + + A new DbExpression that computes the union, without duplicates, of the left and right arguments. + An expression that defines the left set argument. + An expression that defines the right set argument. + left or right is null. + No common collection result type with an equality-comparable element type exists between left and right. + + + + Provides an API to construct s that invoke canonical EDM functions, and allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'Avg' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the average value. + An expression that specifies the collection from which the average value should be computed. + + + + Creates a that invokes the canonical 'Count' function over the specified collection. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'BigCount' function over the specified collection. The result type of the expression is Edm.Int64. + + A new DbFunctionExpression that produces the count value. + An expression that specifies the collection over which the count value should be computed. + + + + Creates a that invokes the canonical 'Max' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the maximum value. + An expression that specifies the collection from which the maximum value should be retrieved + + + + Creates a that invokes the canonical 'Min' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the minimum value. + An expression that specifies the collection from which the minimum value should be retrieved. + + + + Creates a that invokes the canonical 'Sum' function over the specified collection. The result type of the expression is the same as the element type of the collection. + + A new DbFunctionExpression that produces the sum. + An expression that specifies the collection from which the sum should be computed. + + + + Creates a that invokes the canonical 'StDev' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value over non-null members of the collection. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'StDevP' function over the population of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the standard deviation value. + An expression that specifies the collection for which the standard deviation should be computed. + + + + Creates a that invokes the canonical 'Var' function over the non-null members of the specified collection. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value for the non-null members of the collection. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'VarP' function over the population of the specified collection. The result type of the expression Edm.Double. + + A new DbFunctionExpression that produces the statistical variance value. + An expression that specifies the collection for which the statistical variance should be computed. + + + + Creates a that invokes the canonical 'Concat' function with the specified arguments, which must each have a string result type. The result type of the expression is string. + + A new DbFunctionExpression that produces the concatenated string. + An expression that specifies the string that should appear first in the concatenated result string. + An expression that specifies the string that should appear second in the concatenated result string. + + + + Creates a that invokes the canonical 'Contains' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not searchedForString occurs within searchedString. + An expression that specifies the string to search for any occurrence of searchedForString. + An expression that specifies the string to search for in searchedString. + + + + Creates a that invokes the canonical 'EndsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument ends with suffix. + An expression that specifies the string that is searched at the end for string suffix. + An expression that specifies the target string that is searched for at the end of stringArgument. + + + + Creates a that invokes the canonical 'IndexOf' function with the specified arguments, which must each have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the first index of stringToFind in searchString. + An expression that specifies the string to search for stringToFind. + An expression that specifies the string to locate within searchString should be checked. + + + + Creates a that invokes the canonical 'Left' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the leftmost substring of length from stringArgument. + An expression that specifies the string from which to extract the leftmost substring. + An expression that specifies the length of the leftmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'Length' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the length of stringArgument. + An expression that specifies the string for which the length should be computed. + + + + Creates a that invokes the canonical 'Replace' function with the specified arguments, which must each have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression than returns a new string based on stringArgument where every occurrence of toReplace is replaced by replacement. + An expression that specifies the string in which to perform the replacement operation. + An expression that specifies the string that is replaced. + An expression that specifies the replacement string. + + + + Creates a that invokes the canonical 'Reverse' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that produces the reversed value of stringArgument. + An expression that specifies the string to reverse. + + + + Creates a that invokes the canonical 'Right' function with the specified arguments, which must have a string and integer numeric result type. The result type of the expression is string. + + A new DbFunctionExpression that returns the rightmost substring of length from stringArgument. + An expression that specifies the string from which to extract the rightmost substring. + An expression that specifies the length of the rightmost substring to extract from stringArgument. + + + + Creates a that invokes the canonical 'StartsWith' function with the specified arguments, which must each have a string result type. The result type of the expression is Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether or not stringArgument starts with prefix. + An expression that specifies the string that is searched at the start for string prefix. + An expression that specifies the target string that is searched for at the start of stringArgument. + + + + Creates a that invokes the canonical 'Substring' function with the specified arguments, which must have a string and integer numeric result types. The result type of the expression is string. + + A new DbFunctionExpression that returns the substring of length from stringArgument starting at start. + An expression that specifies the string from which to extract the substring. + An expression that specifies the starting index from which the substring should be taken. + An expression that specifies the length of the substring. + + + + Creates a that invokes the canonical 'ToLower' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to lower case. + An expression that specifies the string that should be converted to lower case. + + + + Creates a that invokes the canonical 'ToUpper' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument converted to upper case. + An expression that specifies the string that should be converted to upper case. + + + + Creates a that invokes the canonical 'Trim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading and trailing space removed. + An expression that specifies the string from which leading and trailing space should be removed. + + + + Creates a that invokes the canonical 'RTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with trailing space removed. + An expression that specifies the string from which trailing space should be removed. + + + + Creates a that invokes the canonical 'LTrim' function with the specified argument, which must have a string result type. The result type of the expression is also string. + + A new DbFunctionExpression that returns value of stringArgument with leading space removed. + An expression that specifies the string from which leading space should be removed. + + + + Creates a that invokes the canonical 'Year' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer year value from dateValue. + An expression that specifies the value from which the year should be retrieved. + + + + Creates a that invokes the canonical 'Month' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer month value from dateValue. + An expression that specifies the value from which the month should be retrieved. + + + + Creates a that invokes the canonical 'Day' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day value from dateValue. + An expression that specifies the value from which the day should be retrieved. + + + + Creates a that invokes the canonical 'DayOfYear' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer day of year value from dateValue. + An expression that specifies the value from which the day within the year should be retrieved. + + + + Creates a that invokes the canonical 'Hour' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer hour value from timeValue. + An expression that specifies the value from which the hour should be retrieved. + + + + Creates a that invokes the canonical 'Minute' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer minute value from timeValue. + An expression that specifies the value from which the minute should be retrieved. + + + + Creates a that invokes the canonical 'Second' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer second value from timeValue. + An expression that specifies the value from which the second should be retrieved. + + + + Creates a that invokes the canonical 'Millisecond' function with the specified argument, which must have a DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer millisecond value from timeValue. + An expression that specifies the value from which the millisecond should be retrieved. + + + + Creates a that invokes the canonical 'GetTotalOffsetMinutes' function with the specified argument, which must have a DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes dateTimeOffsetArgument is offset from GMT. + An expression that specifies the DateTimeOffset value from which the minute offset from GMT should be retrieved. + + + + Creates a that gets local DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to DATETIME2, discarding offset part + An expression that specifies the DateTimeOffset value. + + + + Creates a that gets UTC DateTime using CAST expressions from specified argument, which must have a DateTimeOffset result type. The result type of the expression is DateTime. + + A new DbFunctionExpression that casts DATETIMEOFFSET to Utc DATETIME2 + An expression that specifies the DateTimeOffset value. + + + + Creates a that invokes the canonical 'CurrentDateTime' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'CurrentDateTimeOffset' function. + + A new DbFunctionExpression that returns the current date and time as an Edm.DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CurrentUtcDateTime' function. + + A new DbFunctionExpression that returns the current UTC date and time as an Edm.DateTime instance. + + + + Creates a that invokes the canonical 'TruncateTime' function with the specified argument, which must have a DateTime or DateTimeOffset result type. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that returns the value of dateValue with time set to zero. + An expression that specifies the value for which the time portion should be truncated. + + + + Creates a that invokes the canonical 'CreateDateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTime. + + A new DbFunctionExpression that returns a new DateTime based on the specified values. + An expression that provides the year value for the new DateTime instance. + An expression that provides the month value for the new DateTime instance. + An expression that provides the day value for the new DateTime instance. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'CreateDateTimeOffset' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.DateTimeOffset. + + A new DbFunctionExpression that returns a new DateTimeOffset based on the specified values. + An expression that provides the year value for the new DateTimeOffset instance. + An expression that provides the month value for the new DateTimeOffset instance. + An expression that provides the day value for the new DateTimeOffset instance. + An expression that provides the hour value for the new DateTimeOffset instance. + An expression that provides the minute value for the new DateTimeOffset instance. + An expression that provides the second value for the new DateTimeOffset instance. + An expression that provides the number of minutes in the time zone offset value for the new DateTimeOffset instance. + + + + Creates a that invokes the canonical 'CreateTime' function with the specified arguments. second must have a result type of Edm.Double, while all other arguments must have a result type of Edm.Int32. The result type of the expression is Edm.Time. + + A new DbFunctionExpression that returns a new Time based on the specified values. + An expression that provides the hour value for the new DateTime instance. + An expression that provides the minute value for the new DateTime instance. + An expression that provides the second value for the new DateTime instance. + + + + Creates a that invokes the canonical 'AddYears' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of years specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of years to add to dateValue. + + + + Creates a that invokes the canonical 'AddMonths' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of months specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of months to add to dateValue. + + + + Creates a that invokes the canonical 'AddDays' function with the specified arguments, which must have DateTime or DateTimeOffset and integer result types. The result type of the expression is the same as the result type of dateValue. + + A new DbFunctionExpression that adds the number of days specified by addValue to the value specified by dateValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of days to add to dateValue. + + + + Creates a that invokes the canonical 'AddHours' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of hours specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of hours to add to timeValue. + + + + Creates a that invokes the canonical 'AddMinutes' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of minutes specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of minutes to add to timeValue. + + + + Creates a that invokes the canonical 'AddSeconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of seconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of seconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMilliseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of milliseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of milliseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddMicroseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of microseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of microseconds to add to timeValue. + + + + Creates a that invokes the canonical 'AddNanoseconds' function with the specified arguments, which must have DateTime, DateTimeOffset or Time, and integer result types. The result type of the expression is the same as the result type of timeValue. + + A new DbFunctionExpression that adds the number of nanoseconds specified by addValue to the value specified by timeValue. + An expression that specifies the value to which addValueshould be added. + An expression that specifies the number of nanoseconds to add to timeValue. + + + + Creates a that invokes the canonical 'DiffYears' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of years that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffMonths' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of months that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffDays' function with the specified arguments, which must each have DateTime or DateTimeOffset result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of days that is the difference between dateValue1 and dateValue2. + An expression that specifies the first date value argument. + An expression that specifies the second date value argument. + + + + Creates a that invokes the canonical 'DiffHours' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of hours that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMinutes' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of minutes that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffSeconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of seconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMilliseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of milliseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffMicroseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of microseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'DiffNanoseconds' function with the specified arguments, which must each have DateTime, DateTimeOffset or Time result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the number of nanoseconds that is the difference between timeValue1 and timeValue2. + An expression that specifies the first time value argument. + An expression that specifies the second time value argument. + + + + Creates a that invokes the canonical 'Round' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value. + An expression that specifies the numeric value to round. + + + + Creates a that invokes the canonical 'Round' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that rounds the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to round. + An expression that specifies the number of digits of precision to use when rounding. + + + + Creates a that invokes the canonical 'Floor' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the largest integer value not greater than value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Ceiling' function with the specified argument, which must each have a single, double or decimal result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the smallest integer value not less than the value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Abs' function with the specified argument, which must each have a numeric result type. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that returns the absolute value of value. + An expression that specifies the numeric value. + + + + Creates a that invokes the canonical 'Truncate' function with the specified arguments, which must have a single, double or decimal, and integer result types. The result type of the expression is the same as the result type of value. + + A new DbFunctionExpression that truncates the specified argument to the nearest integer value, with precision as specified by digits. + An expression that specifies the numeric value to truncate. + An expression that specifies the number of digits of precision to use when truncating. + + + + Creates a that invokes the canonical 'Power' function with the specified arguments, which must have numeric result types. The result type of the expression is the same as the result type of baseArgument. + + A new DbFunctionExpression that returns the value of baseArgument raised to the power specified by exponent. + An expression that specifies the numeric value to raise to the given power. + An expression that specifies the power to which baseArgument should be raised. + + + + Creates a that invokes the canonical 'BitwiseAnd' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise AND of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseOr' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise OR of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'BitwiseNot' function with the specified argument, which must have an integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise NOT of value. + An expression that specifies the first operand. + + + + Creates a that invokes the canonical 'BitwiseXor' function with the specified arguments, which must have the same integer numeric result type. The result type of the expression is the same as the type of the arguments. + + A new DbFunctionExpression that returns the value produced by performing the bitwise XOR (exclusive OR) of value1 and value2. + An expression that specifies the first operand. + An expression that specifies the second operand. + + + + Creates a that invokes the canonical 'NewGuid' function. + + A new DbFunctionExpression that returns a new GUID value. + + + + Provides an API to construct s that invoke hierarchyid realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'HierarchyIdParse' function with the + specified argument, which must have a string result type. + The result type of the expression is Edm.HierarchyId. + + An expression that provides the canonical representation of the hierarchyid value. + A new DbFunctionExpression that returns a new hierarchyid value based on the specified value. + + + is null. + + + No overload of the canonical 'HierarchyIdParse' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'HierarchyIdGetRoot' function. + The result type of the expression is Edm.HierarchyId. + + A new DbFunctionExpression that returns a new root hierarchyid value. + + + + Creates a that invokes the canonical 'GetAncestor' function with the + specified argument, which must have an Int32 result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides an integer value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + is null. + + + No overload of the canonical 'GetAncestor' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetDescendant' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetDescendant' function accept an argument with the result type of + + and + + . + + + + + Creates a that invokes the canonical 'GetLevel' function. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + A new DbFunctionExpression that returns the level of the given hierarchyid. + + + is null. + + + + + Creates a that invokes the canonical 'IsDescendantOf' function with the + specified argument, which must have a HierarchyId result type. + The result type of the expression is Int32. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns an integer value. + + + or + + is null. + + + No overload of the canonical 'IsDescendantOf' function accept an argument with the result type of + + . + + + + + Creates a that invokes the canonical 'GetReparentedValue' function with the + specified arguments, which must have a HierarchyId result type. + The result type of the expression is Edm.HierarchyId. + + An expression that specifies the hierarchyid value. + An expression that provides a hierarchyid value. + An expression that provides a hierarchyid value. + A new DbFunctionExpression that returns a hierarchyid. + + + or + + or + + is null. + + + No overload of the canonical 'GetReparentedValue' function accept an argument with the result type of + + and + + . + + + + + Provides a constructor-like means of calling + + . + + + + + Initializes a new instance of the class with the specified first column value and optional successive column values. + + A key-value pair that provides the first column in the new row instance. (required) + A key-value pairs that provide any subsequent columns in the new row instance. (optional) + + + + Creates a new that constructs a new row based on the columns contained in this Row instance. + + A new DbNewInstanceExpression that constructs a row with the same column names and DbExpression values as this Row instance. + + + + Converts the given Row instance into an instance of + + The Row instance. + A DbExpression based on the Row instance + + + is null. + + + + + + Provides an API to construct s that invoke spatial realted canonical EDM functions, and, where appropriate, allows that API to be accessed as extension methods on the expression type itself. + + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geometry value based on the specified value. + An expression that provides the well known text representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known text representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromText' function with the specified arguments. pointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known text representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known text representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known text representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known text representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known text representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromText' function with the specified arguments. geometryCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known text representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified binary value. + An expression that provides the well known binary representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the well known binary representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry point value based on the specified values. + An expression that provides the well known binary representation of the geometry point value. + An expression that provides the coordinate system id (SRID) of the geometry point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry line value based on the specified values. + An expression that provides the well known binary representation of the geometry line value. + An expression that provides the coordinate system id (SRID) of the geometry line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry polygon value. + An expression that provides the coordinate system id (SRID) of the geometry polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-point value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-point value. + An expression that provides the coordinate system id (SRID) of the geometry multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-line value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-line value. + An expression that provides the coordinate system id (SRID) of the geometry multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geometry multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geometry multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryCollectionFromBinary' function with the specified arguments. geometryCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry collection value based on the specified values. + An expression that provides the well known binary representation of the geometry collection value. + An expression that provides the coordinate system id (SRID) of the geometry collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + + + + Creates a that invokes the canonical 'GeometryFromGml' function with the specified arguments. geometryMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a new geometry value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geometry value. + An expression that provides the coordinate system id (SRID) of the geometry value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. Its value has the default coordinate system id (SRID) of the underlying provider. + + A new DbFunctionExpression that returns a new geography value based on the specified value. + An expression that provides the well known text representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromText' function with the specified arguments. wellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known text representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromText' function with the specified arguments. + + The canonical 'GeographyPointFromText' function. + An expression that provides the well-known text representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownTextValue. + + + + Creates a that invokes the canonical 'GeographyLineFromText' function with the specified arguments. lineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known text representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromText' function with the specified arguments. polygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known text representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromText' function with the specified arguments. multiPointWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known text representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromText' function with the specified arguments. multiLineWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known text representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromText' function with the specified arguments. multiPolygonWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known text representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromText' function with the specified arguments. geographyCollectionWellKnownText must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known text representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified argument, which must have a binary result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified binary value. + An expression that provides the well known binary representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromBinary' function with the specified arguments. wellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the well known binary representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPointFromBinary' function with the specified arguments. pointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography point value based on the specified values. + An expression that provides the well known binary representation of the geography point value. + An expression that provides the coordinate system id (SRID) of the geography point value's coordinate systempointWellKnownBinaryValue. + + + + Creates a that invokes the canonical 'GeographyLineFromBinary' function with the specified arguments. lineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography line value based on the specified values. + An expression that provides the well known binary representation of the geography line value. + An expression that provides the coordinate system id (SRID) of the geography line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyPolygonFromBinary' function with the specified arguments. polygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography polygon value based on the specified values. + An expression that provides the well known binary representation of the geography polygon value. + An expression that provides the coordinate system id (SRID) of the geography polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPointFromBinary' function with the specified arguments. multiPointWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-point value based on the specified values. + An expression that provides the well known binary representation of the geography multi-point value. + An expression that provides the coordinate system id (SRID) of the geography multi-point value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiLineFromBinary' function with the specified arguments. multiLineWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-line value based on the specified values. + An expression that provides the well known binary representation of the geography multi-line value. + An expression that provides the coordinate system id (SRID) of the geography multi-line value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyMultiPolygonFromBinary' function with the specified arguments. multiPolygonWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography multi-polygon value based on the specified values. + An expression that provides the well known binary representation of the geography multi-polygon value. + An expression that provides the coordinate system id (SRID) of the geography multi-polygon value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyCollectionFromBinary' function with the specified arguments. geographyCollectionWellKnownBinaryValue must have a binary result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography collection value based on the specified values. + An expression that provides the well known binary representation of the geography collection value. + An expression that provides the coordinate system id (SRID) of the geography collection value's coordinate system. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified argument, which must have a string result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified value with the default coordinate system id (SRID) of the underlying provider. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + + + + Creates a that invokes the canonical 'GeographyFromGml' function with the specified arguments. geographyMarkup must have a string result type, while coordinateSystemId must have an integer numeric result type. The result type of the expression is Edm.Geography. + + A new DbFunctionExpression that returns a new geography value based on the specified values. + An expression that provides the Geography Markup Language (GML) representation of the geography value. + An expression that provides the coordinate system id (SRID) of the geography value's coordinate system. + + + + Creates a that invokes the canonical 'CoordinateSystemId' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the integer SRID value from spatialValue. + An expression that specifies the value from which the coordinate system id (SRID) should be retrieved. + + + + Creates a that invokes the canonical 'SpatialTypeName' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the string Geometry Type name from spatialValue. + An expression that specifies the value from which the Geometry Type name should be retrieved. + + + + Creates a that invokes the canonical 'SpatialDimension' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns the Dimension value from spatialValue. + An expression that specifies the value from which the Dimension value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialEnvelope' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the minimum bounding box for geometryValue. + An expression that specifies the value from which the Envelope value should be retrieved. + + + + Creates a that invokes the canonical 'AsBinary' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Binary. + + A new DbFunctionExpression that returns the well known binary representation of spatialValue. + An expression that specifies the spatial value from which the well known binary representation should be produced. + + + + Creates a that invokes the canonical 'AsGml' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the Geography Markup Language (GML) representation of spatialValue. + An expression that specifies the spatial value from which the Geography Markup Language (GML) representation should be produced. + + + + Creates a that invokes the canonical 'AsText' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.String. + + A new DbFunctionExpression that returns the well known text representation of spatialValue. + An expression that specifies the spatial value from which the well known text representation should be produced. + + + + Creates a that invokes the canonical 'IsEmptySpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue is empty. + An expression that specifies the spatial value from which the IsEmptySpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsSimpleGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is a simple geometry. + The geometry value. + + + + Creates a that invokes the canonical 'SpatialBoundary' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the boundary for geometryValue. + An expression that specifies the geometry value from which the SpatialBoundary value should be retrieved. + + + + Creates a that invokes the canonical 'IsValidGeometry' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue is valid. + An expression that specifies the geometry value which should be tested for spatial validity. + + + + Creates a that invokes the canonical 'SpatialEquals' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are equal. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for equality. + + + + Creates a that invokes the canonical 'SpatialDisjoint' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 are spatially disjoint. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for disjointness. + + + + Creates a that invokes the canonical 'SpatialIntersects' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether spatialValue1 and spatialValue2 intersect. + An expression that specifies the first spatial value. + An expression that specifies the spatial value that should be compared with spatialValue1 for intersection. + + + + Creates a that invokes the canonical 'SpatialTouches' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 touches geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialCrosses' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 crosses geometryValue2 intersect. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialWithin' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially within geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialContains' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially contains geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialOverlaps' function with the specified arguments, which must each have an Edm.Geometry result type. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 spatially overlaps geometryValue2. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + + + + Creates a that invokes the canonical 'SpatialRelate' function with the specified arguments, which must have Edm.Geometry and string result types. The result type of the expression is Edm.Boolean. + + A new DbFunctionExpression that returns a Boolean value indicating whether geometryValue1 is spatially related to geometryValue2 according to the spatial relationship designated by intersectionPatternMatrix. + An expression that specifies the first geometry value. + An expression that specifies the geometry value that should be compared with geometryValue1. + An expression that specifies the text representation of the Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern used to compare geometryValue1 and geometryValue2. + + + + Creates a that invokes the canonical 'SpatialBuffer' function with the specified arguments, which must have a Edm.Geography or Edm.Geometry and Edm.Double result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns a geometry value representing all points less than or equal to distance from spatialValue. + An expression that specifies the spatial value. + An expression that specifies the buffer distance. + + + + Creates a that invokes the canonical 'Distance' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns the distance between the closest points in spatialValue1 and spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value from which the distance from spatialValue1 should be measured. + + + + Creates a that invokes the canonical 'SpatialConvexHull' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns the convex hull for geometryValue. + An expression that specifies the geometry value from which the convex hull value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialIntersection' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the intersection of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the intersection with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialUnion' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the spatial value representing the union of spatialValue1 and spatialValue2. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the union with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialSymmetricDifference' function with the specified arguments, which must each have an Edm.Geography or Edm.Geometry result type. The result type of spatialValue1 must match the result type of spatialValue2. The result type of the expression is the same as the type of spatialValue1 and spatialValue2. + + A new DbFunctionExpression that returns the geometry value representing the symmetric difference of spatialValue2 with spatialValue1. + An expression that specifies the first spatial value. + An expression that specifies the spatial value for which the symmetric difference with spatialValue1 should be computed. + + + + Creates a that invokes the canonical 'SpatialElementCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of elements in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value from which the number of elements should be retrieved. + + + + Creates a that invokes the canonical 'SpatialElementAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the collection element at position indexValue in spatialValue or null if spatialValue is not a collection. + An expression that specifies the geography or geometry collection value. + An expression that specifies the position of the element to be retrieved from within the geometry or geography collection. + + + + Creates a that invokes the canonical 'XCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the X co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the X co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'YCoordinate' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Y co-ordinate value of geometryValue or null if geometryValue is not a point. + An expression that specifies the geometry point value from which the Y co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Elevation' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the elevation value of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the elevation (Z co-ordinate) value should be retrieved. + + + + Creates a that invokes the canonical 'Measure' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Measure of spatialValue or null if spatialValue is not a point. + An expression that specifies the spatial point value from which the Measure (M) co-ordinate value should be retrieved. + + + + Creates a that invokes the canonical 'Latitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Latitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Latitude value should be retrieved. + + + + Creates a that invokes the canonical 'Longitude' function with the specified argument, which must have an Edm.Geography result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the Longitude value of geographyValue or null if geographyValue is not a point. + An expression that specifies the geography point value from which the Longitude value should be retrieved. + + + + Creates a that invokes the canonical 'SpatialLength' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the length of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the length should be retrieved. + + + + Creates a that invokes the canonical 'StartPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the start point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the start point should be retrieved. + + + + Creates a that invokes the canonical 'EndPoint' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the end point of spatialValue or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the end point should be retrieved. + + + + Creates a that invokes the canonical 'IsClosedSpatial' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether spatialValue is closed, or null if spatialValue is not a curve. + An expression that specifies the spatial curve value from which the IsClosedSpatial value should be retrieved. + + + + Creates a that invokes the canonical 'IsRing' function with the specified argument, which must have an Edm.Geometry result type. The result type is Edm.Boolean. + + A new DbFunctionExpression that returns either a Boolean value indicating whether geometryValue is a ring (both closed and simple), or null if geometryValue is not a curve. + An expression that specifies the geometry curve value from which the IsRing value should be retrieved. + + + + Creates a that invokes the canonical 'PointCount' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of points in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value from which the number of points should be retrieved. + + + + Creates a that invokes the canonical 'PointAt' function with the specified arguments. The first argument must have an Edm.Geography or Edm.Geometry result type. The second argument must have an integer numeric result type. The result type of the expression is the same as that of spatialValue. + + A new DbFunctionExpression that returns either the point at position indexValue in spatialValue or null if spatialValue is not a line string. + An expression that specifies the spatial line string value. + An expression that specifies the position of the point to be retrieved from within the line string. + + + + Creates a that invokes the canonical 'Area' function with the specified argument, which must have an Edm.Geography or Edm.Geometry result type. The result type of the expression is Edm.Double. + + A new DbFunctionExpression that returns either the area of spatialValue or null if spatialValue is not a surface. + An expression that specifies the spatial surface value for which the area should be calculated. + + + + Creates a that invokes the canonical 'Centroid' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the centroid point of geometryValue (which may not be on the surface itself) or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the centroid should be retrieved. + + + + Creates a that invokes the canonical 'PointOnSurface' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either a point guaranteed to be on the surface geometryValue or null if geometryValue is not a surface. + An expression that specifies the geometry surface value from which the point should be retrieved. + + + + Creates a that invokes the canonical 'ExteriorRing' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the exterior ring of the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingCount' function with the specified argument, which must have an Edm.Geometry result type. The result type of the expression is Edm.Int32. + + A new DbFunctionExpression that returns either the number of interior rings in the polygon geometryValue or null if geometryValue is not a polygon. + The geometry value. + + + + Creates a that invokes the canonical 'InteriorRingAt' function with the specified arguments. The first argument must have an Edm.Geometry result type. The second argument must have an integer numeric result types. The result type of the expression is Edm.Geometry. + + A new DbFunctionExpression that returns either the interior ring at position indexValue in geometryValue or null if geometryValue is not a polygon. + The geometry value. + An expression that specifies the position of the interior ring to be retrieved from within the polygon. + + + + Ensures that all metadata in a given expression tree is from the specified metadata workspace, + potentially rebinding and rebuilding the expressions to appropriate replacement metadata where necessary. + + + + Initializes a new instance of the class. + The target workspace. + + + Implements the visitor pattern for the entity set. + The implemented visitor pattern. + The entity set. + + + Implements the visitor pattern for the function. + The implemented visitor pattern. + The function metadata. + + + Implements the visitor pattern for the type. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for the type usage. + The implemented visitor pattern. + The type. + + + Implements the visitor pattern for retrieving an instance property. + The implemented visitor. + The expression. + + + + DataRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new object for a specific type with an enumerable collection of data fields. + + + The metadata for the type represented by this object, supplied by + + . + + + An enumerable collection of objects that represent column information. + + + + + Gets for this + + object. + + + A object. + + + + + Gets type info for this object as a object. + + + A value. + + + + + A prepared command definition, can be cached and reused to avoid + repreparing a command. + + + + + Initializes a new instance of the class using the supplied + + . + + + The supplied . + + method used to clone the + + + + Initializes a new instance of the class. + + + + + Creates and returns a object that can be executed. + + The command for database. + + + + Metadata Interface for all CLR types + + + + + Value to pass to GetInformation to get the StoreSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaMapping + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinition + + + + + Value to pass to GetInformation to get the StoreSchemaDefinitionVersion3 + + + + + Value to pass to GetInformation to get the StoreSchemaMappingVersion3 + + + + + Value to pass to GetInformation to get the ConceptualSchemaDefinitionVersion3 + + + + + Name of the MaxLength Facet + + + + + Name of the Unicode Facet + + + + + Name of the FixedLength Facet + + + + + Name of the Precision Facet + + + + + Name of the Scale Facet + + + + + Name of the Nullable Facet + + + + + Name of the DefaultValue Facet + + + + + Name of the Collation Facet + + + + + Name of the SRID Facet + + + + + Name of the IsStrict Facet + + + + Gets the namespace used by this provider manifest. + The namespace used by this provider manifest. + + + When overridden in a derived class, returns the set of primitive types supported by the data source. + The set of types supported by the data source. + + + When overridden in a derived class, returns a collection of EDM functions supported by the provider manifest. + A collection of EDM functions. + + + Returns the FacetDescription objects for a particular type. + The FacetDescription objects for the specified EDM type. + The EDM type to return the facet description for. + + + When overridden in a derived class, this method maps the specified storage type and a set of facets for that type to an EDM type. + + The instance that describes an EDM type and a set of facets for that type. + + The TypeUsage instance that describes a storage type and a set of facets for that type to be mapped to the EDM type. + + + When overridden in a derived class, this method maps the specified EDM type and a set of facets for that type to a storage type. + The TypeUsage instance that describes a storage type and a set of facets for that type. + The TypeUsage instance that describes the EDM type and a set of facets for that type to be mapped to a storage type. + + + When overridden in a derived class, this method returns provider-specific information. + The XmlReader object that represents the mapping to the underlying data store catalog. + The type of the information to return. + + + Gets the provider-specific information. + The provider-specific information. + The type of the information to return. + + + Indicates if the provider supports escaping strings to be used as patterns in a Like expression. + True if this provider supports escaping strings to be used as patterns in a Like expression; otherwise, false. + If the provider supports escaping, the character that would be used as the escape character. + + + + Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195. + The default is false. Providers should change this to true only after testing that schema queries (as + used in the Database First flow) work correctly with this flag. + + True only if the provider supports the parameter optimization. + + + Provider writers should override this method to return the argument with the wildcards and the escape character escaped. This method is only used if SupportsEscapingLikeArgument returns true. + The argument with the wildcards and the escape character escaped. + The argument to be escaped. + + + + Returns a boolean that specifies whether the provider can handle expression trees + containing instances of DbInExpression. + The default implementation returns false for backwards compatibility. Derived classes can override this method. + + + false + + + + + Returns a boolean that specifies whether the provider can process expression trees not having DbProjectExpression + nodes directly under both Left and Right sides of DbUnionAllExpression and DbIntersectExpression + + + false + + + + + The factory for building command definitions; use the type of this object + as the argument to the IServiceProvider.GetService method on the provider + factory; + + + + + Constructs an EF provider that will use the obtained from + the app domain Singleton for resolving EF dependencies such + as the instance to use. + + + + + Registers a handler to process non-error messages coming from the database provider. + + The connection to receive information for. + The handler to process messages. + + + + Create a Command Definition object given a command tree. + + command tree for the statement + an executable command definition object + + This method simply delegates to the provider's implementation of CreateDbCommandDefinition. + + + + Creates command definition from specified manifest and command tree. + The created command definition. + The manifest. + The command tree. + + + Creates a command definition object for the specified provider manifest and command tree. + An executable command definition object. + Provider manifest previously retrieved from the store provider. + Command tree for the statement. + + + + Create the default DbCommandDefinition object based on the prototype command + This method is intended for provider writers to build a default command definition + from a command. + Note: This will clone the prototype + + the prototype command + an executable command definition object + + + + See issue 2390 - cloning the DesignTimeVisible property on the + DbCommand can cause deadlocks. So here allow sub-classes to override. + + the object to clone + a clone of the + + + + Clones the connection. + + The original connection. + Cloned connection + + + + Clones the connection. + + The original connection. + The factory to use. + Cloned connection + + + Returns provider manifest token given a connection. + The provider manifest token. + Connection to provider. + + + + Returns provider manifest token for a given connection. + + Connection to find manifest token from. + The provider manifest token for the specified connection. + + + Returns the provider manifest by using the specified version information. + The provider manifest by using the specified version information. + The token information associated with the provider manifest. + + + When overridden in a derived class, returns an instance of a class that derives from the DbProviderManifest. + A DbProviderManifest object that represents the provider manifest. + The token information associated with the provider manifest. + + + + Gets the that will be used to execute methods that use the specified connection. + + The database connection + + A new instance of + + + + + Gets the that will be used to execute methods that use the specified connection. + This overload should be used by the derived classes for compatability with wrapping providers. + + The database connection + The provider invariant name + + A new instance of + + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The manifest token associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + Gets the spatial services for the . + The spatial services. + Information about the database that the spatial services will be used for. + + + + Gets the spatial data reader for the . + + The spatial data reader. + The reader where the spatial data came from. + The token information associated with the provider manifest. + + + + Gets the spatial services for the . + + The spatial services. + The token information associated with the provider manifest. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + + Sets the parameter value and appropriate facets for the given . + + The parameter. + The type of the parameter. + The value of the parameter. + + + Returns providers given a connection. + + The instanced based on the specified connection. + + Connection to provider. + + + Retrieves the DbProviderFactory based on the specified DbConnection. + The retrieved DbProviderFactory. + The connection to use. + + + + Return an XML reader which represents the CSDL description + + The name of the CSDL description. + An XmlReader that represents the CSDL description + + + Generates a data definition language (DDL script that creates schema objects (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter and targeted for the version of the database corresponding to the provider manifest token. + The provider manifest token identifying the target version. + The structure of the database. + + + + Generates a data definition language (DDL) script that creates schema objects + (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection + parameter and targeted for the version of the database corresponding to the provider manifest token. + + + Individual statements should be separated using database-specific DDL command separator. + It is expected that the generated script would be executed in the context of existing database with + sufficient permissions, and it should not include commands to create the database, but it may include + commands to create schemas and other auxiliary objects such as sequences, etc. + + The provider manifest token identifying the target version. + The structure of the database. + + A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter + and targeted for the version of the database corresponding to the provider manifest token. + + + + + Creates a database indicated by connection and creates schema objects + (tables, primary keys, foreign keys) based on the contents of storeItemCollection. + + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Creates a database indicated by connection and creates schema objects (tables, primary keys, foreign keys) based on the contents of a StoreItemCollection. + Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter. + Execution timeout for any commands needed to create the database. + The collection of all store items based on which the script should be created. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + + + Returns a value indicating whether a given database exists on the server. + True if the provider can deduce the database only based on the connection. + Connection to a database whose existence is checked by this method. + Execution timeout for any commands needed to determine the existence of the database. + The collection of all store items from the model. This parameter is no longer used for determining database existence. + Override this method to avoid creating the store item collection if it is not needed. The default implementation evaluates the Lazy and calls the other overload of this method. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + Deletes the specified database. + Connection to an existing database that needs to be deleted. + Execution timeout for any commands needed to delete the database. + The collection of all store items from the model. This parameter is no longer used for database deletion. + + + + Expands |DataDirectory| in the given path if it begins with |DataDirectory| and returns the expanded path, + or returns the given string if it does not start with |DataDirectory|. + + The path to expand. + The expanded path. + + + + Adds an that will be used to resolve additional default provider + services when a derived type is registered as an EF provider either using an entry in the application's + config file or through code-based registration in . + + The resolver to add. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + + Use this method to set, add, or change other provider-related services. Note that this method + will only be called for such services if they are not already explicitly configured in some + other way by the application. This allows providers to set default services while the + application is still able to override and explicitly configure each service if required. + See and for more details. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + An instance of the given type, or null if the service could not be resolved. + + + + Called to resolve additional default provider services when a derived type is registered as an + EF provider either using an entry in the application's config file or through code-based + registration in . The implementation of this method in this + class uses the resolvers added with the AddDependencyResolver method to resolve + dependencies. + + The type of the service to be resolved. + An optional key providing additional information for resolving the service. + All registered services that satisfy the given type and key, or an empty enumeration if there are none. + + + + A specialization of the ProviderManifest that accepts an XmlReader + + + + + Initializes a new instance of the class. + + + An object that provides access to the XML data in the provider manifest file. + + + + Gets the namespace name supported by this provider manifest. + The namespace name supported by this provider manifest. + + + Gets the best mapped equivalent Entity Data Model (EDM) type for a specified storage type name. + The best mapped equivalent EDM type for a specified storage type name. + + + Gets the best mapped equivalent storage primitive type for a specified storage type name. + The best mapped equivalent storage primitive type for a specified storage type name. + + + Returns the list of facet descriptions for the specified Entity Data Model (EDM) type. + + A collection of type that contains the list of facet descriptions for the specified EDM type. + + + An for which the facet descriptions are to be retrieved. + + + + Returns the list of primitive types supported by the storage provider. + + A collection of type that contains the list of primitive types supported by the storage provider. + + + + Returns the list of provider-supported functions. + + A collection of type that contains the list of provider-supported functions. + + + + + EntityRecordInfo class providing a simple way to access both the type information and the column information. + + + + + Initializes a new instance of the class of a specific entity type with an enumerable collection of data fields and with specific key and entity set information. + + + The of the entity represented by the + + described by this + + object. + + + An enumerable collection of objects that represent column information. + + The key for the entity. + The entity set to which the entity belongs. + + + + Gets the for the entity. + + The key for the entity. + + + + Public Entity SQL Parser class. + + + + Parse the specified query with the specified parameters. + + The containing + + and information describing inline function definitions if any. + + The EntitySQL query to be parsed. + The optional query parameters. + + + + Parse a specific query with a specific set variables and produce a + + . + + + The containing + + and information describing inline function definitions if any. + + The query to be parsed. + The optional query variables. + + + + Entity SQL query inline function definition, returned as a part of . + + + + Function name. + + + Function body and parameters. + + + Start position of the function definition in the eSQL query text. + + + End position of the function definition in the eSQL query text. + + + + Entity SQL Parser result information. + + + + A command tree produced during parsing. + + + + List of objects describing query inline function definitions. + + + + + FieldMetadata class providing the correlation between the column ordinals and MemberMetadata. + + + + + Initializes a new object with the specified ordinal value and field type. + + An integer specified the location of the metadata. + The field type. + + + + Gets the type of field for this object. + + + The type of field for this object. + + + + + Gets the ordinal for this object. + + An integer representing the ordinal value. + + + + Get the hierarchyid value of a column with the given ordinal + + The ordinal of the column to retrieve the value + The hierarchyid value + + + + Class representing a parameter collection used in EntityCommand + + + + + Gets an Integer that contains the number of elements in the + + . + + + The number of elements in the as an Integer. + + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true if the has a fixed size; otherwise false. + + + + + Gets a value that indicates whether the + + is read-only. + + + Returns true if the is read only; otherwise false. + + + + + Gets a value that indicates whether the + + is synchronized. + + + Returns true if the is synchronized; otherwise false. + + + + + Gets an object that can be used to synchronize access to the + + . + + + An object that can be used to synchronize access to the + + . + + + + + Adds the specified object to the . + + + The index of the new object. + + + An . + + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Removes all the objects from the + + . + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified one-dimensional + + starting at the specified destination index. + + + The one-dimensional that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the at which copying starts. + + + + + Returns an enumerator that iterates through the + + . + + + An for the + + . + + + + + + + + + + + Gets the location of the specified with the specified name. + + + The zero-based location of the specified with the specified case-sensitive name. Returns -1 when the object does not exist in the + + . + + + The case-sensitive name of the to find. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts an into the + + at the specified index. + + The zero-based index at which value should be inserted. + + An to be inserted in the + + . + + + + Removes the specified parameter from the collection. + + A object to remove from the collection. + + + + + Removes the from the + + at the specified index. + + + The zero-based index of the object to remove. + + + + + Removes the from the + + at the specified parameter name. + + + The name of the to remove. + + + + + + + + + + + Gets the at the specified index. + + + The at the specified index. + + The zero-based index of the parameter to retrieve. + The specified index does not exist. + + + + Gets the with the specified name. + + + The with the specified name. + + The name of the parameter to retrieve. + The specified name does not exist. + + + + Adds the specified object to the + + . + + + A new object. + + + The to add to the collection. + + + The specified in the value parameter is already added to this or another + + . + + + The parameter passed was not a . + + The value parameter is null. + + + + Adds a value to the end of the . + + + A object. + + The name of the parameter. + The value to be added. + + + + Adds a to the + + given the parameter name and the data type. + + + A new object. + + The name of the parameter. + + One of the values. + + + + + Adds a to the + + with the parameter name, the data type, and the column length. + + + A new object. + + The name of the parameter. + + One of the values. + + The column length. + + + + Adds an array of values to the end of the + + . + + + The values to add. + + + + + Determines whether the specified is in this + + . + + + true if the contains the value; otherwise false. + + + The value. + + + + + Copies all the elements of the current to the specified + + starting at the specified destination index. + + + The that is the destination of the elements copied from the current + + . + + + A 32-bit integer that represents the index in the + + at which copying starts. + + + + + Gets the location of the specified in the collection. + + + The zero-based location of the specified that is a + + in the collection. Returns -1 when the object does not exist in the + + . + + + The to find. + + + + + Inserts a object into the + + at the specified index. + + The zero-based index at which value should be inserted. + + A object to be inserted in the + + . + + + + + Removes the specified from the collection. + + + A object to remove from the collection. + + + The parameter is not a . + + The parameter does not exist in the collection. + + + + Class representing a command for the conceptual layer + + + + + Initializes a new instance of the class using the specified values. + + + + + Initializes a new instance of the class with the specified statement. + + The text of the command. + + + + Constructs the EntityCommand object with the given eSQL statement and the connection object to use + + The eSQL command text to execute + The connection object + Resolver used to resolve DbProviderServices + + + + Initializes a new instance of the class with the specified statement and connection. + + The text of the command. + A connection to the data source. + + + + Initializes a new instance of the class with the specified statement, connection and transaction. + + The text of the command. + A connection to the data source. + The transaction in which the command executes. + + + + Gets or sets the used by the + + . + + The connection used by the entity command. + + + + The connection object used for executing the command + + + + Gets or sets an Entity SQL statement that specifies a command or stored procedure to execute. + The Entity SQL statement that specifies a command or stored procedure to execute. + + + Gets or sets the command tree to execute; only one of the command tree or the command text can be set, not both. + The command tree to execute. + + + Gets or sets the amount of time to wait before timing out. + The time in seconds to wait for the command to execute. + + + + Gets or sets a value that indicates how the + + property is to be interpreted. + + + One of the enumeration values. + + + + Gets the parameters of the Entity SQL statement or stored procedure. + The parameters of the Entity SQL statement or stored procedure. + + + + The collection of parameters for this command + + + + + Gets or sets the transaction within which the executes. + + + The transaction within which the executes. + + + + + The transaction that this command executes in + + + + Gets or sets how command results are applied to rows being updated. + + One of the values. + + + + Gets or sets a value that indicates whether the command object should be visible in a Windows Form Designer control. + true if the command object should be visible in a Windows Form Designer control; otherwise, false. + + + Gets or sets a value that indicates whether the query plan caching is enabled. + true if the query plan caching is enabled; otherwise, false. + + + + Cancels the execution of an . + + + + + Creates a new instance of an object. + + + A new instance of an object. + + + + + Create and return a new parameter object representing a parameter in the eSQL statement + + The parameter object. + + + Executes the command and returns a data reader. + + The that contains the results. + + + + + Compiles the into a command tree and passes it to the underlying store provider for execution, then builds an + + out of the produced result set using the specified + + . + + + The that contains the results. + + + One of the values. + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Asynchronously executes the command and returns a data reader for reading the results. May only + be called on CommandType.CommandText (otherwise, use the standard Execute* methods) + + The behavior to use when executing the command + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an EntityDataReader object. + + + For stored procedure commands, if called + for anything but an entity collection result + + + + + Executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + A DbDataReader object + + + + Asynchronously executes the command and returns a data reader for reading the results + + The behavior to use when executing the command + The token to monitor for cancellation requests + + A task that represents the asynchronous operation. + The task result contains a DbDataReader object. + + + + Executes the current command. + The number of rows affected. + + + + Asynchronously executes the command and discard any results returned from the command + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + Executes the command, and returns the first column of the first row in the result set. Additional columns or rows are ignored. + The first column of the first row in the result set, or a null reference (Nothing in Visual Basic) if the result set is empty. + + + Compiles the entity-level command and creates a prepared version of the command. + + + Compiles the entity-level command and returns the store command text. + The store command text. + + + + Class representing a connection for the conceptual layer. An entity connection may only + be initialized once (by opening the connection). It is subsequently not possible to change + the connection string, attach a new store connection, or change the store connection string. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, based on the connection string. + + The provider-specific connection string. + An invalid connection string keyword has been provided, or a required connection string keyword has not been provided. + + + + Initializes a new instance of the class with a specified + and + . + + + A to be associated with this + . + + + The underlying data source connection for this object. + + The workspace or connection parameter is null. + The conceptual model is missing from the workspace.-or-The mapping file is missing from the workspace.-or-The storage model is missing from the workspace.-or-The connection is not in a closed state. + The connection is not from an ADO.NET Entity Framework-compatible provider. + + + + Constructs the EntityConnection from Metadata loaded in memory + + Workspace containing metadata information. + Store connection. + If set to true the store connection is disposed when the entity connection is disposed, otherwise the caller must dispose the store connection. + + + + Gets or sets the connection string. + + The connection string required to establish the initial connection to a data source. The default value is an empty string. On a closed connection, the currently set value is returned. If no value has been set, an empty string is returned. + + An attempt was made to set the property after the + + ’s was initialized. The + + is initialized either when the instance is constructed through the overload that takes a + + as a parameter, or when the + + instance has been opened. + + An invalid connection string keyword has been provided or a required connection string keyword has not been provided. + + + Gets the number of seconds to wait when attempting to establish a connection before ending the attempt and generating an error. + The time (in seconds) to wait for a connection to open. The default value is the underlying data provider's default time-out. + The value set is less than 0. + + + Gets the name of the current database, or the database that will be used after a connection is opened. + The value of the Database property of the underlying data provider. + The underlying data provider is not known. + + + + Gets the state of the EntityConnection, which is set up to track the state of the underlying + database connection that is wrapped by this EntityConnection. + + + + Gets the name or network address of the data source to connect to. + The name of the data source. The default value is an empty string. + The underlying data provider is not known. + + + Gets a string that contains the version of the data source to which the client is connected. + The version of the data source that is contained in the provider connection string. + The connection is closed. + + + + Gets the provider factory associated with EntityConnection + + + + + Provides access to the underlying data source connection that is used by the + + object. + + + The for the data source connection. + + + + + Returns the associated with this + + . + + + The associated with this + + . + + The inline connection string contains an invalid Metadata keyword value. + + + + Gets the current transaction that this connection is enlisted in. May be null. + + + + Establishes a connection to the data source by calling the underlying data provider's Open method. + An error occurs when you open the connection, or the name of the underlying data provider is not known. + The inline connection string contains an invalid Metadata keyword value. + + + + Asynchronously establishes a connection to the data store by calling the Open method on the underlying data provider + + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a new instance of an , with the + + set to this + + . + + + An object. + + The name of the underlying data provider is not known. + + + + Create a new command object that uses this connection object + + The command object. + + + Closes the connection to the database. + An error occurred when closing the connection. + + + Not supported. + Not supported. + When the method is called. + + + Begins a transaction by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + Begins a transaction with the specified isolation level by using the underlying provider. + + A new . The returned + + instance can later be associated with the + + to execute the command under that transaction. + + The isolation level of the transaction. + + The underlying provider is not known.-or-The call to + + was made on an + + that already has a current transaction.-or-The state of the + + is not + + . + + + + + Begins a database transaction + + The isolation level of the transaction + An object representing the new transaction + + + + Enlists this in the specified transaction. + + The transaction object to enlist into. + + The state of the is not + + . + + + + + Cleans up this connection object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Class representing a connection string builder for the entity client provider + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class using the supplied connection string. + + A provider-specific connection string to the underlying data source. + + + Gets or sets the name of a section as defined in a configuration file. + The name of a section in a configuration file. + + + Gets or sets the name of the underlying .NET Framework data provider in the connection string. + The invariant name of the underlying .NET Framework data provider. + + + Gets or sets the metadata locations in the connection string. + Gets or sets the metadata locations in the connection string. + + + Gets or sets the inner, provider-specific connection string. + The inner, provider-specific connection string. + + + + Gets a value that indicates whether the + + has a fixed size. + + + Returns true in every case, because the + + supplies a fixed-size collection of keyword/value pairs. + + + + + Gets an that contains the keys in the + + . + + + An that contains the keys in the + + . + + + + Gets or sets the value associated with the specified key. In C#, this property is the indexer. + The value associated with the specified key. + The key of the item to get or set. + keyword is a null reference (Nothing in Visual Basic). + Tried to add a key that does not exist in the available keys. + Invalid value in the connection string (specifically, a Boolean or numeric value was expected but not supplied). + + + + Clears the contents of the instance. + + + + + Determines whether the contains a specific key. + + + Returns true if the contains an element that has the specified key; otherwise, false. + + + The key to locate in the . + + + + + Retrieves a value corresponding to the supplied key from this + + . + + Returns true if keyword was found in the connection string; otherwise, false. + The key of the item to retrieve. + The value corresponding to keyword. + keyword contains a null value (Nothing in Visual Basic). + + + + Removes the entry with the specified key from the + + instance. + + Returns true if the key existed in the connection string and was removed; false if the key did not exist. + + The key of the keyword/value pair to be removed from the connection string in this + + . + + keyword is null (Nothing in Visual Basic) + + + + A data reader class for the entity client provider + + + + Gets a value indicating the depth of nesting for the current row. + The depth of nesting for the current row. + + + Gets the number of columns in the current row. + The number of columns in the current row. + + + + Gets a value that indicates whether this contains one or more rows. + + + true if the contains one or more rows; otherwise, false. + + + + + Gets a value indicating whether the is closed. + + + true if the is closed; otherwise, false. + + + + Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. + The number of rows changed, inserted, or deleted. Returns -1 for SELECT statements; 0 if no rows were affected or the statement failed. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The name of the column. + + + + Gets the number of fields in the that are not hidden. + + The number of fields that are not hidden. + + + + Gets for this + + . + + The information of a data record. + + + + Closes the object. + + + + + Releases the resources consumed by this and calls + + . + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the value of the specified column as a Boolean. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a byte. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of bytes from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of bytes read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the value of the specified column as a single character. + The value of the specified column. + The zero-based column ordinal. + + + Reads a stream of characters from the specified column, starting at location indicated by dataIndex , into the buffer, starting at the location indicated by bufferIndex . + The actual number of characters read. + The zero-based column ordinal. + The index within the row from which to begin the read operation. + The buffer into which to copy the data. + The index with the buffer to which the data will be copied. + The maximum number of characters to read. + + + Gets the name of the data type of the specified column. + The name of the data type. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + + Returns a object for the requested column ordinal that can be overridden with a provider-specific implementation. + + A data reader. + The zero-based column ordinal. + + + + Gets the value of the specified column as a object. + + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a double-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the data type of the specified column. + The data type of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a single-precision floating point number. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a globally-unique identifier (GUID). + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 16-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 32-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the value of the specified column as a 64-bit signed integer. + The value of the specified column. + The zero-based column ordinal. + + + Gets the name of the column, given the zero-based column ordinal. + The name of the specified column. + The zero-based column ordinal. + + + Gets the column ordinal given the name of the column. + The zero-based column ordinal. + The name of the column. + The name specified is not a valid column name. + + + Returns the provider-specific field type of the specified column. + + The object that describes the data type of the specified column. + + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Gets all provider-specific attribute columns in the collection for the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + + Returns a that describes the column metadata of the + + . + + + A that describes the column metadata. + + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + + Gets the value of the specified column as an instance of . + + The value of the specified column. + The zero-based column ordinal. + + + Populates an array of objects with the column values of the current row. + + The number of instances of in the array. + + + An array of into which to copy the attribute columns. + + + + Gets a value that indicates whether the column contains nonexistent or missing values. + + true if the specified column is equivalent to ; otherwise, false. + + The zero-based column ordinal. + + + Advances the reader to the next result when reading the results of a batch of statements. + true if there are more result sets; otherwise, false. + + + + Asynchronously moves the reader to the next result set when reading a batch of statements + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more result sets; false otherwise. + + + + Advances the reader to the next record in a result set. + true if there are more rows; otherwise, false. + + + + Asynchronously moves the reader to the next row of the current result set + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if there are more rows; false otherwise. + + + + + Returns an that can be used to iterate through the rows in the data reader. + + + An that can be used to iterate through the rows in the data reader. + + + + + Returns a nested . + + The nested data record. + The number of the DbDataRecord to return. + + + + Returns nested readers as objects. + + + The nested readers as objects. + + The ordinal of the column. + + + + Class representing a parameter used in EntityCommand + + + + + Initializes a new instance of the class using the default values. + + + + + Initializes a new instance of the class using the specified parameter name and data type. + + The name of the parameter. + + One of the values. + + + + + Initializes a new instance of the class using the specified parameter name, data type and size. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + The name of the source column. + + + + Initializes a new instance of the class using the specified properties. + + The name of the parameter. + + One of the values. + + The size of the parameter. + + One of the values. + + true to indicate that the parameter accepts null values; otherwise, false. + The number of digits used to represent the value. + The number of decimal places to which value is resolved. + The name of the source column. + + One of the values. + + The value of the parameter. + + + Gets or sets the name of the entity parameter. + The name of the entity parameter. + + + + Gets or sets the of the parameter. + + + One of the values. + + + + Gets or sets the type of the parameter, expressed as an EdmType. + The type of the parameter, expressed as an EdmType. + + + + Gets or sets the number of digits used to represent the + + property. + + The number of digits used to represent the value. + + + + Gets or sets the number of decimal places to which + + is resolved. + + The number of decimal places to which value is resolved. + + + Gets or sets the value of the parameter. + The value of the parameter. + + + Gets or sets the direction of the parameter. + + One of the values. + + + + Gets or sets a value that indicates whether the parameter accepts null values. + true if null values are accepted; otherwise, false. + + + Gets or sets the maximum size of the data within the column. + The maximum size of the data within the column. + + + + Gets or sets the name of the source column mapped to the and used for loading or returning the + + . + + The name of the source column mapped to the dataset and used for loading or returning the value. + + + Gets or sets a value that indicates whether source column is nullable. + true if source column is nullable; otherwise, false. + + + + Gets or sets the to use when loading the value. + + + One of the values. + + + + + Resets the type associated with the . + + + + Returns a string representation of the parameter. + A string representation of the parameter. + + + + Class representing a provider factory for the entity client provider + + + + + A singleton object for the entity client provider factory object. + This remains a public field (not property) because DbProviderFactory expects a field. + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Throws a . This method is currently not supported. + + This method is currently not supported. + + + + Returns a new instance of the provider's class that implements the + + class. + + + A new instance of . + + + + + Returns the requested class. + + + A new instance of . The supported types are + + , + + , and + + . Returns null (or Nothing in Visual Basic) for every other type. + + + The to return. + + + + + Class representing a transaction for the conceptual layer + + + + + Gets for this + + . + + + An to the underlying data source. + + + + + The connection object owning this transaction object + + + + + Gets the isolation level of this . + + + An enumeration value that represents the isolation level of the underlying transaction. + + + + + Gets the DbTransaction for the underlying provider transaction. + + + + Commits the underlying transaction. + + + Rolls back the underlying transaction. + + + + Cleans up this transaction object + + true to release both managed and unmanaged resources; false to release only unmanaged resources + + + + Represents a failure while trying to prepare or execute a CommandCompilation + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents a failure while trying to prepare or execute a CommandExecution + This exception is intended to provide a common exception that people can catch to + hold provider exceptions (SqlException, OracleException) when using the EntityCommand + to execute statements. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of . + + The message that describes the error. + + + + Initializes a new instance of . + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Provider exception - Used by the entity client. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An identifier for an entity. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with an entity set name and a generic + + collection. + + + A that is the entity set name qualified by the entity container name. + + + A generic collection.Each key/value pair has a property name as the key and the value of that property as the value. There should be one pair for each property that is part of the + + . The order of the key/value pairs is not important, but each key property should be included. The property names are simple names that are not qualified with an entity type name or the schema name. + + + + + Initializes a new instance of the class with an entity set name and an + + collection of + + objects. + + + A that is the entity set name qualified by the entity container name. + + + An collection of + + objects with which to initialize the key. + + + + + Initializes a new instance of the class with an entity set name and specific entity key pair. + + + A that is the entity set name qualified by the entity container name. + + + A that is the name of the key. + + + An that is the key value. + + + + + Gets a singleton EntityKey by which a read-only entity is identified. + + + + + Gets a singleton EntityKey identifying an entity resulted from a failed TREAT. + + + + Gets or sets the name of the entity set. + + A value that is the name of the entity set for the entity to which the + + belongs. + + + + Gets or sets the name of the entity container. + + A value that is the name of the entity container for the entity to which the + + belongs. + + + + + Gets or sets the key values associated with this . + + + A of key values for this + + . + + + + + Gets a value that indicates whether the is temporary. + + + true if the is temporary; otherwise, false. + + + + Gets the entity set for this entity key from the given metadata workspace. + + The for the entity key. + + The metadata workspace that contains the entity. + The entity set could not be located in the specified metadata workspace. + + + Returns a value that indicates whether this instance is equal to a specified object. + true if this instance and obj have equal values; otherwise, false. + + An to compare with this instance. + + + + + Returns a value that indicates whether this instance is equal to a specified + + . + + true if this instance and other have equal values; otherwise, false. + + An object to compare with this instance. + + + + + Serves as a hash function for the current object. + + is suitable for hashing algorithms and data structures such as a hash table. + + + A hash code for the current . + + + + + Compares two objects. + + true if the key1 and key2 values are equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Compares two objects. + + true if the key1 and key2 values are not equal; otherwise, false. + + A to compare. + + + A to compare. + + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Helper method that is used to deserialize an . + + Describes the source and destination of a given serialized stream and provides an additional caller-defined context. + + + + Information about a key that is part of an EntityKey. + A key member contains the key name and value. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified entity key pair. + + The name of the key. + The key value. + + + Gets or sets the name of the entity key. + The key name. + + + Gets or sets the value of the entity key. + The key value. + + + Returns a string representation of the entity key. + A string representation of the entity key. + + + + Represents an eSQL Query compilation exception; + The class of exceptional conditions that may cause this exception to be raised are mainly: + 1) Syntax Errors: raised during query text parsing and when a given query does not conform to eSQL formal grammar; + 2) Semantic Errors: raised when semantic rules of eSQL language are not met such as metadata or schema information + not accurate or not present, type validation errors, scoping rule violations, user of undefined variables, etc. + For more information, see eSQL Language Spec. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that caused the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + Gets a description of the error. + A string that describes the error. + + + Gets the approximate context where the error occurred, if available. + A string that describes the approximate context where the error occurred, if available. + + + Gets the approximate line number where the error occurred. + An integer that describes the line number where the error occurred. + + + Gets the approximate column number where the error occurred. + An integer that describes the column number where the error occurred. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + DataRecord interface supporting structured types and rich metadata information. + + + + + Gets for this + + . + + + A object. + + + + + Gets a object with the specified index. + + + A object. + + The index of the row. + + + + Returns nested readers as objects. + + + Nested readers as objects. + + The ordinal of the column. + + + + Thrown to indicate that a command tree is invalid. + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Mapping exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents the Mapping metadata for an AssociationSet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the AssociationSetMapping elements in the + above example. And it is possible to access the AssociationTypeMap underneath it. + There will be only one TypeMap under AssociationSetMap. + + + + + Initializes a new AssociationSetMapping instance. + + The association set to be mapped. + The store entity set to be mapped. + The parent container mapping. + + + + Gets the association set that is mapped. + + + + + Gets the contained association type mapping. + + + + + Gets or sets the corresponding function mapping. Can be null. + + + + + Gets the store entity set that is mapped. + + + + + Gets or sets the source end property mapping. + + + + + Gets or sets the target end property mapping. + + + + + Gets the property mapping conditions. + + + + + Adds a property mapping condition. + + The condition to add. + + + + Removes a property mapping condition. + + The property mapping condition to remove. + + + + Describes modification function mappings for an association set. + + + + + Initializes a new AssociationSetModificationFunctionMapping instance. + + An association set. + A delete function mapping. + An insert function mapping. + + + + Gets the association set. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + + + + Represents the Mapping metadata for an association type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all association Type map elements in the + above example. Users can access the table mapping fragments under the + association type mapping through this class. + + + + + Creates an AssociationTypeMapping instance. + + The AssociationSetMapping that + the contains this AssociationTypeMapping. + + + + Gets the AssociationSetMapping that contains this AssociationTypeMapping. + + + + + Gets the association type being mapped. + + + + + Gets the single mapping fragment. + + + + + Mapping metadata for Complex properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the complex property map elements in the + above example. ComplexPropertyMaps contain ComplexTypeMaps which define mapping based + on the type of the ComplexProperty in case of inheritance. + + + + + Construct a new Complex Property mapping object + + The MemberMetadata object that represents this Complex member + + + + Gets a read only collections of type mappings corresponding to the + nested complex types. + + + + + Adds a type mapping corresponding to a nested complex type. + + The complex type mapping to be added. + + + + Removes a type mapping corresponding to a nested complex type. + + The complex type mapping to be removed. + + + + Mapping metadata for Complex Types. + + + + + Creates a ComplexTypeMapping instance. + + The ComplexType being mapped. + + + + Gets the ComplexType being mapped. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Mapping metadata for Conditional property mapping on a type. + Condition Property Mapping specifies a Condition either on the C side property or S side property. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ConditionPropertyMap ( constant value-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the condition property map elements in the + above example. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Mapping metadata for End property of an association. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the end property map elements in the + above example. EndPropertyMaps provide mapping for each end of the association. + + + + + Creates an association end property mapping. + + An AssociationEndMember that specifies + the association end to be mapped. + + + + Gets an AssociationEndMember that specifies the mapped association end. + + + + + Gets a ReadOnlyCollection of ScalarPropertyMapping that specifies the children + of this association end property mapping. + + + + + Adds a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be added. + + + + Removes a child property-column mapping. + + A ScalarPropertyMapping that specifies + the property-column mapping to be removed. + + + + Represents the Mapping metadata for the EntityContainer map in CS space. + Only one EntityContainerMapping element is allowed in the MSL file for CS mapping. + + + For Example if conceptually you could represent the CS MSL file as following + ---Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --AssociationSetMapping + The type represents the metadata for EntityContainerMapping element in the above example. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + We currently assume that an Entity Container on the C side + is mapped to a single Entity Container in the S - space. + + + + + Initializes a new EntityContainerMapping instance. + + The conceptual entity container to be mapped. + The store entity container to be mapped. + The parent mapping item collection. + Flag indicating whether to generate update views. + + + + Gets the parent mapping item collection. + + + + + Gets the type kind for this item + + + + + Gets the conceptual entity container. + + + + + Gets the store entity container. + + + + + Gets the entity set mappings. + + + + + Gets the association set mappings. + + + + + Gets the function import mappings. + + + + + Gets a flag that indicates whether to generate the update views or not. + + + + + Adds an entity set mapping. + + The entity set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds an association set mapping. + + The association set mapping to add. + + + + Removes an association set mapping. + + The association set mapping to remove. + + + + Adds a function import mapping. + + The function import mapping to add. + + + + Removes a function import mapping. + + The function import mapping to remove. + + + + Represents the Mapping metadata for an Extent in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for all the extent map elements in the + above example namely EntitySetMapping, AssociationSetMapping and CompositionSetMapping. + The EntitySetBaseMapping elements that are children of the EntityContainerMapping element + can be accessed through the properties on this type. + + + + + Gets the parent container mapping. + + + + + Gets or sets the query view associated with this mapping. + + + + + Represents the Mapping metadata for an EntitySet in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityTypeMapping + --MappingFragment + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + This class represents the metadata for the EntitySetMapping elements in the + above example. And it is possible to access the EntityTypeMaps underneath it. + + + + + Initializes a new EntitySetMapping instance. + + The entity set to be mapped. + The parent container mapping. + + + + Gets the entity set that is mapped. + + + + + Gets the contained entity type mappings. + + + + + Gets the corresponding function mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Adds a function mapping. + + The function mapping to add. + + + + Removes a function mapping. + + The function mapping to remove. + + + + Mapping metadata for Entity type. + If an EntitySet represents entities of more than one type, than we will have + more than one EntityTypeMapping for an EntitySet( For ex : if + PersonSet Entity extent represents entities of types Person and Customer, + than we will have two EntityType Mappings under mapping for PersonSet). + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all entity Type map elements in the + above example. Users can access the table mapping fragments under the + entity type mapping through this class. + + + + + Creates an EntityTypeMapping instance. + + The EntitySetMapping that contains this EntityTypeMapping. + + + + Gets the EntitySetMapping that contains this EntityTypeMapping. + + + + + Gets the single EntityType being mapped. Throws exception in case of hierarchy type mapping. + + + + + Gets a flag that indicates whether this is a type hierarchy mapping. + + + + + Gets a read-only collection of mapping fragments. + + + + + Gets the mapped entity types. + + + + + Gets the mapped base types for a hierarchy mapping. + + + + + Adds an entity type to the mapping. + + The EntityType to be added. + + + + Removes an entity type from the mapping. + + The EntityType to be removed. + + + + Adds an entity type hierarchy to the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be added. + + + + Removes an entity type hierarchy from the mapping. + The hierarchy is represented by the specified root entity type. + + The root EntityType of the hierarchy to be removed. + + + + Adds a mapping fragment. + + The mapping fragment to be added. + + + + Removes a mapping fragment. + + The mapping fragment to be removed. + + + + Describes modification function mappings for an entity type within an entity set. + + + + + Initializes a new EntityTypeModificationFunctionMapping instance. + + An entity type. + A delete function mapping. + An insert function mapping. + An updated function mapping. + + + + Gets the entity type. + + + + + Gets the delete function mapping. + + + + + Gets the insert function mapping. + + + + + Gets the update function mapping. + + + + + + + + Base class for the type created at design time to store the generated views. + + + + Returns the key/value pair at the specified index, which contains the view and its key. + The key/value pair at index , which contains the view and its key. + The index of the view. + + + + Gets or sets the name of . + + The container name. + + + + Gets or sets in storage schema. + + Container name. + + + Hash value. + Hash value. + + + Hash value of views. + Hash value. + + + Gets or sets view count. + View count. + + + + Attribute to mark the assemblies that contain the generated views type. + + + + + Initializes a new instance of the class. + + The view type. + + + Gets the T:System.Type of the view. + The T:System.Type of the view. + + + + Represents a complex type mapping for a function import result. + + + + + Initializes a new FunctionImportComplexTypeMapping instance. + + The return type. + The property mappings for the result type of a function import. + + + + Ges the return type. + + + + + Represents a function import entity type mapping. + + + + + Initializes a new FunctionImportEntityTypeMapping instance. + + The entity types at the base of + the type hierarchies to be mapped. + The entity types to be mapped. + The property mappings for the result types of a function import. + The mapping conditions. + + + + Gets the entity types being mapped. + + + + + Gets the entity types at the base of the hierarchies being mapped. + + + + + Gets the mapping conditions. + + + + + Represents a mapping condition for a function import result. + + + + + Gets the name of the column used to evaluate the condition. + + + + + + + + Represents a mapping condition for the result of a function import + evaluated by checking null or not null. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionIsNull instance. + + The name of the column used to evaluate the condition. + Flag that indicates whether a null or not null check is performed. + + + + Gets a flag that indicates whether a null or not null check is performed. + + + + + Represents a mapping condition for the result of a function import, + evaluated by comparison with a specified value. + + + + + Initializes a new FunctionImportEntityTypeMappingConditionValue instance. + + The name of the column used to evaluate the condition. + The value to compare with. + + + + Gets the value used for comparison. + + + + + Represents a mapping from a model function import to a store composable or non-composable function. + + + + + Gets model function (or source of the mapping) + + + + + Gets store function (or target of the mapping) + + + + + Represents a mapping from a model function import to a store composable function. + + + + + Initializes a new FunctionImportMappingComposable instance. + + The model function import. + The store composable function. + The result mapping for the function import. + The parent container mapping. + + + + Gets the result mapping for the function import. + + + + + Represents a mapping from a model function import to a store non-composable function. + + + + + Initializes a new FunctionImportMappingNonComposable instance. + + The model function import. + The store non-composable function. + The function import result mappings. + The parent container mapping. + + + + Gets the function import result mappings. + + + + + Represents a result mapping for a function import. + + + + + Gets the type mappings. + + + + + Adds a type mapping. + + The type mapping to add. + + + + Removes a type mapping. + + The type mapping to remove. + + + + Base class for mapping a property of a function import return type. + + + + + Maps a function import return type property to a table column. + + + + + Initializes a new FunctionImportReturnTypeScalarPropertyMapping instance. + + The mapped property name. + The mapped column name. + + + + Gets the mapped property name. + + + + + Gets the mapped column name. + + + + + Specifies a function import structural type mapping. + + + + + Gets the property mappings for the result type of a function import. + + + + + Specifies a mapping condition evaluated by checking whether the value + of the a property/column is null or not null. + + + + + Creates an IsNullConditionMapping instance. + + An EdmProperty that specifies a property or column. + A boolean that indicates whether to perform a null or a not-null check. + + + + Gets a bool that specifies whether the condition is evaluated by performing a null check + or a not-null check. + + + + + Represents the base item class for all the mapping metadata + + + + + Represents the metadata for mapping fragment. + A set of mapping fragments makes up the Set mappings( EntitySet, AssociationSet or CompositionSet ) + Each MappingFragment provides mapping for those properties of a type that map to a single table. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ComplexTypeMapping + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --DiscriminatorPropertyMap ( constant value-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the mapping fragment elements in the + above example. Users can access all the top level constructs of + MappingFragment element like EntityKey map, Property Maps, Discriminator + property through this mapping fragment class. + + + + + Creates a MappingFragment instance. + + The EntitySet corresponding to the table of view being mapped. + The TypeMapping that contains this MappingFragment. + Flag that indicates whether to include 'DISTINCT' when generating queries. + + + + Gets the EntitySet corresponding to the table or view being mapped. + + + + + Gets the TypeMapping that contains this MappingFragment. + + + + + Gets a flag that indicates whether to include 'DISTINCT' when generating queries. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Base class for items in the mapping space (DataSpace.CSSpace) + + + + + Class for representing a collection of mapping items in Edm space. + + + + + Describes modification function binding for change processing of entities or associations. + + + + + Initializes a new ModificationFunctionMapping instance. + + The entity or association set. + The entity or association type. + The metadata of function to which we should bind. + Bindings for function parameters. + The output parameter producing number of rows affected. + Bindings for the results of function evaluation + + + + Gets output parameter producing number of rows affected. May be null. + + + + + Gets Metadata of function to which we should bind. + + + + + Gets bindings for function parameters. + + + + + Gets bindings for the results of function evaluation. + + + + + + + + Describes the location of a member within an entity or association type structure. + + + + + Initializes a new ModificationFunctionMemberPath instance. + + Gets the members in the path from the leaf (the member being bound) + to the root of the structure. + Gets the association set to which we are navigating + via this member. If the value is null, this is not a navigation member path. + + + + Gets the members in the path from the leaf (the member being bound) + to the Root of the structure. + + + + + Gets the association set to which we are navigating via this member. If the value + is null, this is not a navigation member path. + + + + + + + + Binds a modification function parameter to a member of the entity or association being modified. + + + + + Initializes a new ModificationFunctionParameterBinding instance. + + The parameter taking the value. + The path to the entity or association member defining the value. + A flag indicating whether the current or original member value is being bound. + + + + Gets the parameter taking the value. + + + + + Gets the path to the entity or association member defining the value. + + + + + Gets a flag indicating whether the current or original + member value is being bound. + + + + + + + + Defines a binding from a named result set column to a member taking the value. + + + + + Initializes a new ModificationFunctionResultBinding instance. + + The name of the column to bind from the function result set. + The property to be set on the entity. + + + + Gets the name of the column to bind from the function result set. + + + + + Gets the property to be set on the entity. + + + + + + + + Mapping metadata for all types of property mappings. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all property map elements in the + above example. This includes the scalar property maps, complex property maps + and end property maps. + + + + + Gets an EdmProperty that specifies the mapped property. + + + + + Mapping metadata for scalar properties. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ComplexPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + --EndPropertyMap + --ScalarPropertyMap ( CMemberMetadata-->SMemberMetadata ) + This class represents the metadata for all the scalar property map elements in the + above example. + + + + + Creates a mapping between a simple property and a column. + + The property to be mapped. + The column to be mapped. + + + + Gets an EdmProperty that specifies the mapped column. + + + + + Represents a collection of items in Storage Mapping (CS Mapping) space. + + + + Initializes a new instance of the class using the specified , and a collection of string indicating the metadata file paths. + The that this mapping is to use. + The that this mapping is to use. + The file paths that this mapping is to use. + + + Initializes a new instance of the class using the specified , and XML readers. + The that this mapping is to use. + The that this mapping is to use. + The XML readers that this mapping is to use. + + + + Gets or sets a for creating instances + that are used to retrieve pre-generated mapping views. + + + + Gets the version of this represents. + The version of this represents. + + + + Computes a hash value for the container mapping specified by the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A string that specifies the computed hash value. + + + + Computes a hash value for the single container mapping in the collection. + + A string that specifies the computed hash value. + + + + Creates a dictionary of (extent, generated view) for a container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Creates a dictionary of (extent, generated view) for the single container mapping + in the collection. + + A list that accumulates potential errors. + + A dictionary of (, ) that specifies the generated views. + + + + + Factory method that creates a . + + + The edm metadata collection to map. Must not be null. + + + The store metadata collection to map. Must not be null. + + + MSL artifacts to load. Must not be null. + + + Paths to MSL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Specifies a structural type mapping. + + + + + Gets a read-only collection of property mappings. + + + + + Gets a read-only collection of property mapping conditions. + + + + + Adds a property mapping. + + The property mapping to be added. + + + + Removes a property mapping. + + The property mapping to be removed. + + + + Adds a property mapping condition. + + The property mapping condition to be added. + + + + Removes a property mapping condition. + + The property mapping condition to be removed. + + + + Represents the Mapping metadata for a type map in CS space. + + + For Example if conceptually you could represent the CS MSL file as following + --Mapping + --EntityContainerMapping ( CNorthwind-->SNorthwind ) + --EntitySetMapping + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ScalarPropertyMap + --EntityTypeMapping + --MappingFragment + --EntityKey + --ScalarPropertyMap + --ComplexPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --AssociationSetMapping + --AssociationTypeMapping + --MappingFragment + --EndPropertyMap + --ScalarPropertyMap + --ScalarPropertyMap + --EndPropertyMap + --ScalarPropertyMap + This class represents the metadata for all the Type map elements in the + above example namely EntityTypeMapping, AssociationTypeMapping and CompositionTypeMapping. + The TypeMapping elements contain TableMappingFragments which in turn contain the property maps. + + + + + Specifies a mapping condition evaluated by comparing the value of + a property or column with a given value. + + + + + Creates a ValueConditionMapping instance. + + An EdmProperty that specifies a property or column. + An object that specifies the value to compare with. + + + + Gets an object that specifies the value to check against. + + + + + metadata exception class + + + + + Initializes a new instance of the class with a default message. + + + + + Initializes a new instance of the class with the specified message. + + The exception message. + + + + Initializes a new instance of the class with the specified message and inner exception. + + The exception message. + + The exception that is the cause of this . + + + + + Represents a end of a Association Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Creates a read-only AssociationEndMember instance. + + The name of the association end member. + The reference type for the end. + The multiplicity of the end. + Flag that indicates the delete behavior of the end. + Metadata properties to be associated with the instance. + The newly created AssociationEndMember instance. + The specified name is null or empty. + The specified reference type is null. + + + + Class for representing an Association set + + + + + Gets the association related to this . + + + An object that represents the association related to this + + . + + + + + Gets the ends of this . + + + A collection of type that contains the ends of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents built-in type kind for this + + . + + + + + Creates a read-only AssociationSet instance from the specified parameters. + + The name of the association set. + The association type of the elements in the association set. + The entity set for the source association set end. + The entity set for the target association set end. + Metadata properties to be associated with the instance. + The newly created AssociationSet instance. + The specified name is null or empty. + The specified association type is null. + + The entity type of one of the ends of the specified + association type does not match the entity type of the corresponding entity set end. + + + + + Class representing a AssociationSet End + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the parent association set of this . + + + An object that represents the parent association set of this + + . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the End member that this object corresponds to. + + + An object that represents the End member that this + + object corresponds to. + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + + Gets the name of the End for this . + + + The name of the End for this . + + + + + Gets the name of the End role for this . + + + The name of the End role for this . + + Thrown if Setter is called when the AssociationSetEnd instance is in ReadOnly state + + + Gets the entity set referenced by this End role. + + An object that represents the entity set referred by this End role. + + + + + Returns the name of the End role for this . + + + The name of the End role for this . + + + + + Describes an association/relationship between two entities in the conceptual model or a foreign key relationship + between two tables in the store model. In the conceptual model the dependant class may or may not define a foreign key property. + If a foreign key is defined the property will be true and the property will contain details of the foreign keys + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of ends for this . + + + A collection of type that contains the list of ends for this + + . + + + + Gets or sets the referential constraint. + The referential constraint. + + + + Gets the list of constraints for this . + + + A collection of type that contains the list of constraints for this + + . + + + + Gets the Boolean property value that specifies whether the column is a foreign key. + A Boolean value that specifies whether the column is a foreign key. If true, the column is a foreign key. If false (default), the column is not a foreign key. + + + + Creates a read-only AssociationType instance from the specified parameters. + + The name of the association type. + The namespace of the association type. + Flag that indicates a foreign key (FK) relationship. + The data space for the association type. + The source association end member. + The target association end member. + A referential constraint. + Metadata properties to be associated with the instance. + The newly created AssociationType instance. + The specified name is null or empty. + The specified namespace is null or empty. + + + + List of all the built in types + + + + + Association Type Kind + + + + + AssociationSetEnd Kind + + + + + AssociationSet Kind + + + + + Association Type Kind + + + + + EntitySetBase Kind + + + + + Entity Type Base Kind + + + + + Collection Type Kind + + + + + Collection Kind + + + + + Complex Type Kind + + + + + Documentation Kind + + + + + DeleteAction Type Kind + + + + + Edm Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Enumeration Type Kind + + + + + Enum Member Kind + + + + + Facet Kind + + + + + EdmFunction Kind + + + + + Function Parameter Kind + + + + + Global Item Type Kind + + + + + Metadata Property Kind + + + + + Navigation Property Kind + + + + + Metadata Item Type Kind + + + + + EdmMember Type Kind + + + + + Parameter Mode Kind + + + + + Primitive Type Kind + + + + + Primitive Type Kind Kind + + + + + EdmProperty Type Kind + + + + + ProviderManifest Type Kind + + + + + Referential Constraint Type Kind + + + + + Ref Type Kind + + + + + RelationshipEnd Type Kind + + + + + Relationship Multiplicity Type Kind + + + + + Relationship Set Type Kind + + + + + Relationship Type + + + + + Row Type Kind + + + + + Simple Type Kind + + + + + Structural Type Kind + + + + + Type Information Kind + + + + + Kind of collection (applied to Properties) + + + + + Property is not a Collection + + + + + Collection has Bag semantics( unordered and duplicates ok) + + + + + Collection has List semantics + (Order is deterministic and duplicates ok) + + + + + Represents the Edm Collection Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + The instance of the class that contains the type of the element that this current + + object includes and facets for that type. + + + + + Represents the Edm Complex Type. This can be used to configure complex types + from a conceptual-space model-based convention. Complex types are not supported in the store model. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Creates a new instance of the type. + + The name of the complex type. + The namespace of the complex type. + The dataspace to which the complex type belongs to. + Members of the complex type. + Metadata properties to be associated with the instance. + Thrown if either name, namespace or members argument is null. + + A new instance a the type. + + + The newly created will be read only. + + + + + The concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Serializes an that conforms to the restrictions of a single + CSDL schema file to an XML writer. The model to be serialized must contain a single + . + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the XmlWriter. + + + The EdmModel to serialize. + + The XmlWriter to serialize to. + The serialized model's namespace. + true if the model is valid; otherwise, false. + + + + Information about an error that occurred processing an Entity Framework model. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + DataSpace + + + + + OSpace indicates the item in the clr space + + + + + CSpace indicates the item in the CSpace - edm primitive types + + types defined in csdl + + + + + SSpace indicates the item in the SSpace + + + + + Mapping between OSpace and CSpace + + + + + Mapping between CSpace and SSpace + + + + + Extension methods for . + + + + + Gets the conceptual model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the conceptual model. + + + + Gets the store model from the specified DbModel. + + An instance of a class that implements IEdmModelAdapter (ex. DbModel). + An instance of EdmModel that represents the store model. + + + + Class representing the Documentation associated with an item + + + + + Initializes a new Documentation instance. + + A summary string. + A long description string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the summary for this . + + + The summary for this . + + + + + Gets the long description for this . + + + The long description for this . + + + + + Gets a value indicating whether this object contains only a null or an empty + + and a + + . + + + true if this object contains only a null or an empty + + and a + + ; otherwise, false. + + + + + Returns the summary for this . + + + The summary for this . + + + + + This class encapsulates the error information for a generic EDM error. + + + + Gets the error message. + The error message. + + + + Class for representing a function + + + + + Gets the built-in type kind for this . + + + One of the enumeration values of the enumeration. + + + + Returns the full name (namespace plus name) of this type. + The full name of the type. + + + + Gets the parameters of this . + + + A collection of type that contains the parameters of this + + . + + + + + Adds a parameter to this function. + + The parameter to be added. + + + + Gets the return parameter of this . + + + A object that represents the return parameter of this + + . + + + + + Gets the return parameters of this . + + + A collection of type that represents the return parameters of this + + . + + + + Gets the store function name attribute of this function. + + + Gets the parameter type semantics attribute of this function. + + + Gets the aggregate attribute of this function. + + + + Gets a value indicating whether built in attribute is present on this function. + + + true if the attribute is present; otherwise, false. + + + + + Gets a value indicating whether this instance is from the provider manifest. + + + true if this instance is from the provider manifest; otherwise, false. + + + + + Gets a value indicating whether the is a niladic function (a function that accepts no arguments). + + + true if the function is niladic; otherwise, false. + + + + Gets whether this instance is mapped to a function or to a stored procedure. + true if this instance is mapped to a function; false if this instance is mapped to a stored procedure. + + + Gets a query in the language that is used by the database management system or storage model. + + A string value in the syntax used by the database management system or storage model that contains the query or update statement of the + + . + + + + Gets or sets the schema associated with the function. + The schema associated with the function. + + + + The factory method for constructing the object. + + The name of the function. + The namespace of the function. + The namespace the function belongs to. + Additional function attributes and properties. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the type. + + + + + Contains additional attributes and properties of the + + + Note that objects are short lived and exist only to + make initialization easier. Instance of this type are not + compared to each other and arrays returned by array properties are copied to internal + collections in the ctor. Therefore it is fine to suppress the + Code Analysis messages. + + + + Gets or sets the function schema. + The function schema. + + + Gets or sets the store function name. + The store function name. + + + Gets or sets the command text associated with the function. + The command text associated with the function. + + + Gets or sets the entity sets for the function. + The entity sets for the function. + + + Gets a value that indicates whether this is an aggregate function. + true if this is an aggregate function; otherwise, false. + + + Gets or sets whether this function is a built-in function. + true if this function is a built-in function; otherwise, false. + + + Gets or sets whether the function contains no arguments. + true if the function contains no arguments; otherwise, false. + + + Gets or sets whether this function can be composed. + true if this function can be composed; otherwise, false. + + + Gets or sets whether this function is from a provider manifest. + true if this function is from a provider manifest; otherwise, false. + + + Gets or sets whether this function is a cached store function. + true if this function is a cached store function; otherwise, false. + + + Gets or sets whether this function is a function import. + true if this function is a function import; otherwise, false. + + + Gets or sets the return parameters. + The return parameters. + + + Gets or sets the parameter type semantics. + The parameter type semantics. + + + Gets or sets the function parameters. + The function parameters. + + + + Class for representing a collection of items in Edm space. + + + + + Initializes a new instance of the class by using the collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + The collection of the XMLReader objects where the conceptual schema definition language (CSDL) files exist. + + + Initializes a new instance of the class. + The entity data model. + + + + Initializes a new instance of the class by using the paths where the conceptual schema definition language (CSDL) files exist. + + The paths where the conceptual schema definition language (CSDL) files exist. + + + Gets the conceptual model version for this collection. + The conceptual model version for this collection. + + + + Returns a collection of the objects. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + + + + Returns a collection of the objects with the specified conceptual model version. + + + A ReadOnlyCollection object that represents a collection of the + + objects. + + The conceptual model version. + + + + Factory method that creates an . + + + CSDL artifacts to load. Must not be null. + + + Paths to CSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the edm member class + + + + + Gets or sets the name of the property. Setting this from a store-space model-convention will change the name of the database + column for this property. In the conceptual model, this should align with the corresponding property from the entity class + and should not be changed. + + The name of this member. + + + Gets the type on which this member is declared. + + A object that represents the type on which this member is declared. + + + + + Gets the instance of the class that contains both the type of the member and facets for the type. + + + A object that contains both the type of the member and facets for the type. + + + + Returns the name of this member. + The name of this member. + + + + Tells whether this member is marked as a Computed member in the EDM definition + + + + + Tells whether this member's Store generated pattern is marked as Identity in the EDM definition + + + + + Represents a conceptual or store model. This class can be used to access information about the shape of the model + and the way the that it has been configured. + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + + Gets the data space associated with the model, which indicates whether + it is a conceptual model (DataSpace.CSpace) or a store model (DataSpace.SSpace). + + + + + Gets the association types in the model. + + + + + Gets the complex types in the model. + + + + + Gets the entity types in the model. + + + + + Gets the enum types in the model. + + + + + Gets the functions in the model. + + + + + Gets the container that stores entity and association sets, and function imports. + + + + Gets the global items associated with the model. + The global items associated with the model. + + + + Adds an association type to the model. + + The AssociationType instance to be added. + + + + Adds a complex type to the model. + + The ComplexType instance to be added. + + + + Adds an entity type to the model. + + The EntityType instance to be added. + + + + Adds an enumeration type to the model. + + The EnumType instance to be added. + + + + Adds a function to the model. + + The EdmFunction instance to be added. + + + + Removes an association type from the model. + + The AssociationType instance to be removed. + + + + Removes a complex type from the model. + + The ComplexType instance to be removed. + + + + Removes an entity type from the model. + + The EntityType instance to be removed. + + + + Removes an enumeration type from the model. + + The EnumType instance to be removed. + + + + Removes a function from the model. + + The EdmFunction instance to be removed. + + + + In conceptual-space, EdmProperty represents a property on an Entity. + In store-space, EdmProperty represents a column in a table. + + + + Creates a new primitive property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new enum property. + The newly created property. + The name of the property. + The type of the property. + + + Creates a new complex property. + The newly created property. + The name of the property. + The type of the property. + + + + Creates a new instance of EdmProperty type. + + Name of the property. + + Property + + A new instance of EdmProperty type + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a value indicating whether this can have a null value. + + + Nullability in the conceptual model and store model is a simple indication of whether or not + the property is considered nullable. Nullability in the object model is more complex. + When using convention based mapping (as usually happens with POCO entities), a property in the + object model is considered nullable if and only if the underlying CLR type is nullable and + the property is not part of the primary key. + When using attribute based mapping (usually used with entities that derive from the EntityObject + base class), a property is considered nullable if the IsNullable flag is set to true in the + attribute. This flag can + be set to true even if the underlying type is not nullable, and can be set to false even if the + underlying type is nullable. The latter case happens as part of default code generation when + a non-nullable property in the conceptual model is mapped to a nullable CLR type such as a string. + In such a case, the Entity Framework treats the property as non-nullable even though the CLR would + allow null to be set. + There is no good reason to set a non-nullable CLR type as nullable in the object model and this + should not be done even though the attribute allows it. + + + true if this can have a null value; otherwise, false. + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets the type name of the property. + The type name of the property. + + + + Gets the default value for this . + + + The default value for this . + + Thrown if the setter is called when the EdmProperty instance is in ReadOnly state + + + Gets whether the property is a collection type property. + true if the property is a collection type property; otherwise, false. + + + Gets whether this property is a complex type property. + true if this property is a complex type property; otherwise, false. + + + Gets whether this property is a primitive type. + true if this property is a primitive type; otherwise, false. + + + Gets whether this property is an enumeration type property. + true if this property is an enumeration type property; otherwise, false. + + + Gets whether this property is an underlying primitive type. + true if this property is an underlying primitive type; otherwise, false. + + + Gets the complex type information for this property. + The complex type information for this property. + + + Gets the primitive type information for this property. + The primitive type information for this property. + + + Gets the enumeration type information for this property. + The enumeration type information for this property. + + + Gets the underlying primitive type information for this property. + The underlying primitive type information for this property. + + + Gets or sets the concurrency mode for the property. + The concurrency mode for the property. + + + Gets or sets the database generation method for the database column associated with this property + The store generated pattern for the property. + + + Gets or sets the kind of collection for this model. + The kind of collection for this model. + + + Gets whether the maximum length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the maximum length of the property. + The maximum length of the property. + + + Gets or sets whether this property uses the maximum length supported by the provider. + true if this property uses the maximum length supported by the provider; otherwise, false. + + + Gets whether the fixed length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether the length of this property is fixed. + true if the length of this property is fixed; otherwise, false. + + + Gets whether the Unicode facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets whether this property is a Unicode property. + true if this property is a Unicode property; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the precision of this property. + The precision of this property. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets or sets the scale of this property. + The scale of this property. + + + Sets the metadata properties. + The metadata properties to be set. + + + + This class encapsulates the error information for a schema error that was encountered. + + + + + Constructs a EdmSchemaError object. + + The explanation of the error. + The code associated with this error. + The severity of the error. + + + Returns the error message. + The error message. + + + Gets the error code. + The error code. + + + Gets the severity level of the error. + + One of the values. The default is + + . + + + + Gets the line number where the error occurred. + The line number where the error occurred. + + + Gets the column where the error occurred. + The column where the error occurred. + + + Gets the location of the schema that contains the error. This string also includes the name of the schema at the end. + The location of the schema that contains the error. + + + Gets the name of the schema that contains the error. + The name of the schema that contains the error. + + + Gets a string representation of the stack trace at the time the error occurred. + A string representation of the stack trace at the time the error occurred. + + + + Defines the different severities of errors that can occur when validating an Entity Framework model. + + + + + A warning that does not prevent the model from being used. + + + + + An error that prevents the model from being used. + + + + + Base EdmType class for all the model types + + + + Gets the name of this type. + The name of this type. + + + Gets the namespace of this type. + The namespace of this type. + + + Gets a value indicating whether this type is abstract or not. + true if this type is abstract; otherwise, false. + Thrown if the setter is called on instance that is in ReadOnly state + + + Gets the base type of this type. + The base type of this type. + Thrown if the setter is called on instance that is in ReadOnly state + Thrown if the value passed in for setter will create a loop in the inheritance chain + + + Gets the full name of this type. + The full name of this type. + + + Returns the full name of this type. + The full name of this type. + + + + Returns an instance of the whose element type is this type. + + + The object whose element type is this type. + + + + + Class for representing an entity container + + + + + Creates an entity container with the specified name and data space. + + The entity container name. + The entity container data space. + Thrown if the name argument is null. + Thrown if the name argument is empty string. + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets a list of entity sets and association sets that this + + includes. + + + A object that contains a list of entity sets and association sets that this + + includes. + + + + Gets the association sets for this entity container. + The association sets for this entity container . + + + Gets the entity sets for this entity container. + The entity sets for this entity container . + + + + Specifies a collection of elements. Each function contains the details of a stored procedure that exists in the database or equivalent CommandText that is mapped to an entity and its properties. + + + A that contains + + elements. + + + + + Returns an object by using the specified name for the entity set. + + + An object that represents the entity set that has the specified name. + + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified name for the entity set. + + true if there is an entity set that matches the search criteria; otherwise, false. + The name of the entity set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains an object. If there is no entity set, this output parameter contains null. + + + + + Returns a object by using the specified name for the relationship set. + + + An object that represents the relationship set that has the specified name. + + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + + + Returns a object by using the specified name for the relationship set. + + true if there is a relationship set that matches the search criteria; otherwise, false. + The name of the relationship set that is searched for. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, contains a object. + + + + + Returns the name of this . + + + The name of this . + + + + + Adds the specified entity set to the container. + + The entity set to add. + + + Removes a specific entity set from the container. + The entity set to remove. + + + + Adds a function import to the container. + + The function import to add. + + + + The factory method for constructing the EntityContainer object. + + The name of the entity container to be created. + DataSpace in which this entity container belongs to. + Entity sets that will be included in the new container. Can be null. + Functions that will be included in the new container. Can be null. + Metadata properties to be associated with the instance. + The EntityContainer object. + Thrown if the name argument is null or empty string. + The newly created EntityContainer will be read only. + + + + Represents a particular usage of a structure defined in EntityType. In the conceptual-model, this represents a set that can + query and persist entities. In the store-model it represents a table. + From a store-space model-convention it can be used to configure + table name with property and table schema with property. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + + + + The factory method for constructing the EntitySet object. + + The name of the EntitySet. + The db schema. Can be null. + The db table. Can be null. + + The provider specific query that should be used to retrieve data for this EntitySet. Can be null. + + The entity type of the entities that this entity set type contains. + + Metadata properties that will be added to the newly created EntitySet. Can be null. + + The EntitySet object. + Thrown if the name argument is null or empty string. + The newly created EntitySet will be read only. + + + + Class for representing a entity set + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets escaped provider specific SQL describing this entity set. + + + + + Gets or sets the name of the current entity or relationship set. + If this property is changed from store-space, the mapping layer must also be updated to reflect the new name. + To change the table name of a store space use the Table property. + + The name of the current entity or relationship set. + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Gets the entity container of the current entity or relationship set. + + An object that represents the entity container of the current entity or relationship set. + + Thrown if the setter is called when the EntitySetBase instance or the EntityContainer passed into the setter is in ReadOnly state + + + + Gets the entity type of this . + + + An object that represents the entity type of this + + . + + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database table name for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + + Gets or sets the database schema for this entity set. + + if value passed into setter is null + Thrown if the setter is called when EntitySetBase instance is in ReadOnly state + + + Returns the name of the current entity or relationship set. + The name of the current entity or relationship set. + + + + Represents the structure of an . In the conceptual-model this represents the shape and structure + of an entity. In the store model this represents the structure of a table. To change the Schema and Table name use EntitySet. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the declared navigation properties associated with the entity type. + The declared navigation properties associated with the entity type. + + + + Gets the navigation properties of this . + + + A collection of type that contains the list of navigation properties on this + + . + + + + Gets the list of declared properties for the entity type. + The declared properties for the entity type. + + + Gets the collection of declared members for the entity type. + The collection of declared members for the entity type. + + + + Gets the list of properties for this . + + + A collection of type that contains the list of properties for this + + . + + + + + Returns a object that references this + + . + + + A object that references this + + . + + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + The factory method for constructing the EntityType object. + + The name of the entity type. + The namespace of the entity type. + The dataspace in which the EntityType belongs to. + The base type. + Name of key members for the type. + Members of the entity type (primitive and navigation properties). + Metadata properties to be associated with the instance. + The EntityType object. + Thrown if either name, namespace arguments are null. + The newly created EntityType will be read only. + + + + Adds the specified navigation property to the members of this type. + The navigation property is added regardless of the read-only flag. + + The navigation property to be added. + + + + Represents the Entity Type + + + + Gets the list of all the key members for the current entity or relationship type. + + A object that represents the list of key members for the current entity or relationship type. + + + + Gets the list of all the key properties for this entity type. + The list of all the key properties for this entity type. + + + + Adds the specified property to the list of keys for the current entity. + + The property to add. + if member argument is null + Thrown if the EntityType has a base type of another EntityTypeBase. In this case KeyMembers should be added to the base type + If the EntityType instance is in ReadOnly state + + + Removes the specified key member from the collection. + The key member to remove. + + + + Represents an enumeration member. + + + + Gets the kind of this type. + + + Gets the name of this enumeration member. + + + Gets the value of this enumeration member. + + + Overriding System.Object.ToString to provide better String representation for this type. + The name of this enumeration member. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Creates a read-only EnumMember instance. + + The name of the enumeration member. + The value of the enumeration member. + Metadata properties to be associated with the enumeration member. + The newly created EnumMember instance. + name is null or empty. + + + + Represents an enumeration type. + + + + Returns the kind of the type + + + Gets a collection of enumeration members for this enumeration type. + + + Gets a value indicating whether the enum type is defined as flags (i.e. can be treated as a bit field) + + + Gets the underlying type for this enumeration type. + + + + Creates a read-only EnumType instance. + + The name of the enumeration type. + The namespace of the enumeration type. + The underlying type of the enumeration type. + Indicates whether the enumeration type can be treated as a bit field; that is, a set of flags. + The members of the enumeration type. + Metadata properties to be associated with the enumeration type. + The newly created EnumType instance. + underlyingType is null. + + name is null or empty. + -or- + namespaceName is null or empty. + -or- + underlyingType is not a supported underlying type. + -or- + The specified members do not have unique names. + -or- + The value of a specified member is not in the range of the underlying type. + + + + + Class for representing a Facet object + This object is Immutable (not just set to readonly) and + some parts of the system are depending on that behavior + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the description of this . + + + The object that represents the description of this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the type of this . + + + The object that represents the type of this + + . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the Facet instance is in ReadOnly state + + + Gets a value indicating whether the value of the facet is unbounded. + true if the value of the facet is unbounded; otherwise, false. + + + + Returns the name of this . + + + The name of this . + + + + + Class for representing a FacetDescription object + + + + Gets the name of this facet. + The name of this facet. + + + Gets the type of this facet. + + An object that represents the type of this facet. + + + + Gets the minimum value for this facet. + The minimum value for this facet. + + + Gets the maximum value for this facet. + The maximum value for this facet. + + + Gets the default value of a facet with this facet description. + The default value of a facet with this facet description. + + + Gets a value indicating whether the value of this facet is a constant. + true if this facet is a constant; otherwise, false. + + + Gets a value indicating whether this facet is a required facet. + true if this facet is a required facet; otherwise, false. + + + Returns the name of this facet. + The name of this facet. + + + + Class representing a function parameter + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the mode of this . + + + One of the values. + + Thrown if the FunctionParameter instance is in ReadOnly state + + + + Gets the name of this . + + + The name of this . + + + + + Gets the instance of the class that contains both the type of the parameter and facets for the type. + + + A object that contains both the type of the parameter and facets for the type. + + + + Gets the type name of this parameter. + The type name of this parameter. + + + Gets whether the max length facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the maximum length of the parameter. + The maximum length of the parameter. + + + Gets whether the parameter uses the maximum length supported by the database provider. + true if parameter uses the maximum length supported by the database provider; otherwise, false. + + + Gets whether the precision facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the precision value of the parameter. + The precision value of the parameter. + + + Gets whether the scale facet is constant for the database provider. + true if the facet is constant; otherwise, false. + + + Gets the scale value of the parameter. + The scale value of the parameter. + + + + Gets the on which this parameter is declared. + + + A object that represents the function on which this parameter is declared. + + + + + Returns the name of this . + + + The name of this . + + + + + The factory method for constructing the object. + + The name of the parameter. + The EdmType of the parameter. + + The of the parameter. + + + A new, read-only instance of the type. + + + + + Represents the base item class for all the metadata + + + + + An interface to get the underlying store and conceptual model for a . + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Class for representing a collection of items. + Most of the implementation for actual maintenance of the collection is + done by MetadataCollection + + + + Gets the data model associated with this item collection. + The data model associated with this item collection. + + + + Returns a strongly typed object by using the specified identity. + + The item that is specified by the identity. + The identity of the item. + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity from this item collection. + + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, the output parameter contains a + + object. If there is no global item with the specified identity in the item collection, this output parameter contains null. + + The type returned by the method. + + + + Returns a strongly typed object by using the specified identity with either case-sensitive or case-insensitive search. + + The item that is specified by the identity. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The type returned by the method. + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all the items of the specified type. + + The type returned by the method. + + + + Returns an object by using the specified type name and the namespace name in this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + + An object that represents the type that matches the specified type name and the namespace name in this item collection. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified type name and the namespace name from this item collection. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, this output parameter contains an + + object. If there is no type with the specified name and namespace name in this item collection, this output parameter contains null. + + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + + + Returns all the overloads of the functions by using the specified name from this item collection. + + A collection of type that contains all the functions that have the specified name. + + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + Returns all the overloads of the functions by using the specified name from this item collection. + A collection of type ReadOnlyCollection that contains all the functions that have the specified name. + A dictionary of functions. + The full name of the function. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first one. + The name of the entity container. + + + + Returns an object by using the specified entity container name. If there is no entity container, the output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Returns an object by using the specified entity container name. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + + + Returns an object by using the specified entity container name. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + + When this method returns, it contains an object. If there is no entity container, this output parameter contains null; otherwise, it contains the first entity container. + + + + + Do not perform any extension check + + + + + Check the extension against a specific value + + + + + Check the extension against the set of acceptable extensions + + + + + Represents the base item class for all the metadata + + + Represents the base item class for all the metadata + + + + Gets the built-in type kind for this type. + + A object that represents the built-in type kind for this type. + + + + Gets the list of properties of the current type. + + A collection of type that contains the list of properties of the current type. + + + + + Adds or updates an annotation with the specified name and value. + + + If an annotation with the given name already exists then the value of that annotation + is updated to the given value. If the given value is null then the annotation will be + removed. + + The name of the annotation property. + The value of the annotation property. + + + + Removes an annotation with the specified name. + + The name of the annotation property. + true if an annotation was removed; otherwise, false. + + + Gets or sets the documentation associated with this type. + + A object that represents the documentation on this type. + + + + + Returns a conceptual model built-in type that matches one of the + + values. + + + An object that represents the built-in type in the EDM. + + + One of the values. + + + + Returns the list of the general facet descriptions for a specified type. + + A object that represents the list of the general facet descriptions for a specified type. + + + + + Class representing a metadata attribute for an item + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the name of this . + + + The name of this . + + + + + Gets the value of this . + + + The value of this . + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the instance of the class that contains both the type of this + + and facets for the type. + + + A object that contains both the type of this + + and facets for the type. + + Thrown if the MetadataProperty instance is in readonly state + + + + Gets the value of this . + + + The value of this . + + + + + Gets a boolean that indicates whether the metadata property is an annotation. + + + + + The factory method for constructing the MetadataProperty object. + + The name of the metadata property. + The type usage of the metadata property. + The value of the metadata property. + The MetadataProperty object. + + Thrown is null. + + The newly created MetadataProperty will be read only. + + + + Creates a metadata annotation having the specified name and value. + + The annotation name. + The annotation value. + A MetadataProperty instance representing the created annotation. + + + + Runtime Metadata Workspace + + + + + Initializes a new instance of the class. + + + + + Constructs a with loaders for all item collections () + needed by EF except the o/c mapping which will be created automatically based on the given o-space and c-space + loaders. The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + Delegate to return the o-space item collection. + + + + Constructs a with loaders for all item collections () + that come from traditional EDMX mapping. Default o-space and o/c mapping collections will be used. + The item collection delegates are executed lazily when a given collection is used for the first + time. It is acceptable to pass a delegate that returns null if the collection will never be used, but this + is rarely done, and any attempt by EF to use the collection in such cases will result in an exception. + + Delegate to return the c-space (CSDL) item collection. + Delegate to return the s-space (SSDL) item collection. + Delegate to return the c/s mapping (MSL) item collection. + + + + Initializes a new instance of the class using the specified paths and assemblies. + + The paths to workspace metadata. + The names of assemblies used to construct workspace. + + + + The Max EDM version thats going to be supported by the runtime. + + + + + Creates an configured to use the + + data space. + + The created parser object. + + + + Creates a new bound to this metadata workspace based on the specified query expression. + + + A new with the specified expression as it's + + property. + + + A that defines the query. + + + If + + is null + + + If + + contains metadata that cannot be resolved in this metadata workspace + + + If + + is not structurally valid because it contains unresolvable variable references + + + + + Gets items. + + + The items. + + + The from which to retrieve items. + + + + Registers the item collection with each associated data model. + The output parameter collection that needs to be filled up. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The delegate for logging the load messages. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + The conceptual model in which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Returns an item by using the specified identity and the data model. + The item that matches the given identity in the specified data model. + The identity of the item. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns an item by using the specified identity and the data model. + true if there is an item that matches the search criteria; otherwise, false. + The conceptual model on which the item is searched. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the item is searched. + + When this method returns, contains a object. This parameter is passed uninitialized. + + The type returned by the method. + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + The type returned by the method. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object that represents the type that matches the given type name and the namespace name in the specified data model. If there is no matched type, this method returns null. + + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified type name, namespace name, and data model. + + + An object. + + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified type name, namespace name, and data model. + + true if there is a type that matches the search criteria; otherwise, false. + The name of the type. + The namespace of the type. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the type is searched. + + When this method returns, contains an object. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + + Returns an object by using the specified entity container name and the data model. + + If there is no entity container, this method returns null; otherwise, it returns the first entity container. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Returns an object by using the specified entity container name and the data model. + + true if there is an entity container that matches the search criteria; otherwise, false. + The name of the entity container. + true to perform the case-insensitive search; otherwise, false. + The conceptual model on which the entity container is searched. + + When this method returns, contains an object. If there is no entity container, this output parameter contains null; otherwise, it returns the first entity container. This parameter is passed uninitialized. + + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns all the overloads of the functions by using the specified name, namespace name, and data model. + + A collection of type that contains all the functions that match the specified name in a given namespace and a data model. + + The name of the function. + The namespace of the function. + The conceptual model in which the functions are searched. + true to perform the case-insensitive search; otherwise, false. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Returns the list of primitive types in the specified data model. + + A collection of type that contains all the primitive types in the specified data model. + + The data model for which you need the list of primitive types. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + Gets all the items in the specified data model. + + A collection of type that contains all the items in the specified data model. + + The conceptual model for which the list of items is needed. + Thrown if the space is not a valid space. Valid space is either C, O, CS or OCSpace + + + + Tests the retrieval of . + + true if the retrieval was successful; otherwise, false. + + The from which to attempt retrieval of + + . + + When this method returns, contains the item collection. This parameter is passed uninitialized. + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the object space type that matches the type supplied by the parameter edmSpaceType . + + + A object that represents the Object space type. If there is no matched type, this method returns null. + + + A object that represents the + + . + + + + + Returns a object via the out parameter objectSpaceType that represents the type that matches the + + supplied by the parameter edmSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the + + . + + + When this method returns, contains a object that represents the Object space type. This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true if there is a type that matches the search criteria; otherwise, false. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + + Returns a object that represents the + + that matches the type supplied by the parameter objectSpaceType . + + + A object that represents the + + . If there is no matched type, this method returns null. + + + A that supplies the type in the object space. + + + + + Returns a object via the out parameter edmSpaceType that represents the + + that matches the type supplied by the parameter objectSpaceType . + + true on success, false on failure. + + A object that represents the object space type. + + + When this method returns, contains a object that represents the + + . This parameter is passed uninitialized. + + + + Clears all the metadata cache entries. + + + Gets original value members from an entity set and entity type. + The original value members from an entity set and entity type. + The entity set from which to retrieve original values. + The entity type of which to retrieve original values. + + + + Returns members of a given / + + for which original values are needed when modifying an entity. + + + The s for which original value is required. + + + An belonging to the C-Space. + + + An that participates in the given + + . + + true if entities may be updated partially; otherwise, false. + + + + Represent the edm navigation property class + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + Gets the relationship type that this navigation property operates on. + The relationship type that this navigation property operates on. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "to" relationship end member of this navigation. + The "to" relationship end member of this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + Gets the "from" relationship end member in this navigation. + The "from" relationship end member in this navigation. + Thrown if the NavigationProperty instance is in ReadOnly state + + + + Where the given navigation property is on the dependent end of a referential constraint, + returns the foreign key properties. Otherwise, returns an empty set. We will return the members in the order + of the principal end key properties. + + A collection of the foreign key properties. + + + + Creates a NavigationProperty instance from the specified parameters. + + The name of the navigation property. + Specifies the navigation property type and its facets. + The relationship type for the navigation. + The source end member in the navigation. + The target end member in the navigation. + The metadata properties of the navigation property. + The newly created NavigationProperty instance. + + + + Class for representing a collection of items for the object layer. + Most of the implementation for actual maintenance of the collection is + done by ItemCollection + + + + + Initializes a new instance of the class. + + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + + + Loads metadata from the given assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + The delegate to which log messages are sent. + + + Loads metadata from the specified assembly. + The assembly from which the metadata will be loaded. + The EDM metadata source for the O space metadata. + + + Returns a collection of primitive type objects. + A collection of primitive type objects. + + + + Returns the CLR type that corresponds to the supplied by the objectSpaceType parameter. + + The CLR type of the OSpace argument. + + A that represents the object space type. + + + + + Returns a CLR type corresponding to the supplied by the objectSpaceType parameter. + + true if there is a type that matches the search criteria; otherwise, false. + + A that represents the object space type. + + The CLR type. + + + The method returns the underlying CLR type for the specified OSpace type argument. If the DataSpace of the parameter is not OSpace, an ArgumentException is thrown. + The CLR type of the OSpace argument. + The OSpace type to look up. + + + Returns the underlying CLR type for the specified OSpace enum type argument. If the DataSpace of the parameter is not OSpace, the method returns false and sets the out parameter to null. + true on success, false on failure + The OSpace enum type to look up + The CLR enum type of the OSpace argument + + + Returns all the items of the specified type from this item collection. + + A collection of type that contains all items of the specified type. + + The type returned by the method. + + + + Represents the list of possible actions for delete operation + + + + + no action + + + + + Cascade to other ends + + + + + The enumeration defining the mode of a parameter + + + + + In parameter + + + + + Out parameter + + + + + Both in and out parameter + + + + + Return Parameter + + + + + The enumeration defining the type semantics used to resolve function overloads. + These flags are defined in the provider manifest per function definition. + + + + + Allow Implicit Conversion between given and formal argument types (default). + + + + + Allow Type Promotion between given and formal argument types. + + + + + Use strict Equivalence only. + + + + + Class representing a primitive type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets a enumeration value that indicates a primitive type of this + + . + + + A enumeration value that indicates a primitive type of this + + . + + + + + Gets the list of facet descriptions for this . + + + A collection of type that contains the list of facet descriptions for this + + . + + + + + Returns an equivalent common language runtime (CLR) type of this + + . Note that the + + property always returns a non-nullable type value. + + + A object that represents an equivalent common language runtime (CLR) type of this + + . + + + + + Returns the equivalent of this + + . + + + For example if this instance is nvarchar and it's + base type is Edm String then the return type is Edm String. + If the type is actually already a model type then the + return type is "this". + + + An object that is an equivalent of this + + . + + + + Returns the list of primitive types. + + A collection of type that contains the list of primitive types. + + + + + Returns the equivalent of a + + . + + + An object that is an equivalent of a specified + + . + + + A value of type . + + + + + Primitive Types as defined by EDM + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Geometry Type Kind + + + + + Geography Type Kind + + + + + Geometric point type kind + + + + + Geometric linestring type kind + + + + + Geometric polygon type kind + + + + + Geometric multi-point type kind + + + + + Geometric multi-linestring type kind + + + + + Geometric multi-polygon type kind + + + + + Geometric collection type kind + + + + + Geographic point type kind + + + + + Geographic linestring type kind + + + + + Geographic polygon type kind + + + + + Geographic multi-point type kind + + + + + Geographic multi-linestring type kind + + + + + Geographic multi-polygon type kind + + + + + Geographic collection type kind + + + + + HierarchyId type kind + + + + + Specifies the kinds of item attributes in the conceptual model. + + + + + An enumeration member indicating that an item attribute is System + + + + + An enumeration member indicating that an item attribute is Extended. + + + + + Class representing a read-only wrapper around MetadataCollection + + The type of items in this collection + + + + The enumerator for MetadataCollection + + + + Gets the member at the current position. + The member at the current position. + + + + Gets the member at the current position + + + + Disposes of this enumerator. + + + + Moves to the next member in the collection of type + + . + + + true if the enumerator is moved in the collection of type + + ; otherwise, false. + + + + + Positions the enumerator before the first position in the collection of type + + . + + + + Gets a value indicating whether this collection is read-only. + true if this collection is read-only; otherwise, false. + + + Gets an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + + + Retrieves an item from this collection by using the specified identity. + An item from this collection. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + + + Determines whether the collection contains an item with the specified identity. + true if the collection contains the item to be searched for; otherwise, false. The default is false. + The identity of the item. + + + Retrieves an item from this collection by using the specified identity. + true if there is an item that matches the search criteria; otherwise, false. + The identity of the item to be searched for. + true to perform the case-insensitive search; otherwise, false. + When this method returns, this output parameter contains an item from the collection. If there is no matched item, this output parameter contains null. + + + Returns an enumerator that can iterate through this collection. + + A that can be used to iterate through this + + . + + + + Returns the index of the specified value in this collection. + The index of the specified value in this collection. + A value to seek. + + + + This class represents a referential constraint between two entities specifying the "to" and "from" ends of the relationship. + + + + + Constructs a new constraint on the relationship + + role from which the relationship originates + role to which the relationship is linked/targeted to + properties on entity type of to role which take part in the constraint + properties on entity type of from role which take part in the constraint + Argument Null exception if any of the arguments is null + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the "from role" that takes part in this + + . + + + A object that represents the "from role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the "to role" that takes part in this . + + + A object that represents the "to role" that takes part in this + + . + + Thrown if value passed into setter is null + Thrown if the ReferentialConstraint instance is in ReadOnly state + + + + Gets the list of properties for the "from role" on which this + + is defined. + + + A collection of type that contains the list of properties for "from role" on which this + + is defined. + + + + + Gets the list of properties for the "to role" on which this + + is defined. + + + A collection of type that contains the list of properties for the "to role" on which this + + is defined. + + + + + Returns the combination of the names of the + + and the + + . + + + The combination of the names of the + + and the + + . + + + + + Class representing a ref type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the entity type referenced by this . + + + An object that represents the entity type referenced by this + + . + + + + + + + + + + + Initializes a new instance of the RelationshipEndMember class + + + + Gets the operational behavior of this relationship end member. + + One of the values. The default is + + . + + + + Gets the multiplicity of this relationship end member. + + One of the values. + + + + Access the EntityType of the EndMember in an association. + The EntityType of the EndMember in an association. + + + + Represents the multiplicity information about the end of a relationship type + + + + + Lower Bound is Zero and Upper Bound is One + + + + + Both lower bound and upper bound is one + + + + + Lower bound is zero and upper bound is null + + + + + Class for representing a relationship set + + + + + Gets the relationship type of this . + + + An object that represents the relationship type of this + + . + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Represents the Relationship type + + + + Gets the list of ends for this relationship type. + + A collection of type that contains the list of Ends for this relationship type. + + + + + Represents the Edm Row Type + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the list of properties on this . + + + A collection of type that contains the list of properties on this + + . + + + + Gets a collection of the properties defined by the current type. + A collection of the properties defined by the current type. + + + + The factory method for constructing the object. + + Properties of the row type object. + Metadata properties that will be added to the function. Can be null. + + A new, read-only instance of the object. + + + + + Class representing a simple type + + + + + Serializes the storage (database) section of an to XML. + + + + + Occurs when an error is encountered serializing the model. + + + + + Serialize the to the + + The EdmModel to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + Serialize the to the + + The EdmModel to serialize + Namespace name on the Schema element + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + A value indicating whether to serialize Nullable attributes when they are set to the default value. + true if model can be serialized, otherwise false + + + + The pattern for Server Generated Properties. + + + + + Not a Server Generated Property. This is the default. + + + + + A value is generated on INSERT, and remains unchanged on update. + + + + + A value is generated on both INSERT and UPDATE. + + + + + Class for representing a collection of items in Store space. + + + + + Initializes a new instance of the class using the specified XMLReader. + + The XMLReader used to create metadata. + + + Initializes a new instances of the class. + The model of the . + + + + Initializes a new instance of the class using the specified file paths. + + The file paths used to create metadata. + + + Gets the provider factory of the StoreItemCollection. + The provider factory of the StoreItemCollection. + + + Gets the provider manifest of the StoreItemCollection. + The provider manifest of the StoreItemCollection. + + + Gets the manifest token of the StoreItemCollection. + The manifest token of the StoreItemCollection. + + + Gets the invariant name of the StoreItemCollection. + The invariant name of the StoreItemCollection. + + + Gets the version of the store schema for this collection. + The version of the store schema for this collection. + + + + Returns a collection of the objects. + + + A object that represents the collection of the + + objects. + + + + + Factory method that creates a . + + + SSDL artifacts to load. Must not be null. + + + Paths to SSDL artifacts. Used in error messages. Can be null in which case + the base Uri of the XmlReader will be used as a path. + + + Custom resolver. Currently used to resolve DbProviderServices implementation. If null + the default resolver will be used. + + + The collection of errors encountered while loading. + + + instance if no errors encountered. Otherwise null. + + + + + Represents the Structural Type + + + + Gets the list of members on this type. + + A collection of type that contains a set of members on this type. + + + + + Adds a member to this type + + The member to add + + + Removes a member from this type. + The member to remove. + + + + Class representing a type information for an item + + + + + Factory method for creating a TypeUsage with specified EdmType and facets + + EdmType for which to create a type usage + facets to be copied into the new TypeUsage + new TypeUsage instance + + + + Creates a object with the specified conceptual model type. + + + A object with the default facet values for the specified + + . + + + A for which the + + object is created. + + + + + Creates a object to describe a string type by using the specified facet values. + + + A object describing a string type by using the specified facet values. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false. + + + + Creates a object to describe a string type by using the specified facet values and unbounded MaxLength. + + + A object describing a string type by using the specified facet values and unbounded MaxLength. + + + A for which the + + object is created. + + true to set the character-encoding standard of the string type to Unicode; otherwise, false. + true to set the length of the string type to fixed; otherwise, false + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + The maximum length of the binary type. + + + + Creates a object to describe a binary type by using the specified facet values. + + + A object describing a binary type by using the specified facet values. + + + A for which the + + object is created. + + true to set the length of the binary type to fixed; otherwise, false. + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + The simple type that defines the units of measurement of the offset. + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object of the type that the parameters describe. + + + A object. + + + The simple type that defines the units of measurement of the object. + + + The degree of granularity of the in fractions of a second, based on the number of decimal places supported. For example a precision of 3 means the granularity supported is milliseconds. + + + + + Creates a object to describe a decimal type by using the specified facet values. + + + A object describing a decimal type by using the specified facet values. + + + A for which the + + object is created. + + + The precision of the decimal type as type . + + + The scale of the decimal type as type . + + + + + Creates a object to describe a decimal type with unbounded precision and scale facet values. + + + A object describing a decimal type with unbounded precision and scale facet values. + + + A for which the + + object is created. + + + + + Gets the built-in type kind for this . + + + A object that represents the built-in type kind for this + + . + + + + + Gets the type information described by this . + + + An object that represents the type information described by this + + . + + + + + Gets the list of facets for the type that is described by this + + . + + + A collection of type that contains the list of facets for the type that is described by this + + . + + + + + Returns a Model type usage for a provider type + + Model (CSpace) type usage + + + + Checks whether this is a subtype of the specified + + . + + + true if this is a subtype of the specified + + ; otherwise, false. + + + The object to be checked. + + + + + Returns the full name of the type described by this . + + + The full name of the type described by this as string. + + + + + This exception is thrown when a requested object is not found in the store. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of class that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Caches an ELinq query + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg15 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg14 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg13 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg12 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg11 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg10 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg9 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg8 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg7 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg6 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg5 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg4 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg3 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg2 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + Represents the type of the parameter that has to be passed in when executing the delegate returned by this method. TArg1 must be a primitive type. + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + Creates a new delegate that represents the compiled LINQ to Entities query. + + , a generic delegate that represents the compiled LINQ to Entities query. + + The lambda expression to compile. + + A type derived from . + + + The type T of the query results returned by executing the delegate returned by the + + method. + + + + + The values currently assigned to the properties of an entity. + + + + + This is the interface that represent the minimum interface required + to be an entity in ADO.NET. + + + + Notifies the change tracker that a property change is pending on a complex object. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property of a complex object has changed. + The name of the changed property. + property is null. + + + + Attribute for complex properties + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + attribute for complex types + + + + + Attribute identifying the Edm base class + + + + + Attribute indicating an enum type. + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this attribute has been replaced by the starting with EF6. + + + + + Creates a new DbFunctionAttribute instance. + + The namespace name of the EDM function represented by the attributed method. + The function name of the EDM function represented by the attributed method. + + + + Base attribute for properties mapped to store elements. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Attribute identifying the Ends defined for a RelationshipSet + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + + Initializes a new instance of the + + class. + + The namespace name of the relationship property. + The name of the relationship. The relationship name is not namespace qualified. + The role name at the other end of the relationship. + + + The namespace name of the navigation property. + + A that is the namespace name. + + + + Gets the unqualified relationship name. + The relationship name. + + + Gets the role name at the other end of the relationship. + The target role name is specified by the Role attribute of the other End element in the association that defines this relationship in the conceptual model. For more information, see Association (EDM). + + + + Defines a relationship between two entity types based on an association in the conceptual model. + + + + + Creates an instance of the class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + + + + Initializes a new instance of the + + class. + + The name of the namespace for the association in which this entity participates. + The name of a relationship in which this entity participates. + Name of the role for the type at one end of the association. + + A value of that indicates the multiplicity at one end of the association, such as one or many. + + The type of the entity at one end of the association. + Name of the role for the type at the other end of the association. + + A value of that indicates the multiplicity at the other end of the association, such as one or many. + + The type of the entity at the other end of the association. + A value that indicates whether the relationship is based on the foreign key value. + + + The namespace for the relationship. + + A that is the namespace for the relationship. + + + + Name of the relationship. + + A that is the name of a relationship that is defined by this + + . + + + + Name of the role at one end of the relationship. + + A that is the name of the role. + + + + Multiplicity at one end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at one end of the relationship. + + A that is the type of the object at this end of the association. + + + + Name of the role at the other end of the relationship. + + A that is the name of the role. + + + + Multiplicity at the other end of the relationship. + + A value that indicates the multiplicity. + + + + Type of the entity at the other end of the relationship. + + A that is the type of the object t the other end of the association. + + + + Gets a Boolean value that indicates whether the relationship is based on the foreign key value. + true if the relationship is based on the foreign key value; otherwise false. + + + + Attribute for scalar properties in an IEntity. + Implied default AttributeUsage properties Inherited=True, AllowMultiple=False, + The metadata system expects this and will only look at the first of each of these attributes, even if there are more. + + + + Gets or sets the value that indicates whether the property can have a null value. + The value that indicates whether the property can have a null value. + + + Gets or sets the value that indicates whether the property is part of the entity key. + The value that indicates whether the property is part of the entity key. + + + + Attribute for static types + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a unique value for each model referenced by the assembly. + + + Setting this parameter to a unique value for each model file in a Visual Basic + assembly will prevent the following error: + "'System.Data.Entity.Core.Objects.DataClasses.EdmSchemaAttribute' cannot be specified more than once in this project, even with identical parameter values." + + A string that is a unique GUID value for the model in the assembly. + + + + Base attribute for schematized types + + + + The name of the type in the conceptual schema that maps to the class to which this attribute is applied. + + A that is the name. + + + + The namespace name of the entity object type or complex type in the conceptual schema that maps to this type. + + A that is the namespace name. + + + + + Collection of entities modeling a particular EDM construct + which can either be all entities of a particular type or + entities participating in a particular relationship. + + The type of entities in this collection. + + + + Initializes a new instance of the class. + + + + Gets the number of objects that are contained in the collection. + + The number of elements that are contained in the + + . + + + + + Gets a value that indicates whether the + + is read-only. + + Always returns false. + + + + IListSource.ContainsListCollection implementation. Always returns false. + This means that the IList we return is the one which contains our actual data, + it is not a list of collections. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + Loads related objects into the collection, using the specified merge option. + + Specifies how the objects in this collection should be merged with the objects that might have been returned from previous queries against the same + + . + + + + + + + Defines relationships between an object and a collection of related objects in an object context. + + Loads related entities into the local collection. If the collection is already filled + or partially filled, merges existing entities with the given entities. The given + entities are not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. We allow + deleted elements only when the state manager is already tracking the relationship + instance. + + Collection of objects in the object context that are related to the source object. + entities collection is null. + + The source object or an object in the entities collection is null or is not in an + + or state.-or-The relationship cannot be defined based on the EDM metadata. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + + Defines a relationship between two attached objects in an object context. + The object being attached. + When the entity is null. + + When the entity cannot be related to the source object. This can occur when the association in the conceptual schema does not support a relationship between the two types.-or-When either object is null or is not in an + + or state. + + + + Adds an object to the collection. + + An object to add to the collection. entity must implement + + . + + entity is null. + + + Removes an object from the collection and marks the relationship for deletion. + true if item was successfully removed; otherwise, false. + The object to remove from the collection. + entity object is null. + The entity object is not attached to the same object context.-or-The entity object does not have a valid relationship manager. + + + Returns an enumerator that is used to iterate through the objects in the collection. + + An that iterates through the set of values cached by + + . + + + + + Returns an enumerator that is used to iterate through the set of values cached by + + . + + + An that iterates through the set of values cached by + + . + + + + Removes all entities from the collection. + + + Determines whether a specific object exists in the collection. + + true if the object is found in the ; otherwise, false. + + + The object to locate in the . + + + + Copies all the contents of the collection to an array, starting at the specified index of the target array. + The array to copy to. + The zero-based index in the array at which copying begins. + + + Used internally to serialize entity objects. + The streaming context. + + + Used internally to deserialize entity objects. + The streaming context. + + + Returns an object query that, when it is executed, returns the same set of objects that exists in the current collection. + + An that represents the entity collection. + + + When the object is in an state + or when the object is in a + state with a + other than + . + + + + + This is the class is the basis for all perscribed EntityObject classes. + + + + Gets the entity state of the object. + + The of this object. + + + + Gets or sets the key for this object. + + The for this object. + + + + + Used by the ObjectStateManager to attach or detach this EntityObject to the cache. + + Reference to the ObjectStateEntry that contains this entity + + + + Returns the container for the lazily created relationship + navigation property objects, collections and refs. + + + + Notifies the change tracker that a property change is pending. + The name of the changing property. + property is null. + + + Notifies the change tracker that a property has changed. + The name of the changed property. + property is null. + + + + Models a relationship end with multiplicity 1. + + + + Returns the key for the related object. + + Returns the EntityKey of the target entity associated with this EntityReference. + Is non-null in the following scenarios: + (a) Entities are tracked by a context and an Unchanged or Added client-side relationships exists for this EntityReference's owner with the + same RelationshipName and source role. This relationship could have been created explicitly by the user (e.g. by setting + the EntityReference.Value, setting this property directly, or by calling EntityCollection.Add) or automatically through span queries. + (b) If the EntityKey was non-null before detaching an entity from the context, it will still be non-null after detaching, until any operation + occurs that would set it to null, as described below. + (c) Entities are detached and the EntityKey is explicitly set to non-null by the user. + (d) Entity graph was created using a NoTracking query with full span + Is null in the following scenarios: + (a) Entities are tracked by a context but there is no Unchanged or Added client-side relationship for this EntityReference's owner with the + same RelationshipName and source role. + (b) Entities are tracked by a context and a relationship exists, but the target entity has a temporary key (i.e. it is Added) or the key + is one of the special keys + (c) Entities are detached and the relationship was explicitly created by the user. + + + An that is the key of the related object. + + + + + Models a relationship end with multiplicity 1. + + The type of the entity being referenced. + + + + Creates a new instance of . + + + The default constructor is required for some serialization scenarios. It should not be used to + create new EntityReferences. Use the GetRelatedReference or GetRelatedEnd methods on the RelationshipManager + class instead. + + + + + Gets or sets the related object returned by this + + . + + + The object returned by this . + + + + + Loads the related object for this with the specified merge option. + + + Specifies how the object should be returned if it already exists in the + + . + + + The source of the is null + or a query returned more than one related end + or a query returned zero related ends, and one related end was expected. + + + + + + + Creates a many-to-one or one-to-one relationship between two objects in the object context. + The object being attached. + When the entity is null. + When the entity cannot be related to the current related end. This can occur when the association in the conceptual schema does not support a relationship between the two types. + + + Creates an equivalent object query that returns the related object. + + An that returns the related object. + + + When the object is in an state + or when the object is in a + state with a + other than . + + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + This method is used internally to serialize related entity objects. + The serialized stream. + + + + This interface is implemented by a change tracker and is used by data classes to report changes + + + + Notifies the change tracker of a pending change to a property of an entity type. + The name of the property that is changing. + + + Notifies the change tracker that a property of an entity type has changed. + The name of the property that has changed. + + + Notifies the change tracker of a pending change to a complex property. + The name of the top-level entity property that is changing. + The complex type that contains the property that is changing. + The name of the property that is changing on complex type. + + + Notifies the change tracker that a property of a complex type has changed. + The name of the complex property of the entity type that has changed. + The complex type that contains the property that changed. + The name of the property that changed on complex type. + + + Gets current state of a tracked object. + + An that is the state of the tracked object.For more information, see Identity Resolution, State Management, and Change Tracking and Tracking Changes in POCO Entities. + + + + + Minimum interface that a data class must implement in order to be managed by a change tracker. + + + + + Gets or sets the used to report changes. + + + The used to report changes. + + + + + Interface that defines an entity containing a key. + + + + + Gets or sets the for instances of entity types that implement this interface. + + + If an object is being managed by a change tracker, it is expected that + IEntityChangeTracker methods EntityMemberChanging and EntityMemberChanged will be + used to report changes on EntityKey. This allows the change tracker to validate the + EntityKey's new value and to verify if the change tracker is in a state where it can + allow updates to the EntityKey. + + + The for instances of entity types that implement this interface. + + + + + Interface that a data class must implement if exposes relationships + + + + Returns the relationship manager that manages relationships for an instance of an entity type. + + Classes that expose relationships must implement this property + by constructing and setting RelationshipManager in their constructor. + The implementation of this property should use the static method RelationshipManager.Create + to create a new RelationshipManager when needed. Once created, it is expected that this + object will be stored on the entity and will be provided through this property. + + + The for this entity. + + + + + Represents one end of a relationship. + + + + + Gets or sets a value indicating whether the entity (for an or all entities + in the collection (for an have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded + and wants to prevent any other entities from being loaded automatically. + Note that explicit loading using will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity is detached the IsLoaded flag is reset to false indicating that not all related entities + are now loaded. + + + True if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise false. + + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this is participating. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + The role name at the source end of the relationship. + + + Gets the role name at the target end of the relationship. + The role name at the target end of the relationship. + + + Returns a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + Loads the related object or objects into this related end with the default merge option. + + + Asynchronously loads the related object or objects into this related end with the default merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Loads the related object or objects into the related end with the specified merge option. + + The to use when merging objects into an existing + . + + + + Asynchronously loads the related object or objects into the related end with the specified merge option. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + Adds an object to the related end. + + An object to add to the collection. entity must implement + + . + + + + Adds an object to the related end. + An object to add to the collection. + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed, false if entity was not part of the + + . + + + The object to remove from the collection. entity must implement + + . + + + + Removes an object from the collection of objects at the related end. + + true if entity was successfully removed; false if entity was not part of the + + . + + An object to remove from the collection. + + + Defines a relationship between two attached objects. + + The object being attached. entity must implement + + . + + + + Defines a relationship between two attached objects. + The object being attached. + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Base class for EntityCollection and EntityReference + + + + Occurs when a change is made to a related end. + + + Gets the name of the relationship in which this related end participates. + + The name of the relationship in which this participates. The relationship name is not namespace qualified. + + + + Gets the role name at the source end of the relationship. + + A that is the role name. + + + + Gets the role name at the target end of the relationship. + + A that is the role name. + + + + + Returns an that represents the objects that belong to the related end. + + + An that represents the objects that belong to the related end. + + + + Gets a reference to the metadata for the related end. + + A object that contains metadata for the end of a relationship. + + + + + + + + Loads the related object or objects into the related end with the default merge option. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads the related object or objects into the related end with the default merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Loads an object or objects from the related end with the specified merge option. + + + The to use when merging objects into an existing + . + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Asynchronously loads an object or objects from the related end with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when merging objects into an existing + . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + When the source object was retrieved by using a query + and the + is not + or the related objects are already loaded + or when the source object is not attached to the + or when the source object is being tracked but is in the + or state + or the + used for + is . + + + + + Attaches an entity to the related end. This method works in exactly the same way as Attach(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Attaches an entity to the related end. If the related end is already filled + or partially filled, this merges the existing entities with the given entity. The given + entity is not assumed to be the complete set of related entities. + Owner and all entities passed in must be in Unchanged or Modified state. + Deleted elements are allowed only when the state manager is already tracking the relationship + instance. + + The entity to attach to the related end + + Thrown when + + is null. + + Thrown when the entity cannot be related via the current relationship end. + + + + Adds an entity to the related end. This method works in exactly the same way as Add(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to add to the related end + + + + Adds an entity to the related end. If the owner is + attached to a cache then the all the connected ends are + added to the object cache and their corresponding relationships + are also added to the ObjectStateManager. The RelatedEnd of the + relationship is also fixed. + + Entity instance to add to the related end + + + + Removes an entity from the related end. This method works in exactly the same way as Remove(object). + It is maintained for backward compatibility with previous versions of IRelatedEnd. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Removes an entity from the related end. If owner is + attached to a cache, marks relationship for deletion and if + the relationship is composition also marks the entity for deletion. + + Entity instance to remove from the related end + Returns true if the entity was successfully removed, false if the entity was not part of the RelatedEnd. + + + + Returns an that iterates through the collection of related objects. + + + An that iterates through the collection of related objects. + + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + Identifies the kind of a relationship + + + + + The relationship is an Association + + + + + Container for the lazily created relationship navigation + property objects (collections and refs). + + + + + Creates a new object. + + + Used by data classes that support relationships. If the change tracker + requests the RelationshipManager property and the data class does not + already have a reference to one of these objects, it calls this method + to create one, then saves a reference to that object. On subsequent accesses + to that property, the data class should return the saved reference. + The reason for using a factory method instead of a public constructor is to + emphasize that this is not something you would normally call outside of a data class. + By requiring that these objects are created via this method, developers should + give more thought to the operation, and will generally only use it when + they explicitly need to get an object of this type. It helps define the intended usage. + + + The requested . + + Reference to the entity that is calling this method. + + + + Returns either an or + + of the correct type for the specified target role in a relationship. + + + representing the + + or + + that was retrieved. + + Name of the relationship in which targetRoleName is defined. The relationship name is not namespace qualified. + Target role to use to retrieve the other end of relationshipName . + relationshipName or targetRoleName is null. + The source type does not match the type of the owner. + targetRoleName is invalid or unable to find the relationship type in the metadata. + + + + Takes an existing EntityReference that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityReference has already been initialized, + if the relationship manager already contains a relationship with this name and target role, or if the relationship manager is already attached to a ObjectContext.W + + The relationship name. + The role name of the related end. + + The to initialize. + + + The type of the being initialized. + + + When the provided + is already initialized.-or-When the relationship manager is already attached to an + + or when the relationship manager already contains a relationship with this name and target role. + + + + + Takes an existing EntityCollection that was created with the default constructor and initializes it using the provided relationship and target role names. + This method is designed to be used during deserialization only, and will throw an exception if the provided EntityCollection has already been initialized, + or if the relationship manager is already attached to a ObjectContext. + + The relationship name. + The target role name. + An existing EntityCollection. + Type of the entity represented by targetRoleName + + + + Gets an of related objects with the specified relationship name and target role name. + + + The of related objects. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + + Gets the for a related object by using the specified combination of relationship name and target role name. + + + The of a related object. + + Name of the relationship to navigate. The relationship name is not namespace qualified. + Name of the target role for the navigation. Indicates the direction of navigation across the relationship. + + The type of the returned . + + + The specified role returned an instead of an + + . + + + + Returns an enumeration of all the related ends managed by the relationship manager. + + An of objects that implement + + . An empty enumeration is returned when the relationships have not yet been populated. + + + + + Called by Object Services to prepare an for binary serialization with a serialized relationship. + + Describes the source and destination of a given serialized stream, and provides an additional caller-defined context. + + + + Used internally to deserialize entity objects along with the + + instances. + + The serialized stream. + + + + This class contains the common methods need for an date object. + + + + + Public constant name used for change tracking + Providing this definition allows users to use this constant instead of + hard-coding the string. This helps to ensure the property name is correct + and allows faster comparisons in places where we are looking for this specific string. + Users can still use the case-sensitive string directly instead of the constant, + it will just be slightly slower on comparison. + Including the dash (-) character around the name ensures that this will not conflict with + a real data property, because -EntityKey- is not a valid identifier name + + + + + Notification that a property has been changed. + + + The PropertyChanged event can indicate all properties on the + object have changed by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangedEventArgs. + + + + + Notification that a property is about to be changed. + + + The PropertyChanging event can indicate all properties on the + object are changing by using either a null reference + (Nothing in Visual Basic) or String.Empty as the property name + in the PropertyChangingEventArgs. + + + + + Raises the event. + + The name of the changed property. + + + + Raises the event. + + The name of the property changing. + + + Returns the minimum date time value supported by the data source. + + A value that is the minimum date time that is supported by the data source. + + + + Raises an event that is used to report that a property change is pending. + The name of the changing property. + + + Raises an event that is used to report that a property change has occurred. + The name for the changed property. + + + Returns a complex type for the specified property. + + Unlike most of the other helper methods in this class, this one is not static + because it references the SetValidValue for complex objects, which is also not static + because it needs a reference to this. + + A complex type object for the property. + A complex object that inherits from complex object. + The name of the complex property that is the complex object. + Indicates whether the type supports null values. + Indicates whether the type is initialized. + The type of the complex object being requested. + + + Determines whether the specified byte arrays contain identical values. + true if both arrays are of the same length and contain the same byte values or if both arrays are null; otherwise, false. + The first byte array value to compare. + The second byte array to compare. + + + Returns a copy of the current byte value. + + A copy of the current value. + + The current byte array value. + + + + Makes sure the value being set for a property is valid. + + + The value being validated. + + The value passed into the property setter. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + If value is null for a non nullable value. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + The value being set. + Indicates whether the property is nullable. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + The Boolean value. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + A that is set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value that is set. + + The value that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + A value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + The name of the property that is being validated. + + + Makes sure the Single value being set for a property is valid. + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + Name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The nullable value being set. + + + The nullable value. + + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + The name of the property that is being validated. + + + Makes sure the UInt16 value being set for a property is valid. + The nullable UInt16 value being set. + The nullable UInt16 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + The name of the property that is being validated. + + + Makes sure the UInt32 value being set for a property is valid. + The nullable UInt32 value being set. + The nullable UInt32 value. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + + The value being set. + + + The value. + + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + The name of the property that is being validated. + + + + Makes sure the value being set for a property is valid. + + The nullable UInt64 value being set. + The nullable UInt64 value. + + + Validates that the property is not null, and throws if it is. + The validated property. + The string value to be checked. + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The string value is null for a non-nullable string. + + + Validates that the property is not null, and throws if it is. + + The validated value. + + The string value to be checked. + Flag indicating if this property is allowed to be null. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + Name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + value to be checked. + + Flag indicating if this property is allowed to be null. + The name of the property that is being validated. + The value is null for a non-nullable property. + + + Validates that the property is not null, and throws if it is. + + The value being set. + + + The value to be checked. + + Flag indicating if this property is allowed to be null. + The value is null for a non-nullable property. + + + Sets a complex object for the specified property. + A complex type that derives from complex object. + The original complex object for the property, if any. + The complex object is being set. + The complex property that is being set to the complex object. + The type of the object being replaced. + + + Verifies that a complex object is not null. + The complex object being validated. + The complex object that is being validated. + The complex property on the parent object that is associated with complexObject . + The type of the complex object being verified. + + + + Provides access to the original values of object data. The DbUpdatableDataRecord implements methods that allow updates to the original values of an object. + + + + Gets the number of fields in the record. + An integer value that is the field count. + + + Returns a value that has the given field ordinal. + The value that has the given field ordinal. + The ordinal of the field. + + + Gets a value that has the given field name. + The field value. + The name of the field. + + + Retrieves the field value as a Boolean. + The field value as a Boolean. + The ordinal of the field. + + + Retrieves the field value as a byte. + The field value as a byte. + The ordinal of the field. + + + Retrieves the field value as a byte array. + The number of bytes copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of bytes to copy. + + + Retrieves the field value as a char. + The field value as a char. + The ordinal of the field. + + + Retrieves the field value as a char array. + The number of characters copied. + The ordinal of the field. + The index at which to start copying data. + The destination buffer where data is copied. + The index in the destination buffer where copying will begin. + The number of characters to copy. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as a + + + The field value as a . + + The ordinal of the field. + + + Retrieves the name of the field data type. + The name of the field data type. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Retrieves the field value as a decimal. + The field value as a decimal. + The ordinal of the field. + + + Retrieves the field value as a double. + The field value as a double. + The ordinal of the field. + + + Retrieves the type of a field. + The field type. + The ordinal of the field. + + + Retrieves the field value as a float. + The field value as a float. + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + + Retrieves the field value as an . + + + The field value as an . + + The ordinal of the field. + + + Retrieves the name of a field. + The name of the field. + The ordinal of the field. + + + Retrieves the ordinal of a field by using the name of the field. + The ordinal of the field. + The name of the field. + + + Retrieves the field value as a string. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Retrieves the value of a field. + The field value. + The ordinal of the field. + + + Populates an array of objects with the field values of the current record. + The number of field values returned. + An array of objects to store the field values. + + + + Returns whether the specified field is set to . + + + true if the field is set to ; otherwise false. + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + Sets field values in a record. + The number of the fields that were set. + The values of the field. + + + + Sets a field to the value. + + The ordinal of the field. + + + Gets data record information. + + A object. + + + + + Retrieves a field value as a . + + + A field value as a . + + The ordinal of the field. + + + + Retrieves the field value as a . + + + The field value as a . + + The ordinal of the field. + + + Sets the value of a field in a record. + The ordinal of the field. + The value of the field. + + + + List of type pairs that constructor call new XXXX(YYY yyy) could be translated to SQL CAST(yyy AS XXXXX) call + + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that these functions have been moved to the class starting with EF6. + The functions are retained here only to help in the migration of older EF apps to EF6. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + Options for query execution. + + + + + Creates a new instance of . + + Merge option to use for entity results. + + + + Creates a new instance of . + + Merge option to use for entity results. + Whether the query is streaming or buffering. + + + + Merge option to use for entity results. + + + + + Whether the query is streaming or buffering. + + + + Determines whether the specified objects are equal. + true if the two objects are equal; otherwise, false. + The left object to compare. + The right object to compare. + + + + Determines whether the specified objects are not equal. + + The left object to compare. + The right object to compare. + true if the two objects are not equal; otherwise, false. + + + + + + + + + + Defines behavior for implementations of IQueryable that allow modifications to the membership of the resulting set. + + Type of entities returned from the queryable. + + + Notifies the set that an object that represents a new entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The new object to add to the set. + + + Notifies the set that an object that represents an existing entity must be added to the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to add to the set. + + + Notifies the set that an object that represents an existing entity must be deleted from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The existing object to delete from the set. + + + Notifies the set that an object that represents an existing entity must be detached from the set. + + Depending on the implementation, the change to the set may not be visible in an enumeration of the set + until changes to that set have been persisted in some manner. + + The object to detach from the set. + + + + The different ways that new objects loaded from the database can be merged with existing objects already in memory. + + + + + Will only append new (top level-unique) rows. This is the default behavior. + + + + + Same behavior as LoadOption.OverwriteChanges. + + + + + Same behavior as LoadOption.PreserveChanges. + + + + + Will not modify cache. + + + + + ObjectContext is the top-level object that encapsulates a connection between the CLR and the database, + serving as a gateway for Create, Read, Update, and Delete operations. + + + + + Initializes a new instance of the class with the given connection. During construction, the metadata workspace is extracted from the + + object. + + + An that contains references to the model and to the data source connection. + + The connection is null. + The connection is invalid or the metadata workspace is invalid. + + + + Creates an ObjectContext with the given connection and metadata workspace. + + connection to the store + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + Initializes a new instance of the class with the given connection string and default entity container name. + + The connection string, which also provides access to the metadata information. + The connectionString is null. + The connectionString is invalid or the metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection string and entity container name. + + The connection string, which also provides access to the metadata information. + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connectionString is null. + The connectionString , defaultContainerName , or metadata workspace is not valid. + + + + Initializes a new instance of the class with a given connection and entity container name. + + + An that contains references to the model and to the data source connection. + + The name of the default entity container. When the defaultContainerName is set through this method, the property becomes read-only. + The connection is null. + The connection , defaultContainerName , or metadata workspace is not valid. + + + Gets the connection used by the object context. + + A object that is the connection. + + + When the instance has been disposed. + + + + Gets or sets the default container name. + + A that is the default container name. + + + + Gets the metadata workspace used by the object context. + + The object associated with this + + . + + + + Gets the object state manager used by the object context to track object changes. + + The used by this + + . + + + + Gets or sets the timeout value, in seconds, for all object context operations. A null value indicates that the default value of the underlying provider will be used. + + An value that is the timeout value, in seconds. + + The timeout value is less than 0. + + + Gets the LINQ query provider associated with this object context. + + The instance used by this object context. + + + + + Gets the instance that contains options that affect the behavior of the + + . + + + The instance that contains options that affect the behavior of the + + . + + + + + Returns itself. ObjectContext implements to provide a common + interface for and ObjectContext both of which will return the underlying + ObjectContext. + + + + + Gets the transaction handler in use by this context. May be null if no transaction have been started. + + + The transaction handler. + + + + + Returns the being used for this context. + + + + Occurs when changes are saved to the data source. + + + Occurs when a new entity object is created from data in the data source as part of a query or load operation. + + + Accepts all changes made to objects in the object context. + + + Adds an object to the object context. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to add. + + The entity parameter is null or the entitySetName does not qualify. + + + Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option. + The entity for which related objects are to be loaded. + The name of the navigation property that returns the related objects to be loaded. + + The value to use when you load the related objects. + + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option. + The type of the entity. + The source object for which related objects are to be loaded. + A LINQ expression that defines the related objects to be loaded. + + The value to use when you load the related objects. + + selector does not supply a valid input parameter. + selector is null. + + The entity is in a , + + or state or the entity is attached to another instance of + + . + + + + Applies property changes from a detached object to an object already attached to the object context. + The name of the entity set to which the object belongs. + The detached object that has property updates to apply to the original object. + When entitySetName is null or an empty string or when changed is null. + + When the from entitySetName does not match the + + of the object + + or when the entity is in a state other than + + or + + or the original object is not attached to the context. + + When the type of the changed object is not the same type as the original object. + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + The entity type of the object. + entitySetName or current is null. + + The from entitySetName does not match the + + of the object + + or the object is not in the + + or it is in a + + state or the entity key of the supplied object is invalid. + + entitySetName is an empty string. + + + + Copies the scalar values from the supplied object into set of original values for the object in the + + that has the same key. + + The updated object. + The name of the entity set to which the object belongs. + + The detached object that has original values to apply to the object. The entity key of originalEntity must match the + + property of an entry in the + + . + + The type of the entity object. + entitySetName or original is null. + + The from entitySetName does not match the + + of the object + + or an + + for the object cannot be found in the + + or the object is in an + + or a + + state or the entity key of the supplied object is invalid or has property changes. + + entitySetName is an empty string. + + + Attaches an object or object graph to the object context in a specific entity set. + Represents the entity set name, which may optionally be qualified by the entity container name. + + The to attach. + + The entity is null. + + Invalid entity set or the object has a temporary key or the object has an + + and the + + does not match with the entity set passed in as an argument of the method or the object does not have an + + and no entity set is provided or any object from the object graph has a temporary + + or any object from the object graph has an invalid + + (for example, values in the key do not match values in the object) or the entity set could not be found from a given entitySetName name and entity container name or any object from the object graph already exists in another state manager. + + + + Attaches an object or object graph to the object context when the object has an entity key. + The object to attach. + The entity is null. + Invalid entity key. + + + Creates the entity key for a specific object, or returns the entity key if it already exists. + + The of the object. + + The fully qualified name of the entity set to which the entity object belongs. + The object for which the entity key is being retrieved. + When either parameter is null. + When entitySetName is empty or when the type of the entity object does not exist in the entity set or when the entitySetName is not fully qualified. + When the entity key cannot be constructed successfully based on the supplied parameters. + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified entity type. + + + The new instance. + + + Entity type of the requested . + + + The property is not set on the + + or the specified type belongs to more than one entity set. + + + + + Creates a new instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name. + + + The new instance. + + + Name of the entity set for the returned . The string must be qualified by the default container name if the + + property is not set on the + + . + + + Entity type of the requested . + + + The from entitySetName does not match the + + of the object + + or the + + property is not set on the + + and the name is not qualified as part of the entitySetName parameter or the specified type belongs to more than one entity set. + + + + + Creates an in the current object context by using the specified query string. + + + An of the specified type. + + The query string to be executed. + Parameters to pass to the query. + + The entity type of the returned . + + The queryString or parameters parameter is null. + + + Marks an object for deletion. + + An object that specifies the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + The entity is null. + + The entity is not associated with this (for example, was newly created and not associated with any context yet, or was obtained through some other context, or was already detached). + + + + + Finalizes an instance of the class. + + + + Releases the resources used by the object context. + + + + Releases the resources used by the object context. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns an object that has the specified entity key. + + An that is an instance of an entity type. + + The key of the object to be found. + The key parameter is null. + + The object is not found in either the or the data source. + + + + Updates a collection of objects in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Updates an object in the object context with data from the database. + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates a collection of objects in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + + An collection of objects to refresh. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + collection is null. + refreshMode is not valid. + collection is empty or an object is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Asynchronously updates an object in the object context with data from the database. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that indicates whether + property changes in the object context are overwritten with property values from the database. + + The object to be refreshed. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + entity is null. + refreshMode is not valid. + entity is not attached to the context. + + + Persists all updates to the database and resets change tracking in the object context. + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + This parameter is needed for client-side transaction support. If true, the change tracking on all objects is reset after + + finishes. If false, you must call the + method after . + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Persists all updates to the database and optionally resets change tracking in the object context. + + A value that determines the behavior of the operation. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + Asynchronously persists all updates to the database and optionally resets change tracking in the object context. + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A value that determines the behavior of the operation. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An optimistic concurrency violation has occurred while saving changes. + + + + Ensures that changes are synchronized with changes in all objects that are tracked by the + + . + + + + Returns an object that has the specified entity key. + true if the object was retrieved successfully. false if the key is temporary, the connection is null, or the value is null. + The key of the object to be found. + When this method returns, contains the object. + Incompatible metadata for key . + key is null. + + + + Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Returns a typed + + . + + + An for the data that is returned by the stored procedure. + + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + The to use when executing the query. + + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + The entity type of the returned when the function is executed against the data source. This type must implement + + . + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + + Executes the given function on the default container. + + Element type for function results. + + Name of function. May include container (e.g. ContainerName.FunctionName) or just function name when DefaultContainerName is known. + + The options for executing this function. + + The parameter values to use for the function. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + An object representing the result of executing this function. + If function is null or empty + + If function is invalid (syntax, + does not exist, refers to a function with return type incompatible with T) + + + + Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution. + The number of rows affected. + The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required. + + An array of objects. If output parameters are used, + their values will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + function is null or empty or function is not found. + The entity reader does not support this function or there is a type mismatch on the reader and the function . + + + Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration. + + An enumeration of objects that represent custom data classes that map to the conceptual model. + + + + Returns all the existing proxy types. + + An of all the existing proxy types. + + + + Returns the entity type of the POCO entity associated with a proxy object of a specified type. + + The of the associated POCO entity. + + + The of the proxy object. + + + + Creates and returns an instance of the requested type . + An instance of the requested type T , or an instance of a derived type that enables T to be used with the Entity Framework. The returned object is either an instance of the requested type or an instance of a derived type that enables the requested type to be used with the Entity Framework. + Type of object to be returned. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + The number of rows affected. + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Asynchronously executes an arbitrary command directly against the data source using the existing connection. + The command is specified using the server's native query language, such as SQL. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command specified in the server's native query language. + + A to observe while waiting for the task to complete. + + The parameter values to use for the query. + + A task that represents the asynchronous operation. + The task result contains the number of rows affected. + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior of + DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + + The to use when executing the query. The default is + . + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + An enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + Results are not tracked by the context, use the overload that specifies an entity set name to track results. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Asynchronously executes a query directly against the data source and returns a sequence of typed results. + The query is specified using the server's native query language, such as SQL. + If an entity set name is specified, results are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The element type of the result sequence. + The query specified in the server's native query language. + The entity set of the TResult type. If an entity set name is not provided, the results are not going to be tracked. + The options for executing this query. + + A to observe while waiting for the task to complete. + + + The parameter values to use for the query. If output parameters are used, their values will not be + available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A task that represents the asynchronous operation. + The task result contains an enumeration of objects of type . + + + + + Translates a that contains rows of entity data to objects of the requested entity type. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + When reader is null. + + + + Translates a that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option. + + The entity type. + An enumeration of objects of type TResult . + + The that contains entity data to translate into entity objects. + + The entity set of the TResult type. + + The to use when translated objects are added to the object context. The default is + + . + + When reader is null. + + When the supplied mergeOption is not a valid value. + + When the supplied entitySetName is not a valid entity set for the TResult type. + + + + Creates the database by using the current data source connection and the metadata in the + + . + + + + Deletes the database that is specified as the database in the current data source connection. + + + + Checks if the database that is specified as the database in the current store connection exists on the store. Most of the actual work + is done by the DbProviderServices implementation for the current store connection. + + true if the database exists; otherwise, false. + + + + Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the + + . The + + loads metadata from store schema definition language (SSDL) files. + + + A DDL script that creates schema objects for the metadata in the + + . + + + + + Defines options that affect the behavior of the ObjectContext. + + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + and are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + Gets or sets a Boolean value that determines whether related objects are loaded automatically when a navigation property is accessed. + true if lazy loading is enabled; otherwise, false. + + + Gets or sets a Boolean value that determines whether proxy instances are created for custom data classes that are persistence ignorant. + true if proxies are created; otherwise, false. The default value is true. + + + Gets or sets a Boolean value that determines whether to use the legacy PreserveChanges behavior. + true if the legacy PreserveChanges behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the consistent NullReference behavior. + + If this flag is set to false then setting the Value property of the for an + FK relationship to null when it is already null will have no effect. When this flag is set to true, then + setting the value to null will always cause the FK to be nulled and the relationship to be deleted + even if the value is currently null. The default value is false when using ObjectContext and true + when using DbContext. + + true if the consistent NullReference behavior should be used; otherwise, false. + + + Gets or sets a Boolean value that determines whether to use the C# NullComparison behavior. + + This flag determines whether C# behavior should be exhibited when comparing null values in LinqToEntities. + If this flag is set, then any equality comparison between two operands, both of which are potentially + nullable, will be rewritten to show C# null comparison semantics. As an example: + (operand1 = operand2) will be rewritten as + (((operand1 = operand2) AND NOT (operand1 IS NULL OR operand2 IS NULL)) || (operand1 IS NULL && operand2 IS NULL)) + The default value is false when using . + + true if the C# NullComparison behavior should be used; otherwise, false. + + + + EventArgs for the ObjectMaterialized event. + + + + + Constructs new arguments for the ObjectMaterialized event. + + The object that has been materialized. + + + Gets the entity object that was created. + The entity object that was created. + + + + Delegate for the ObjectMaterialized event. + + The ObjectContext responsable for materializing the object. + EventArgs containing a reference to the materialized object. + + + + This class represents a query parameter at the object layer, which consists + of a Name, a Type and a Value. + + + + + Initializes a new instance of the class with the specified name and type. + + The parameter name. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The common language runtime (CLR) type of the parameter. + If the value of either argument is null. + If the value of the name argument is invalid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + + Initializes a new instance of the class with the specified name and value. + + The parameter name. This name should not include the "@" parameter marker that is used in Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character. + The initial value (and inherently, the type) of the parameter. + If the value of either argument is null. + If the value of the name argument is not valid. Parameter names must start with a letter and can only contain letters, numbers, and underscores. + + + Gets the parameter name, which can only be set through a constructor. + The parameter name, which can only be set through a constructor. + + + Gets the parameter type. + + The of the parameter. + + + + Gets or sets the parameter value. + The parameter value. + + + + This class represents a collection of query parameters at the object layer. + + + + Gets the number of parameters currently in the collection. + + The number of objects that are currently in the collection. + + + + + This collection is read-write - parameters may be added, removed + and [somewhat] modified at will (value only) - provided that the + implementation the collection belongs to has not locked its parameters + because it's command definition has been prepared. + + + + Provides an indexer that allows callers to retrieve parameters by name. + + The instance. + + The name of the parameter to find. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + No parameter with the specified name is found in the collection. + + + + Adds the specified to the collection. + + The parameter to add to the collection. + The parameter argument is null. + + The parameter argument already exists in the collection. This behavior differs from that of most collections that allow duplicate entries. -or-Another parameter with the same name as the parameter argument already exists in the collection. Note that the lookup is case-insensitive. This behavior differs from that of most collections, and is more like that of a + + . + + The type of the parameter is not valid. + + + + Deletes all instances from the collection. + + + + + Checks for the existence of a specified in the collection by reference. + + Returns true if the parameter object was found in the collection; otherwise, false. + + The to find in the collection. + + The parameter argument is null. + + + + Determines whether an with the specified name is in the collection. + + Returns true if a parameter with the specified name was found in the collection; otherwise, false. + The name of the parameter to look for in the collection. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. + The name parameter is null. + + + Allows the parameters in the collection to be copied into a supplied array, starting with the object at the specified index. + The array into which to copy the parameters. + The index in the array at which to start copying the parameters. + + + + Removes an instance of an from the collection by reference if it exists in the collection. + + Returns true if the parameter object was found and removed from the collection; otherwise, false. + An object to remove from the collection. + The parameter argument is null. + + + + These methods return enumerator instances, which allow the collection to + be iterated through and traversed. + + An object that can be used to iterate through the collection. + + + Returns an untyped enumerator over the collection. + + An instance. + + + + + This class implements untyped queries at the object-layer. + + + + Returns the command text for the query. + A string value. + + + Gets the object context associated with this object query. + + The associated with this + + instance. + + + + Gets or sets how objects returned from a query are added to the object context. + + The query . + + + + + Whether the query is streaming or buffering + + + + Gets the parameter collection for this object query. + + The parameter collection for this . + + + + Gets or sets a value that indicates whether the query plan should be cached. + A value that indicates whether the query plan should be cached. + + + Returns the commands to execute against the data source. + A string that represents the commands that the query executes against the data source. + + + Returns information about the result type of the query. + + A value that contains information about the result type of the query. + + + + Executes the untyped object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the untyped object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Returns the collection as an used for data binding. + + + An of entity objects. + + + + + Gets the result element type for this query instance. + + + + + Gets the expression describing this query. For queries built using + LINQ builder patterns, returns a full LINQ expression tree; otherwise, + returns a constant expression wrapping this query. Note that the + default expression is not cached. This allows us to differentiate + between LINQ and Entity-SQL queries. + + + + + Gets the associated with this query instance. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + ObjectQuery implements strongly-typed queries at the object-layer. + Queries are specified using Entity-SQL strings and may be created by calling + the Entity-SQL-based query builder methods declared by ObjectQuery. + + The result type of this ObjectQuery + + + + Creates a new instance using the specified Entity SQL command as the initial query. + + The Entity SQL query. + + The on which to execute the query. + + + + + Creates a new instance using the specified Entity SQL command as the initial query and the specified merge option. + + The Entity SQL query. + + The on which to execute the query. + + + Specifies how the entities that are retrieved through this query should be merged with the entities that have been returned from previous queries against the same + + . + + + + Gets or sets the name of this object query. + + A string value that is the name of this . + + The value specified on set is not valid. + + + Executes the object query with the specified merge option. + + The to use when executing the query. + The default is . + + + An that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + + Asynchronously executes the object query with the specified merge option. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The to use when executing the query. + The default is . + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an + that contains a collection of entity objects returned by the query. + + + + Specifies the related objects to include in the query results. + + A new with the defined query path. + + Dot-separated list of related objects to return in the query results. + path is null. + path is empty. + + + Limits the query to unique results. + + A new instance that is equivalent to the original instance with SELECT DISTINCT applied. + + + + + This query-builder method creates a new query whose results are all of + the results of this query, except those that are also part of the other + query specified. + + A query representing the results to exclude. + a new ObjectQuery instance. + If the query parameter is null. + + + Groups the query results by the specified criteria. + + A new instance of type + + that is equivalent to the original instance with GROUP BY applied. + + The key columns by which to group the results. + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + The query parameter is null or an empty string + or the projection parameter is null or an empty string. + + + + This query-builder method creates a new query whose results are those that + are both in this query and the other query specified. + + A query representing the results to intersect with. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to only results of a specific type. + + A new instance that is equivalent to the original instance with OFTYPE applied. + + + The type of the returned when the query is executed with the applied filter. + + The type specified is not valid. + + + Orders the query results by the specified criteria. + + A new instance that is equivalent to the original instance with ORDER BY applied. + + The key columns by which to order the results. + Zero or more parameters that are used in this method. + The keys or parameters parameter is null. + The key is an empty string. + + + Limits the query results to only the properties that are defined in the specified projection. + + A new instance of type + + that is equivalent to the original instance with SELECT applied. + + The list of selected properties that defines the projection. + Zero or more parameters that are used in this method. + projection is null or parameters is null. + The projection is an empty string. + + + Limits the query results to only the property specified in the projection. + + A new instance of a type compatible with the specific projection. The returned + + is equivalent to the original instance with SELECT VALUE applied. + + The projection list. + An optional set of query parameters that should be in scope when parsing. + + The type of the returned by the + + method. + + projection is null or parameters is null. + The projection is an empty string. + + + Orders the query results by the specified criteria and skips a specified number of results. + + A new instance that is equivalent to the original instance with both ORDER BY and SKIP applied. + + The key columns by which to order the results. + The number of results to skip. This must be either a constant or a parameter reference. + An optional set of query parameters that should be in scope when parsing. + Any argument is null. + keys is an empty string or count is an empty string. + + + Limits the query results to a specified number of items. + + A new instance that is equivalent to the original instance with TOP applied. + + The number of items in the results as a string. + An optional set of query parameters that should be in scope when parsing. + count is null. + count is an empty string. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + without duplicates (i.e., results are unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + + This query-builder method creates a new query whose results are all of + the results of this query, plus all of the results of the other query, + including any duplicates (i.e., results are not necessarily unique). + + A query representing the results to add. + a new ObjectQuery instance. + If the query parameter is null. + + + Limits the query to results that match specified filtering criteria. + + A new instance that is equivalent to the original instance with WHERE applied. + + The filter predicate. + Zero or more parameters that are used in this method. + predicate is null or parameters is null. + The predicate is an empty string. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + Returns an which when enumerated will execute the given SQL query against the database. + + The query results. + + + + This class implements IEnumerable and IDisposable. Instance of this class + is returned from ObjectQuery.Execute method. + + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + IListSource.ContainsListCollection implementation. Always returns false. + + + + Returns the results in a format useful for data binding. + + An of entity objects. + + + + + When overridden in a derived class, gets the type of the generic + + . + + + The type of the generic . + + + + Performs tasks associated with freeing, releasing, or resetting resources. + + + Releases the resources used by the object result. + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + Gets the next result set of a stored procedure. + An ObjectResult that enumerates the values of the next result set. Null, if there are no more, or if the ObjectResult is not the result of a stored procedure call. + The type of the element. + + + + This class represents the result of the method. + + The type of the result. + + + + This constructor is intended only for use when creating test doubles that will override members + with mocked or faked behavior. Use of this constructor for other purposes may result in unexpected + behavior including but not limited to throwing . + + + + Returns an enumerator that iterates through the query results. + An enumerator that iterates through the query results. + + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + true to release managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the type of the . + + + A that is the type of the . + + + + + Represents a typed entity set that is used to perform create, read, update, and delete operations. + + The type of the entity. + + + + Gets the metadata of the entity set represented by this instance. + + + An object. + + + + Adds an object to the object context in the current entity set. + The object to add. + + + Attaches an object or object graph to the object context in the current entity set. + The object to attach. + + + Marks an object for deletion. + + An object that represents the entity to delete. The object can be in any state except + + . + + + + Removes the object from the object context. + + Object to be detached. Only the entity is removed; if there are any related objects that are being tracked by the same + + , those will not be detached automatically. + + + + + Copies the scalar values from the supplied object into the object in the + + that has the same key. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of currentEntity must match the + + property of an entry in the + + . + + + + + Sets the property of an + + to match the property values of a supplied object. + + The updated object. + + The detached object that has property updates to apply to the original object. The entity key of originalEntity must match the + + property of an entry in the + + . + + + + Creates a new entity type object. + The new entity type object, or an instance of a proxy type that corresponds to the entity type. + + + Creates an instance of the specified type. + An instance of the requested type T , or an instance of a proxy type that corresponds to the type T . + Type of object to be returned. + + + + Represents either a entity, entity stub or relationship + + + + + Gets the for the + + . + + + The for the + + . + + + + + Gets the for the object or relationship. + + + The for the object or relationship. + + + + + Gets the state of the . + + + The state of the . + + + + Gets the entity object. + The entity object. + + + Gets the entity key. + The entity key. + + + + Gets a value that indicates whether the represents a relationship. + + + true if the represents a relationship; otherwise, false. + + + + Gets the read-only version of original values of the object or relationship. + The read-only version of original values of the relationship set entry or entity. + + + + Gets the updatable version of original values of the object associated with this + + . + + The updatable original values of object data. + + + + Gets the current property values of the object or relationship associated with this + + . + + + A that contains the current values of the object or relationship associated with this + + . + + + + Accepts the current values as original values. + + + Marks an entity as deleted. + + + + Returns the names of an object’s properties that have changed since the last time + + was called. + + + An collection of names as string. + + + + Sets the state of the object or relationship to modify. + If State is not Modified or Unchanged + + + Marks the specified property as modified. + The name of the property. + If State is not Modified or Unchanged + + + Rejects any changes made to the property with the given name since the property was last loaded, attached, saved, or changes were accepted. The original value of the property is stored and the property will no longer be marked as modified. + The name of the property to change. + + + Uses DetectChanges to determine whether or not the current value of the property with the given name is different from its original value. Note that this may be different from the property being marked as modified since a property which has not changed can still be marked as modified. + + Note that this property always returns the same result as the modified state of the property for change tracking + proxies and entities that derive from the EntityObject base class. This is because original values are not tracked + for these entity types and hence there is no way to know if the current value is really different from the + original value. + + true if the property has changed; otherwise, false. + The name of the property. + + + + Gets the instance for the object represented by entry. + + + The object. + + The entry is a stub or represents a relationship + + + + Changes state of the entry to the specified value. + + + The value to set for the + + property of the entry. + + + + Sets the current values of the entry to match the property values of a supplied object. + The detached object that has updated values to apply to the object. currentEntity can also be the object’s entity key. + + + Sets the original values of the entry to match the property values of a supplied object. + The detached object that has original values to apply to the object. originalEntity can also be the object’s entity key. + + + + Used to report that a scalar entity property is about to change + The current value of the specified property is cached when this method is called. + + The name of the entity property that is changing + + + + Used to report that a scalar entity property has been changed + The property value that was cached during EntityMemberChanging is now + added to OriginalValues + + The name of the entity property that has changing + + + + Used to report that a complex property is about to change + The current value of the specified property is cached when this method is called. + + The name of the top-level entity property that is changing + The complex object that contains the property that is changing + The name of the property that is changing on complexObject + + + + Used to report that a complex property has been changed + The property value that was cached during EntityMemberChanging is now added to OriginalValues + + The name of the top-level entity property that has changed + The complex object that contains the property that changed + The name of the property that changed on complexObject + + + + Returns the EntityState from the ObjectStateEntry + + + + + Maintains object state and identity management for entity type instances and relationship instances. + + + + + Initializes a new instance of the class. + + + The , which supplies mapping and metadata information. + + + + + Gets the associated with this state manager. + + + The associated with this + + . + + + + Occurs when entities are added to or removed from the state manager. + + + + Returns a collection of objects for objects or relationships with the given state. + + + A collection of objects in the given + + . + + + An used to filter the returned + + objects. + + + When state is . + + + + + Changes state of the for a specific object to the specified entityState . + + + The for the supplied entity . + + The object for which the state must be changed. + The new state of the object. + When entity is null. + + When the object is not detached and does not have an entry in the state manager + or when you try to change the state to + from any other + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the name of the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + When source or target is null. + + When trying to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and a LINQ expression that defines the navigation property. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + A LINQ expression that selects the navigation property on source that returns the specified target . + + The requested of the specified relationship. + + The entity type of the source object. + When source , target , or selector is null. + selector is malformed or cannot return a navigation property. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a + state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an state + or when state is not a valid value. + + + + Changes the state of the relationship between two entity objects that is specified based on the two related objects and the properties of the relationship. + + The for the relationship that was changed. + + + The object instance or of the source entity at one end of the relationship. + + + The object instance or of the target entity at the other end of the relationship. + + The name of the relationship. + The role name at the target end of the relationship. + + The requested of the specified relationship. + + When source or target is null. + + When you try to change the state of the relationship to a state other than + or + when either source or target is in a state + or when you try to change the state of the relationship to a state other than + or + when either source or target is in an + state + or when state is not a valid value. + + + + + Returns an for the object or relationship entry with the specified key. + + + The corresponding for the given + + . + + + The . + + When key is null. + When the specified key cannot be found in the state manager. + + No entity with the specified exists in the + + . + + + + + Returns an for the specified object. + + + The corresponding for the given + + . + + + The to which the retrieved + + belongs. + + + No entity for the specified exists in the + + . + + + + + Tries to retrieve the corresponding for the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given object; otherwise, false. + + + The to which the retrieved + + belongs. + + + When this method returns, contains the for the given + + This parameter is passed uninitialized. + + + + + Tries to retrieve the corresponding for the object or relationship with the specified + + . + + + A Boolean value that is true if there is a corresponding + + for the given + + ; otherwise, false. + + + The given . + + + When this method returns, contains an for the given + + This parameter is passed uninitialized. + + A null (Nothing in Visual Basic) value is provided for key . + + + + Returns the that is used by the specified object. + + + The for the specified object. + + + The object for which to return the . + + + The entity does not implement IEntityWithRelationships and is not tracked by this ObjectStateManager + + + + + Returns the that is used by the specified object. + + + true if a instance was returned for the supplied entity ; otherwise false. + + + The object for which to return the . + + + When this method returns, contains the + + for the entity . + + + + + The original values of the properties of an entity when it was retrieved from the database. + + + + + A DataContractResolver that knows how to resolve proxy types created for persistent + ignorant classes to their base types. This is used with the DataContractSerializer. + + + + During deserialization, maps any xsi:type information to the actual type of the persistence-ignorant object. + Returns the type that the xsi:type is mapped to. Returns null if no known type was found that matches the xsi:type. + The xsi:type information to map. + The namespace of the xsi:type. + The declared type. + + An instance of . + + + + During serialization, maps actual types to xsi:type information. + true if the type was resolved; otherwise, false. + The actual type of the persistence-ignorant object. + The declared type. + + An instance of . + + When this method returns, contains a list of xsi:type declarations. + When this method returns, contains a list of namespaces used. + + + + Defines the different ways to handle modified properties when refreshing in-memory data from the database. + + + + + For unmodified client objects, same behavior as StoreWins. For modified client + objects, Refresh original values with store value, keeping all values on client + object. The next time an update happens, all the client change units will be + considered modified and require updating. + + + + + Discard all changes on the client and refresh values with store values. + Client original values is updated to match the store. + + + + + Flags used to modify behavior of ObjectContext.SaveChanges() + + + + + Changes are saved without the DetectChanges or the AcceptAllChangesAfterSave methods being called. + + + + + After changes are saved, the AcceptAllChangesAfterSave method is called, which resets change tracking in the ObjectStateManager. + + + + + Before changes are saved, the DetectChanges method is called to synchronize the property values of objects that are attached to the object context with data in the ObjectStateManager. + + + + + This exception is thrown when a update operation violates the concurrency constraint. + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message and a reference to the inner exception. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The enumerable collection of objects. + + + + + Property constraint exception class. Note that this class has state - so if you change even + its internals, it can be a breaking change + + + + + Initializes a new instance of the class with default message. + + + + + Initializes a new instance of the class with supplied message. + + A localized error message. + + + + Initializes a new instance of the class with supplied message and inner exception. + + A localized error message. + The inner exception. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + + + + Initializes a new instance of the class. + + A localized error message. + The name of the property. + The inner exception. + + + Gets the name of the property that violated the constraint. + The name of the property that violated the constraint. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + This exception is thrown when the store provider exhibits a behavior incompatible with the entity client provider + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of that uses a specified error message. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Used for conversion between different representations of bit array. + Returns (n+(div-1))/div, rearranged to avoid arithmetic overflow. + For example, in the bit to int case, the straightforward calc would + be (n+31)/32, but that would cause overflow. So instead it's + rearranged to ((n-1)/32) + 1, with special casing for 0. + + Usage: + GetArrayLength(77, BitsPerInt32): returns how many ints must be + allocated to store 77 bits. + + length of array + use a conversion constant, e.g. BytesPerInt32 to get + how many ints are required to store n bytes + length of the array + + + + Is this tree uses user-defined functions + Simplifying query with UDFs could caused to suboptimal plans + + Current subtree to process + Mapped variables + + + + + Exception during save changes to store + + + + + Initializes a new instance of . + + + + + Initializes a new instance of with a specialized error message. + + The message that describes the error. + + + + Initializes a new instance of the class that uses a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class that uses a specified error message, a reference to the inner exception, and an enumerable collection of + + objects. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + The collection of objects. + + + + + Gets the objects for this + + . + + + A collection of objects comprised of either a single entity and 0 or more relationships, or 0 entities and 1 or more relationships. + + + + + Initializes a new instance of with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instance of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Gets the transaction the underlying store connection is enlisted in. May be null. + + + + + Enables the user to pass in a database transaction created outside of the object + if you want the Entity Framework to execute commands within that external transaction. + Alternatively, pass in null to clear the framework's knowledge of that transaction. + + the external transaction + Thrown if the transaction is already completed + + Thrown if the connection associated with the object is already enlisted in a + + transaction + + + Thrown if the connection associated with the object is already participating in a transaction + + Thrown if the connection associated with the transaction does not match the Entity Framework's connection + + + + Begins a transaction on the underlying store connection + + + a object wrapping access to the underlying store's transaction object + + + + + Begins a transaction on the underlying store connection using the specified isolation level + + The database isolation level with which the underlying store transaction will be created + + a object wrapping access to the underlying store's transaction object + + + + + Returns the connection being used by this context. This may cause the + connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Sets the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Runs the registered on this context. + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + + If set to true the initializer is run even if it has already been run. + + + + + Checks whether or not the database is compatible with the current Code First model. + + + Model compatibility currently uses the following rules. + If the context was created using either the Model First or Database First approach then the + model is assumed to be compatible with the database and this method returns true. + For Code First the model is considered compatible if the model is stored in the database + in the Migrations history table and that model has no differences from the current model as + determined by Migrations model differ. + If the model is not stored in the database but an EF 4.1/4.2 model hash is found instead, + then this is used to check for compatibility. + + + If set to true then an exception will be thrown if no model metadata is found in the database. If set to false then this method will return true if metadata is not found. + + True if the model hash in the context and the database match; false otherwise. + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + Calling this method from outside of an initializer will mark the database as having + not been initialized. This means that if an attempt is made to use the database again + after it has been deleted, then any initializer set will run again and, usually, will + try to create the database again automatically. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + By default, the instance to use is read from the application's .config + file from the "EntityFramework DefaultConnectionFactory" entry in appSettings. If no entry is found in + the config file then is used. Setting this property in code + always overrides whatever value is found in the config file. + + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.SqlQuery(typeof(Post), "SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The type of object returned by the query. + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + If there isn't an existing local or ambient transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + If there isn't an existing local transaction a new transaction will be used + to execute the command. + + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + Asynchronously executes the given DDL/DML command against the database. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + Controls the creation of a transaction for this command. + The command string. + + A to observe while waiting for the task to complete. + + The parameters to apply to the command string. + + A task that represents the asynchronous operation. + The task result contains the result returned by the database after executing the command. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the timeout value, in seconds, for all context operations. + The default value is null, where null indicates that the default value of the underlying + provider will be used. + + + The timeout, in seconds, or null to use the provider default. + + + + + Set this property to log the SQL generated by the to the given + delegate. For example, to log to the console, set this property to . + + + The format of the log text can be changed by creating a new formatter that derives from + and setting it with . + For more low-level control over logging/interception see and + . + + + + + A class derived from this class can be placed in the same assembly as a class derived from + to define Entity Framework configuration for an application. + Configuration is set by calling protected methods and setting protected properties of this + class in the constructor of your derived type. + The type to use can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Any class derived from must have a public parameterless constructor + and that constructor should call this constructor. + + + + + The Singleton instance of for this app domain. This can be + set at application start before any Entity Framework features have been used and afterwards + should be treated as read-only. + + The instance of . + + + + Attempts to discover and load the associated with the given + type. This method is intended to be used by tooling to ensure that + the correct configuration is loaded into the app domain. Tooling should use this method + before accessing the property. + + A type to use for configuration discovery. + + + + Attempts to discover and load the from the given assembly. + This method is intended to be used by tooling to ensure that the correct configuration is loaded into + the app domain. Tooling should use this method before accessing the + property. If the tooling knows the type being used, then the + method should be used since it gives a greater chance that + the correct configuration will be found. + + An to use for configuration discovery. + + + + Occurs during EF initialization after the DbConfiguration has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that this event should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The exceptions to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here. + + The resolver to add. + + + + Call this method from the constructor of a class derived from to + add a instance to the Chain of Responsibility of resolvers that + are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + + A implementation is automatically registered as a default resolver + when it is added with a call to . This allows EF providers to act as + resolvers for other services that may need to be overridden by the provider. + + The resolver to add. + + + + Gets the that is being used to resolve service + dependencies in the Entity Framework. + + + + + Call this method from the constructor of a class derived from to register + an Entity Framework provider. + + + Note that the provider is both registered as a service itself and also registered as a default resolver with + a call to AddDefaultResolver. This allows EF providers to act as resolvers for other services that + may need to be overridden by the provider. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register + an ADO.NET provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolvers for + and . This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The provider instance. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + A function that returns a new instance of an execution strategy. + + + + Call this method from the constructor of a class derived from to register an + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A function that returns a new instance of an execution strategy. + A string that will be matched against the server name in the connection string. + + + + Call this method from the constructor of a class derived from to register a + . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name and + for a given server name. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this transaction handler will be used. + + A function that returns a new instance of a transaction handler. + A string that will be matched against the server name in the connection string. + + + + Sets the that is used to create connections by convention if no other + connection string or connection is given to or can be discovered by . + Note that a default connection factory is set in the app.config or web.config file whenever the + EntityFramework NuGet package is installed. As for all config file settings, the default connection factory + set in the config file will take precedence over any setting made with this method. Therefore the setting + must be removed from the config file before calling this method will have any effect. + Call this method from the constructor of a class derived from to change + the default connection factory being used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The connection factory. + + + + Call this method from the constructor of a class derived from to + set the pluralization service. + + The pluralization service to use. + + + + Call this method from the constructor of a class derived from to + set the database initializer to use for the given context type. The database initializer is called when a + the given type is used to access a database for the first time. + The default strategy for Code First contexts is an instance of . + + + Calling this method is equivalent to calling . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The type of the context. + The initializer to use, or null to disable initialization for the given context type. + + + + Call this method from the constructor of a class derived from to register a + for use with the provider represented by the given invariant name. + + + This method is typically used by providers to register an associated SQL generator for Code First Migrations. + It is different from setting the generator in the because it allows + EF to use the Migrations pipeline to create a database even when there is no Migrations configuration in the project + and/or Migrations are not being explicitly used. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + A delegate that returns a new instance of the SQL generator each time it is called. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows provider manifest tokens to + be obtained from connections without necessarily opening the connection. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The manifest token resolver. + + + + Call this method from the constructor of a class derived from to set + a factory for implementations of which allows custom annotations + represented by instances to be serialized to and from the EDMX XML. + + + Note that an is not needed if the annotation uses a simple string value. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The name of custom annotation that will be handled by this serializer. + A delegate that will be used to create serializer instances. + + + + Call this method from the constructor of a class derived from to set + an implementation of which allows a + to be obtained from a in cases where the default implementation is not + sufficient. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The provider factory service. + + + + Call this method from the constructor of a class derived from to set + a as the model cache key factory which allows the key + used to cache the model behind a to be changed. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can + be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The key factory. + + + + Call this method from the constructor of a class derived from to set + a delegate which can be used for + creation of the default for a any + . This default factory will only be used if no factory is + set explicitly in the and if no factory has been registered + for the provider in use using the + + method. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + a delegate which allows for creation of a customized + for the given provider for any + that does not have an explicit factory set. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality + can be achieved using a custom resolver or a resolver backed by an Inversion-of-Control container. + + The invariant name of the ADO.NET provider for which this generator should be used. + + A factory for creating instances for a given and + representing the default schema. + + + + + Call this method from the constructor of a class derived from to set + the global instance of which will be used whenever a spatial provider is + required and a provider-specific spatial provider cannot be found. Normally, a provider-specific spatial provider + is obtained from the a implementation which is in turn returned by resolving + a service for passing the provider invariant name as a key. However, this + cannot work for stand-alone instances of and since + it is impossible to know the spatial provider to use. Therefore, when creating stand-alone instances + of and the global spatial provider is always used. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider and provider + manifest token. + + + Use + to register spatial services for use only when a specific manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + + The indicating the type of ADO.NET connection for which this spatial provider will be used. + + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + an implementation of to use for a specific provider with any + manifest token. + + + Use + to register spatial services for use when any manifest token is returned by the provider. + Use to register global + spatial services to be used when provider information is not available or no provider-specific + spatial services are found. + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this spatial provider will be used. + The spatial provider. + + + + Call this method from the constructor of a class derived from to set + a factory for the type of to use with . + + + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + instance onto before any commands will be logged. + For more low-level control over logging/interception see and + . + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + A delegate that will create formatter instances. + + + + Call this method from the constructor of a class derived from to + register an at application startup. Note that interceptors can also + be added and removed at any time using . + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + . This means that, if desired, the same functionality can be achieved using + a custom resolver or a resolver backed by an Inversion-of-Control container. + + The interceptor to register. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Call this method from the constructor of a class derived from to set + a factory to allow to create instances of a context that does not have a public, + parameterless constructor. + + + This is typically needed to allow design-time tools like Migrations or scaffolding code to use contexts that + do not have public, parameterless constructors. + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + with the context as the key. This means that, if desired, + the same functionality can be achieved using a custom resolver or a resolver backed by an + Inversion-of-Control container. + + The context type for which the factory should be used. + The delegate to use to create context instances. + + + + Sets a singleton model store implementation (persisted model cache). + + The model store implementation. + + + + Call this method from the constructor of a class derived from to register + a database table existence checker for a given provider. + + + This method is provided as a convenient and discoverable way to add configuration to the Entity Framework. + Internally it works in the same way as using AddDependencyResolver to add an appropriate resolver for + and also using AddDefaultResolver to add the provider as a default + resolver. This means that, if desired, the same functionality can be achieved using a custom resolver or a + resolver backed by an Inversion-of-Control container. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this provider will be used. + The table existence checker to use. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + This attribute can be placed on a subclass of to indicate that the subclass of + representing the code-based configuration for the application is in a different + assembly than the context type. + + + Normally a subclass of should be placed in the same assembly as + the subclass of used by the application. It will then be discovered automatically. + However, if this is not possible or if the application contains multiple context types in different + assemblies, then this attribute can be used to direct DbConfiguration discovery to the appropriate type. + An alternative to using this attribute is to specify the DbConfiguration type to use in the application's + config file. See http://go.microsoft.com/fwlink/?LinkId=260883 for more information. + + + + + Indicates that the given subclass of should be used for code-based configuration + for this application. + + + The type to use. + + + + + Indicates that the subclass of represented by the given assembly-qualified + name should be used for code-based configuration for this application. + + + The type to use. + + + + + Gets the subclass of that should be used for code-based configuration + for this application. + + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to (localdb)\MSSQLLocalDB unless a different DefaultConnectionFactory is registered.) + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed if + is false. + + An existing connection to use for the new context. + The model that will back this context. + + If set to true the connection is disposed when the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + + An existing ObjectContext to wrap with the new context. + + If set to true the ObjectContext is disposed when the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuilder, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns a instance for access to entities of the given type in the context + and the underlying store. + + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the non-generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic instance for access to entities of the given type in the context + and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + Note that Entity Framework requires that this method return the same instance each time that it is called + for a given context instance and entity type. Also, the generic returned by the + method must wrap the same underlying query and set of entities. These invariants must + be maintained if this method is overridden for anything other than creating test doubles for unit testing. + See the class for more details. + + + + + Saves all changes made in this context to the underlying database. + + + The number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + An error occurred sending updates to the database. + + A database command did not affect the expected number of rows. This usually indicates an optimistic + concurrency violation; that is, a row has been changed in the database since it was queried. + + + The save was aborted because validation of entity property values failed. + + + An attempt was made to use unsupported behavior such as executing multiple asynchronous commands concurrently + on the same context instance. + The context or connection have been disposed. + + Some error occurred attempting to process entities in the context either before or after sending commands + to the database. + + + + + Asynchronously saves all changes made in this context to the underlying database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous save operation. + The task result contains the number of state entries written to the underlying database. This can include + state entries for entities and/or relationships. Relationship state entries are created for + many-to-many relationships and relationships where there is no foreign key property + included in the entity class (often referred to as independent associations). + + Thrown if the context has been disposed. + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + Collection of validation results for invalid entities. The collection is never null and must not contain null values or results for valid entities. + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation; false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + + User-defined dictionary containing additional info for custom validation. It will be passed to + + and will be exposed as + + . This parameter is optional and can be null. + + Entity validation result. Possibly null when overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Wraps access to the transaction object on the underlying store connection and ensures that the + Entity Framework executes commands on the database within the context of that transaction. + An instance of this class is retrieved by calling BeginTransaction() on the + + object. + + + + + Gets the database (store) transaction that is underlying this context transaction. + + + + + Commits the underlying store transaction + + + + + Rolls back the underlying store transaction + + + + + Cleans up this transaction object and ensures the Entity Framework + is no longer using that transaction. + + + + + Releases the resources used by this transaction object + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + + + + + + + + + + + + + Indicates that the given method is a proxy for an EDM function. + + + Note that this class was called EdmFunctionAttribute in some previous versions of Entity Framework. + + + + + Initializes a new instance of the class. + + The namespace of the mapped-to function. + The name of the mapped-to function. + + + The namespace of the mapped-to function. + The namespace of the mapped-to function. + + + The name of the mapped-to function. + The name of the mapped-to function. + + + + Provides common language runtime (CLR) methods that expose EDM canonical functions + for use in or LINQ to Entities queries. + + + Note that this class was called EntityFunctions in some previous versions of Entity Framework. + + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDev EDM function to calculate + the standard deviation of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical StDevP EDM function to calculate + the standard deviation for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The standard deviation for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Var EDM function to calculate + the variance of the collection. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical VarP EDM function to calculate + the variance for the population. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The collection over which to perform the calculation. + The variance for the population. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Left EDM function to return a given + number of the leftmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the left of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Right EDM function to return a given + number of the rightmost characters in a string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The number of characters to return + A string containing the number of characters asked for from the right of the input string. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Reverse EDM function to return a given + string with the order of the characters reversed. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input string. + The input string with the order of the characters reversed. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical GetTotalOffsetMinutes EDM function to + return the number of minutes that the given date/time is offset from UTC. This is generally between +780 + and -780 (+ or - 13 hrs). + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The offset of the input from UTC. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical TruncateTime EDM function to return + the given date with the time portion cleared. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The date/time value to use. + The input date with the time portion cleared. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateDateTimeOffset EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The year. + The month (1-based). + The day (1-based). + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The time zone offset part of the new date. + The new date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical CreateTime EDM function to + create a new object. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The hours. + The minutes. + The seconds, including fractional parts of the seconds if desired. + The new time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddYears EDM function to + add the given number of years to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of years to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMonths EDM function to + add the given number of months to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of months to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddDays EDM function to + add the given number of days to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of days to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddHours EDM function to + add the given number of hours to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of hours to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMinutes EDM function to + add the given number of minutes to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of minutes to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddSeconds EDM function to + add the given number of seconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of seconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMilliseconds EDM function to + add the given number of milliseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of milliseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddMicroseconds EDM function to + add the given number of microseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of microseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a date/time. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting date/time. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical AddNanoseconds EDM function to + add the given number of nanoseconds to a time span. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The input date/time. + The number of nanoseconds to add. + A resulting time span. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffYears EDM function to + calculate the number of years between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of years between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMonths EDM function to + calculate the number of months between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of months between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffDays EDM function to + calculate the number of days between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of days between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of hours between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffHours EDM function to + calculate the number of hours between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of hours between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of minutes between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMinutes EDM function to + calculate the number of minutes between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of minutes between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of seconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffSeconds EDM function to + calculate the number of seconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of seconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of milliseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMilliseconds EDM function to + calculate the number of milliseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of milliseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of microseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffMicroseconds EDM function to + calculate the number of microseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of microseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two date/times. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first date/time. + The second date/time. + The number of nanoseconds between the first and second date/times. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical DiffNanoseconds EDM function to + calculate the number of nanoseconds between two time spans. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The first time span. + The second time span. + The number of nanoseconds between the first and second time spans. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Truncate EDM function to + truncate the given value to the number of specified digits. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The value to truncate. + The number of digits to preserve. + The truncated value. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method invokes the canonical Like EDM operator to match an expression. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function is translated to a corresponding function in the database. + + The string to search. + The expression to match against. + The string to escape special characters with, must only be a single character. + True if the searched string matches the expression; otherwise false. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a Unicode string. + + + + When used as part of a LINQ to Entities query, this method acts as an operator that ensures the input + is treated as a non-Unicode string. + + + You cannot call this function directly. This function can only appear within a LINQ to Entities query. + This function impacts the way the LINQ query is translated to a query that can be run in the database. + + The input string. + The input string treated as a non-Unicode string. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding + DbContext.OnModelCreating(DbModelBuilder) + . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Configures the default database schema name. This default database schema name is used + for database objects that do not have an explicitly configured schema name. + + The name of the default database schema. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes the specified type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers an entity type as part of the model. + + The type to be registered. + + This method is provided as a convenience to allow entity types to be registered dynamically + without the need to use MakeGenericMethod in order to call the normal generic Entity method. + This method does not allow further configuration of the entity type using the fluent APIs since + these APIs make extensive use of generic type parameters. + + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all entities and complex types + in the model that inherit from or implement the type specified by the generic argument. + This method does not register types as part of the model. + + The type of the entities or complex types that this convention will apply to. + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also known as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + when targeting .Net Framework 4 should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v5.0 + should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v6.0 + should be used. + + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also known as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + + The conventions version to use. + + + + + Gets the conventions version. + + + The conventions version. + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values + will not be available until the results have been read completely. This is due to the underlying + behavior of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for DbSets. Methods and properties that will be used by the + test double must be implemented by the test double except AsNoTracking, AsStreaming, an Include where + the default implementation is a no-op. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Asynchronously finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The values of the primary key for the entity to be found. + A task that represents the asynchronous find operation. The task result contains the entity found, or null. + + + + + + + + + + + + + Adds the given collection of entities into context underlying the set with each entity being put into + the Added state such that it will be inserted into the database when SaveChanges is called. + + The collection of entities to add. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before adding any entities and will not be called + again. This means that in some situations AddRange may perform significantly better than calling + Add multiple times would do. + Note that entities that are already in the context in some other state will have their state set to + Added. AddRange is a no-op for entities that are already in the context in the Added state. + + + + + + + + Removes the given collection of entities from the context underlying the set with each entity being put into + the Deleted state such that it will be deleted from the database when SaveChanges is called. + + The collection of entities to delete. + + The collection of entities. + + + Note that if is set to true (which is + the default), then DetectChanges will be called once before delete any entities and will not be called + again. This means that in some situations RemoveRange may perform significantly better than calling + Remove multiple times would do. + Note that if any entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + + + + + + + Returns the equivalent non-generic object. + + The generic set object. + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + As with any API that accepts SQL it is important to parameterize any user input to protect against a SQL injection attack. You can include parameter place holders in the SQL query string and then supply parameter values as additional arguments. Any parameter values you supply will automatically be converted to a DbParameter. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); + Alternatively, you can also construct a DbParameter and supply it to SqlQuery. This allows you to use named parameters in the SQL query string. + context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); + + The SQL query string. + + The parameters to apply to the SQL query string. If output parameters are used, their values will + not be available until the results have been read completely. This is due to the underlying behavior + of DbDataReader, see http://go.microsoft.com/fwlink/?LinkID=398589 for more details. + + + A object that will execute the query when it is enumerated. + + + + + + + + + + + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. + + The type of the context. + + Whether or not the model has changed is determined by the + method. + To seed the database create a derived class and override the Seed method. + + + + Initializes a new instance of the class. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + is + null + . + + + + + A method that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + Describes the state of an entity. + + + + + The entity is not being tracked by the context. + An entity is in this state immediately after it has been created with the new operator + or with one of the Create methods. + + + + + The entity is being tracked by the context and exists in the database, and its property + values have not changed from the values in the database. + + + + + The entity is being tracked by the context but does not yet exist in the database. + + + + + The entity is being tracked by the context and exists in the database, but has been marked + for deletion from the database the next time SaveChanges is called. + + + + + The entity is being tracked by the context and exists in the database, and some or all of its + property values have been modified. + + + + + A provider-independent service API for HierarchyId type support. + + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Represents hierarchical data. + + + + + The Path separator character + + + + + Constructs an HierarchyId. + + + + + Constructs an HierarchyId with the given canonical string representation value. + + Hierarchyid value. + Canonical string representation + + + + Returns a hierarchyid representing the nth ancestor of this. + + A hierarchyid representing the nth ancestor of this. + n + + + + Returns a child node of the parent. + + null or the hierarchyid of a child of the current node. + null or the hierarchyid of a child of the current node. + + Returns one child node that is a descendant of the parent. + If parent is null, returns null. + If parent is not null, and both child1 and child2 are null, returns a child of parent. + If parent and child1 are not null, and child2 is null, returns a child of parent greater than child1. + If parent and child2 are not null and child1 is null, returns a child of parent less than child2. + If parent, child1, and child2 are not null, returns a child of parent greater than child1 and less than child2. + If child1 is not null and not a child of parent, an exception is raised. + If child2 is not null and not a child of parent, an exception is raised. + If child1 >= child2, an exception is raised. + + + + + Returns an integer that represents the depth of the node this in the tree. + + An integer that represents the depth of the node this in the tree. + + + + Returns the root of the hierarchy tree. + + The root of the hierarchy tree. + + + + Returns true if this is a descendant of parent. + + True if this is a descendant of parent. + parent + + + + Returns a node whose path from the root is the path to newRoot, followed by the path from oldRoot to this. + + Hierarchyid value. + oldRoot + newRoot + + + + Converts the canonical string representation of a hierarchyid to a hierarchyid value. + + Hierarchyid value. + input + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + A 32-bit signed integer that indicates the lexical relationship between the two comparands. + Value Condition Less than zero: hid1 is less than hid2. + Zero: hid1 equals hid2. + Greater than zero: hid1 is greater than hid2. + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is less or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + + true if the first parameter is greater or equal than the second parameter, false otherwise + + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are equal, false otherwise + + + + Compares two HierarchyIds by their values. + + a HierarchyId to compare + a HierarchyId to compare + true if the two HierarchyIds are not equal, false otherwise + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a value-based hash code, to allow HierarchyId to be used in hash tables. + + the hash value of this HierarchyId + + + + Compares this instance to a given HierarchyId by their values. + + the HierarchyId to compare against this instance + true if this instance is equal to the given HierarchyId, and false otherwise + + + + Returns a string representation of the hierarchyid value. + + A string representation of the hierarchyid value. + + + + Implementation of IComparable.CompareTo() + + The object to compare to + 0 if the HierarchyIds are "equal" (i.e., have the same _hierarchyId value) + + + + An implementation of this interface is used to initialize the underlying database when + an instance of a derived class is used for the first time. + This initialization can conditionally create the database and/or seed it with data. + The strategy used is set using the static InitializationStrategy property of the + class. + The following implementations are provided: , + , . + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + An represents the collection of all entities in the context, or that + can be queried from the database, of a given type. is a concrete + implementation of IDbSet. + + + was originally intended to allow creation of test doubles (mocks or + fakes) for . However, this approach has issues in that adding new members + to an interface breaks existing code that already implements the interface without the new members. + Therefore, starting with EF6, no new members will be added to this interface and it is recommended + that be used as the base class for test doubles. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Inherit from this class to create a service that allows for code generation of custom annotations as part of + scaffolding Migrations. The derived class should be set onto the . + + + Note that an is not needed if the annotation uses a simple string value, + or if calling ToString on the annotation object is sufficient for use in the scaffolded Migration. + + + + + Override this method to return additional namespaces that should be included in the code generated for the + scaffolded migration. The default implementation returns an empty enumeration. + + The names of the annotations that are being included in the generated code. + A list of additional namespaces to include. + + + + Implement this method to generate code for the given annotation value. + + The name of the annotation for which a value is being generated. + The annotation value. + The writer to which generated code should be written. + + + + Represents a pair of annotation values in a scaffolded or hand-coded . + + + Code First allows for custom annotations to be associated with columns and tables in the + generated model. This class represents a pair of annotation values in a migration such + that when the Code First model changes the old annotation value and the new annotation + value can be provided to the migration and used in SQL generation. + + + + + Creates a new pair of annotation values. + + The old value of the annotation, which may be null if the annotation has just been created. + The new value of the annotation, which may be null if the annotation has been deleted. + + + + Gets the old value of the annotation, which may be null if the annotation has just been created. + + + + + Gets the new value of the annotation, which may be null if the annotation has been deleted. + + + + + + + + + + + Returns true if both annotation pairs contain the same values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if both pairs contain the same values. + + + + Returns true if the two annotation pairs contain different values, otherwise false. + + A pair of annotation values. + A pair of annotation values. + True if the pairs contain different values. + + + + Returned by and related methods to indicate whether or + not one object does not conflict with another such that the two can be combined into one. + + + If the two objects are not compatible then information about why they are not compatible is contained + in the property. + + + + + Creates a new instance. + + Indicates whether or not the two tested objects are compatible. + + An error message indicating how the objects are not compatible. Expected to be null if isCompatible is true. + + + + + True if the two tested objects are compatible; otherwise false. + + + + + If is true, then returns an error message indicating how the two tested objects + are incompatible. + + + + + Implicit conversion to a bool to allow the result object to be used directly in checks. + + The object to convert. + True if the result is compatible; false otherwise. + + + + Types used as custom annotations can implement this interface to indicate that an attempt to use + multiple annotations with the same name on a given table or column may be possible by merging + the multiple annotations into one. + + + Normally there can only be one custom annotation with a given name on a given table or + column. If a table or column ends up with multiple annotations, for example, because + multiple CLR properties map to the same column, then an exception will be thrown. + However, if the annotation type implements this interface, then the two annotations will be + checked for compatibility using the method and, if compatible, + will be merged into one using the method. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new merged annotation. This method is + only expected to succeed if returns true. + + The annotation to merge with this one. + A new merged annotation. + + + + Instances of this class are used as custom annotations for representing database indexes in an + Entity Framework model. + + + An index annotation is added to a Code First model when an is placed on + a mapped property of that model. This is used by Entity Framework Migrations to create indexes on + mapped database columns. Note that multiple index attributes on a property will be merged into a + single annotation for the column. Similarly, index attributes on multiple properties that map to the + same column will be merged into a single annotation for the column. This means that one index + annotation can represent multiple indexes. Within an annotation there can be only one index with any + given name. + + + + + The name used when this annotation is stored in Entity Framework metadata or serialized into + an SSDL/EDMX file. + + + + + Creates a new annotation for the given index. + + An index attributes representing an index. + + + + Creates a new annotation for the given collection of indexes. + + Index attributes representing one or more indexes. + + + + Gets the indexes represented by this annotation. + + + + + Returns true if this annotation does not conflict with the given annotation such that + the two can be combined together using the method. + + + Each index annotation contains at most one with a given name. + Two annotations are considered compatible if each IndexAttribute with a given name is only + contained in one annotation or the other, or if both annotations contain an IndexAttribute + with the given name. + + The annotation to compare. + A CompatibilityResult indicating whether or not this annotation is compatible with the other. + + + + Merges this annotation with the given annotation and returns a new annotation containing the merged indexes. + + + Each index annotation contains at most one with a given name. + The merged annotation will contain IndexAttributes from both this and the other annotation. + If both annotations contain an IndexAttribute with the same name, then the merged annotation + will contain one IndexAttribute with that name. + + The annotation to merge with this one. + A new annotation with indexes from both annotations merged. + + The other annotation contains indexes that are not compatible with indexes in this annotation. + + + + + + + + This class is used to serialize and deserialize objects so that they + can be stored in the EDMX form of the Entity Framework model. + + + An example of the serialized format is: + { Name: 'MyIndex', Order: 7, IsClustered: True, IsUnique: False } { } { Name: 'MyOtherIndex' }. + Note that properties that have not been explicitly set in an index attribute will be excluded from + the serialized output. So, in the example above, the first index has all properties specified, + the second has none, and the third has just the name set. + + + + + Serializes the given into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize which must be an IndexAnnotation object. + The serialized value. + + + + Deserializes the given string back into an object. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + If there is an error reading the serialized value. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Checks if the is tracking any new, deleted, or changed entities or + relationships that will be sent to the database if is called. + + + Functionally, calling this method is equivalent to checking if there are any entities or + relationships in the Added, Updated, or Deleted state. + Note that this method calls unless + has been set to false. + + + True if underlying have changes, else false. + + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from + ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether all entities of this collection have been loaded from the database. + + + Loading the related entities from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entities of this collection from being lazy-loaded. + This can be useful if the application has caused a subset of related entities to be loaded into this collection + and wants to prevent any other entities from being loaded automatically. + Note that explict loading using one of the Load methods will load all related entities from the database + regardless of whether or not IsLoaded is true. + When any related entity in the collection is detached the IsLoaded flag is reset to false indicating that the + not all related entities are now loaded. + + + true if all the related entities are loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + The context. + + + + A non-generic version of the class. + + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Represents information about a database connection. + + + + + Creates a new instance of DbConnectionInfo representing a connection that is specified in the application configuration file. + + The name of the connection string in the application configuration. + + + + Creates a new instance of DbConnectionInfo based on a connection string. + + The connection string to use for the connection. + The name of the provider to use for the connection. Use 'System.Data.SqlClient' for SQL Server. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Describes the origin of the database connection string associated with a . + + + + + The connection string was created by convention. + + + + + The connection string was read from external configuration. + + + + + The connection string was explicitly specified at runtime. + + + + + The connection string was overridden by connection information supplied to DbContextInfo. + + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Gets or sets the value that determines whether SQL functions and commands should be always executed in a transaction. + + + This flag determines whether a new transaction will be started when methods such as + are executed outside of a transaction. + Note that this does not change the behavior of . + + + The default transactional behavior. + + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + + true if lazy loading is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + + true if proxy creation is enabled; otherwise, false . + + + + + Gets or sets a value indicating whether database null semantics are exhibited when comparing + two operands, both of which are potentially nullable. The default value is false. + + For example (operand1 == operand2) will be translated as: + + (operand1 = operand2) + + if UseDatabaseNullSemantics is true, respectively + + (((operand1 = operand2) AND (NOT (operand1 IS NULL OR operand2 IS NULL))) OR ((operand1 IS NULL) AND (operand2 IS NULL))) + + if UseDatabaseNullSemantics is false. + + + true if database null comparison behavior is enabled, otherwise false . + + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + Gets or sets a value indicating whether the + method is called automatically by methods of and related classes. + The default value is true. + + + true if should be called automatically; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + Provides runtime information about a given type. + + + + + Creates a new instance representing a given type. + + + The type deriving from . + + + + + Creates a new instance representing a given targeting a specific database. + + + The type deriving from . + + Connection information for the database to be used. + + + + Creates a new instance representing a given type. An external list of + connection strings can be supplied and will be used during connection string resolution in place + of any connection strings specified in external configuration files. + + + It is preferable to use the constructor that accepts the entire config document instead of using this + constructor. Providing the entire config document allows DefaultConnectionFactroy entries in the config + to be found in addition to explicitly specified connection strings. + + + The type deriving from . + + A collection of connection strings. + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + + + + Creates a new instance representing a given , targeting a specific database. + An external config object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + + + The type deriving from . + + An object representing the config file. + Connection information for the database to be used. + + + + Creates a new instance representing a given type. A + can be supplied in order to override the default determined provider used when constructing + the underlying EDM model. + + + The type deriving from . + + + A specifying the underlying ADO.NET provider to target. + + + + + Creates a new instance representing a given type. An external config + object (e.g. app.config or web.config) can be supplied and will be used during connection string + resolution. This includes looking for connection strings and DefaultConnectionFactory entries. + A can be supplied in order to override the default determined + provider used when constructing the underlying EDM model. This can be useful to prevent EF from + connecting to discover a manifest token. + + + The type deriving from . + + An object representing the config file. + + A specifying the underlying ADO.NET provider to target. + + + + + The concrete type. + + + + + Whether or not instances of the underlying type can be created. + + + + + The connection string used by the underlying type. + + + + + The connection string name used by the underlying type. + + + + + The ADO.NET provider name of the connection used by the underlying type. + + + + + The origin of the connection string used by the underlying type. + + + + + An action to be run on the DbModelBuilder after OnModelCreating has been run on the context. + + + + + If instances of the underlying type can be created, returns + a new instance; otherwise returns null. + + + A instance. + + + + + A non-generic version of the class. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object,object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Asynchronously queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the store values. + + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + The object representing the tracked entity. + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + DbContext.ValidateEntity(DbEntityEntry, IDictionary{object, object}) + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + + The to compare with this instance. + + + true if the specified is equal to this instance; otherwise, false . + + + + + Returns a hash code for this instance. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Provides the base implementation of the retry mechanism for unreliable operations and transient conditions that uses + exponentially increasing delays between retries. + + + A new instance will be created each time an operation is executed. + The following formula is used to calculate the delay after retryCount number of attempts: + min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay) + The retryCount starts at 0. + The random factor distributes uniformly the retry attempts from multiple simultaneous operations failing simultaneously. + + + + + Creates a new instance of . + + + The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor. + + + + + Creates a new instance of with the specified limits for number of retries and the delay between retries. + + The maximum number of retry attempts. + The maximum delay in milliseconds between retries. + + + + Returns true to indicate that might retry the execution after a failure. + + + + + Indicates whether the strategy is suspended. The strategy is typically suspending while executing to avoid + recursive execution from nested operations. + + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + A delegate representing an executable operation that doesn't return any results. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified operation while it satisfies the current retry policy. + + The type of result expected from the executable operation. + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repetitively executes the specified asynchronous operation while it satisfies the current retry policy. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Repeatedly executes the specified asynchronous operation while it satisfies the current retry policy. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + if the retry delay strategy determines the operation shouldn't be retried anymore + if an existing transaction is detected and the execution strategy doesn't support it + if this instance was already used to execute an operation + + + + Determines whether the operation should be retried and the delay before the next attempt. + + The exception thrown during the last execution attempt. + + Returns the delay indicating how long to wait for before the next execution attempt if the operation should be retried; + null otherwise + + + + + Recursively gets InnerException from as long as it's an + , or + and passes it to + + The type of the unwrapped exception. + The exception to be unwrapped. + A delegate that will be called with the unwrapped exception. + + The result from . + + + + + Determines whether the specified exception represents a transient failure that can be compensated by a retry. + + The exception object to be verified. + + true if the specified exception is considered as transient, otherwise false. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + Gets the name of the property. + The name of the property. + + + + Gets or sets the current value of this property. + + The current value. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Gets the provider information. + + + + + Gets the provider manifest. + + + + + Gets the conceptual model. + + + + + Gets the store model. + + + + + Gets the mapping model. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Base class for persisted model cache. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the default database schema used by a model. + + The type of context representing the model. + The default database schema. + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + Setting this value to false for a modified property will revert the change by setting the + current value to the original value. If the result is that no properties of the entity are + marked as modified, then the entity will be marked as Unchanged. + Setting this value to false for properties of Added, Unchanged, or Deleted entities + is a no-op. + + + true if this instance is modified; otherwise, false . + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false . + + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + The object representing the property. + A non-generic version. + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Groups a pair of strings that identify a provider and server version together into a single object. + + + Instances of this class act as the key for resolving a for a specific + provider from a . This is typically used when registering spatial services + in or when the spatial services specific to a provider is + resolved by an implementation of . + + + + + Creates a new object for a given provider invariant name and manifest token. + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + The manifest token is sometimes referred to as a version hint. + + + + + A string that identifies that provider. For example, the SQL Server + provider uses the string "System.Data.SqlCient". + + + + + A string that identifies that version of the database server being used. For example, the SQL Server + provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty. + + + + + + + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new DbQuery<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + + + + + + + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + Specifies the related objects to include in the query results. + + + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the DbQuery<T>. Other instances of DbQuery<T> and the object context itself are not affected. + Because the Include method returns the query object, you can call this method multiple times on an DbQuery<T> to + specify multiple paths for the query. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + Never returns; always throws. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + Returns an which when enumerated will execute the query against the database. + + The query results. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Returns a representation of the underlying query. + + The query string. + + + + Gets a representation of the underlying query. + + + + + Returns a new instance of the non-generic class for this query. + + The query. + A non-generic version. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a generic version of this class. + + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the query. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + Represents a SQL query for non-entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance. + The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for entities are created using . + See for a non-generic version of this class. + + The type of elements returned by the query. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Returns an which when enumerated will execute the SQL query against the database. + + + An object that can be used to iterate through the elements. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The action to be executed. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from the query by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the query. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from the query by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the key returned by . + + + The type of the value returned by . + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result. + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in the query result that satisfies a specified condition. + + + + is + null + . + + The query result is empty. + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query, or a default value if the query result contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty; + otherwise, the first element in the query result. + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the first element of the query that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if query result is empty + or if no element passes the test specified by ; otherwise, the first element + in the query result that passes the test specified by . + + + + is + null + . + + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result. + + The query result has more than one element. + The query result is empty. + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + . + + + + is + null + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result, or default () + if the sequence contains no elements. + + The query result has more than one element. + + + + Asynchronously returns the only element of the query that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of the query that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the query result that satisfies the condition in + , or default ( ) if no such element is found. + + + + is + null + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + The object to locate in the query result. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains the specified value; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether the query contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the query result contains any elements; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether any element of the query satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the query result pass the test in the specified predicate; otherwise, false. + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously determines whether all the elements of the query satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the query result passes the test in the specified predicate; otherwise, false. + + + + is + null + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in the query that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result. + + + The number of elements in the query result is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in the query + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the query result that satisfy the condition in the predicate function. + + + The number of elements in the query result that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the minimum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Asynchronously returns the maximum value of the query. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the query result. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Returns false. + + + false . + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + Never returns; always throws. + + + + + + + + + + + + + A non-generic version of the class. + + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A task that represents the asynchronous operation. + + + + + Asynchronously loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Gets or sets a value indicating whether the entity has been loaded from the database. + + + Loading the related entity from the database either using lazy-loading, as part of a query, or explicitly + with one of the Load methods will set the IsLoaded flag to true. + IsLoaded can be explicitly set to true to prevent the related entity from being lazy-loaded. + Note that explict loading using one of the Load methods will load the related entity from the database + regardless of whether or not IsLoaded is true. + When a related entity is detached the IsLoaded flag is reset to false indicating that the related entity is + no longer loaded. + + + true if the entity is loaded or the IsLoaded has been explicitly set to true; otherwise, false. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + The object representing the navigation property. + A non-generic version. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a generic version of this class. + + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking + and AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using . + See for a non-generic version of this class. + + The type of entities returned by the query. + + + + Creates an instance of a when called from the constructor of a derived + type that will be used as a test double for . Methods and properties + that will be used by the test double must be implemented by the test double except AsNoTracking and + AsStreaming where the default implementation is a no-op. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns a new query that will stream the results instead of buffering. + + A new query with AsStreaming applied. + + + + + + + + + + + + + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateConcurrencyException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Exception thrown by when the saving of changes to the database fails. + Note that state entries referenced by this exception are not serialized due to security and accesses to the + state entries after serialization will return null. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the DbUpdateException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Loads or saves models from/into .edmx files at a specified location. + + + + + Initializes a new DefaultDbModelStore instance. + + The parent directory for the .edmx files. + + + + Gets the location of the .edmx files. + + + + + Loads a model from the store. + + The type of context representing the model. + The loaded metadata model. + + + + Retrieves an edmx XDocument version of the model from the store. + + The type of context representing the model. + The loaded XDocument edmx. + + + + Saves a model to the store. + + The type of context representing the model. + The metadata model to save. + + + + Gets the path of the .edmx file corresponding to the specified context type. + + A context type. + The .edmx file path. + + + + Validates the model store is valid. + The default implementation verifies that the .edmx file was last + written after the context assembly was last written. + + The type of context representing the model. + The path of the stored model. + Whether the edmx file should be invalidated. + + + + An that doesn't retry operations if they fail. + + + + + Returns false to indicate that will not retry the execution after a failure. + + + + + Executes the specified operation once. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation once and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation once, without retrying on failure. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + Executes the specified asynchronous operation once, without retrying on failure. + + + The result type of the returned by . + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully. + + + + + A default implementation of that uses the + underlying provider to get the manifest token. + Note that to avoid multiple queries, this implementation using caching based on the actual type of + instance, the property, + and the property. + + + + + + + + Event arguments passed to event handlers. + + + + + Returns a snapshot of the that is about to be locked. + Use the GetService methods on this object to get services that have been registered. + + + + + Call this method to add a instance to the Chain of + Responsibility of resolvers that are used to resolve dependencies needed by the Entity Framework. + + + Resolvers are asked to resolve dependencies in reverse order from which they are added. This means + that a resolver can be added to override resolution of a dependency that would already have been + resolved in a different way. + The only exception to this is that any dependency registered in the application's config file + will always be used in preference to using a dependency resolver added here, unless the + overrideConfigFile is set to true in which case the resolver added here will also override config + file settings. + + The resolver to add. + If true, then the resolver added will take precedence over settings in the config file. + + + + Call this method to add a instance to the Chain of Responsibility + of resolvers that are used to resolve dependencies needed by the Entity Framework. Unlike the AddDependencyResolver + method, this method puts the resolver at the bottom of the Chain of Responsibility such that it will only + be used to resolve a dependency that could not be resolved by any of the other resolvers. + + The resolver to add. + + + + Adds a wrapping resolver to the configuration that is about to be locked. A wrapping + resolver is a resolver that incepts a service would have been returned by the resolver + chain and wraps or replaces it with another service of the same type. + + The type of service to wrap or replace. + A delegate that takes the unwrapped service and key and returns the wrapped or replaced service. + + + + + + + + + + + + + + + + An implementation used for resolving + factories. + + + This class can be used by to aid in the resolving + of factories as a default service for the provider. + + The type of execution strategy that is resolved. + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + A string that will be matched against the server name in the connection string. null will match anything. + + A function that returns a new instance of an execution strategy. + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return null. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + Func{IExecutionStrategy}, then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + This interface is implemented by any object that can resolve a dependency, either directly + or through use of an external container. + + + The public services currently resolved using IDbDependencyResolver are documented here: + http://msdn.microsoft.com/en-us/data/jj680697 + + + + + Attempts to resolve a dependency for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return null and not throw. This + allows resolvers to be used in a Chain of Responsibility pattern such that multiple resolvers + can be asked to resolve a dependency until one finally does. + + The interface or abstract base class that defines the dependency to be resolved. The returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + The resolved dependency, which must be an instance of the given contract type, or null if the dependency could not be resolved. + + + + Attempts to resolve a dependencies for a given contract type and optionally a given key. + If the resolver cannot resolve the dependency then it must return an empty enumeration and + not throw. This method differs from in that it returns all registered + services for the given type and key combination. + + The interface or abstract base class that defines the dependency to be resolved. Every returned object is expected to be an instance of this type. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + All services that resolve the dependency, which must be instances of the given contract type, or an empty enumeration if the dependency could not be resolved. + + + + Extension methods to call the method using + a generic type parameter and/or no name. + + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + The resolved dependency, or null if the resolver could not resolve it. + + + + Calls passing the generic type of the method and the given + name as arguments. + + The contract type to resolve. + The resolver to use. + The key of the dependency to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the generic type of the method as + the type argument and null for the name argument. + + The contract type to resolve. + The resolver to use. + All resolved dependencies, or an if no services are resolved. + + + + Calls passing the given type argument and using + null for the name argument. + + The resolver to use. + The contract type to resolve. + All resolved dependencies, or an if no services are resolved. + + + + Implements to resolve a dependency such that it always returns + the same instance. + + The type that defines the contract for the dependency that will be resolved. + + This class is immutable such that instances can be accessed by multiple threads at the same time. + + + + + Constructs a new resolver that will return the given instance for the contract type + regardless of the key passed to the Get method. + + The instance to return. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches exactly the key passed to the Get method. + + The instance to return. + Optionally, the key of the dependency to be resolved. This may be null for dependencies that are not differentiated by key. + + + + Constructs a new resolver that will return the given instance for the contract type + if the given key matches the key passed to the Get method based on the given predicate. + + The instance to return. + A predicate that takes the key object and returns true if and only if it matches. + + + + + + + + + + An implementation used for resolving + factories. + + + + + Initializes a new instance of + + A function that returns a new instance of a transaction handler. + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which the transaction handler will be used. + null will match anything. + + + A string that will be matched against the server name in the connection string. null will match anything. + + + + + If the given type is , then this method will attempt + to return the service to use, otherwise it will return null. When the given type is + , then the key is expected to be a . + + The service type to resolve. + A key used to make a determination of the service to return. + + An , or null. + + + + + If the given type is , then this resolver will attempt + to return the service to use, otherwise it will return an empty enumeration. When the given type is + , then the key is expected to be an . + + The service type to resolve. + A key used to make a determination of the service to return. + + An enumerable of , or an empty enumeration. + + + + + + + + + + + Provides utility methods for reading from an App.config or Web.config file. + + + + + Initializes a new instance of . + + The configuration to read from. + + + + Gets the specified provider services from the configuration. + + The invariant name of the provider services. + The provider services type name, or null if not found. + + + + Used for design-time scenarios where the user's code needs to be executed inside + of an isolated, runtime-like . + + Instances of this class should be created inside of the guest domain. + Handlers should be created inside of the host domain. To invoke operations, + create instances of the nested classes inside + + + + + Initializes a new instance of the class. Do this inside of the guest + domain. + + The path for the assembly containing the user's code. + The parameter is not used. + + + + Used to get the assembly-qualified name of the DbProviderServices type for the + specified provider invariant name. + + + + + Represents an operation. + + + + + Initializes a new instance of the class. + + An object to handle callbacks during the operation. + + + + Executes an action passing exceptions to the handler. + + The action to execute. + + + + Executes an action passing the result or exceptions to the handler. + + The result type. + The action to execute. + + + + Executes an action passing results or exceptions to the handler. + + The type of results. + The action to execute. + + + + Base handler type. Handlers aren't required to use this exact type. Only the + namespace, name, and member signatures need to be the same. This also applies to + handler contracts types + + + + + Indicates whether the specified contract is implemented by this handler. + + The full name of the contract interface. + True if the contract is implemented, otherwise false. + + + + Used to handle reported design-time activity. + + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + A contract handlers can use to accept a single result. + + + + + + Sets the result. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + true if the error was handled; otherwise, false. + + + + Used to handle reported design-time activity. + + + + + Initializes a new instance of the class. + + A callback for . + A callback for . + A callback for . + A callback for . + + + + Invoked when an error is reported. + + The message. + + + + Invoked when a warning is reported. + + The message. + + + + Invoked when information is reported. + + The message. + + + + Invoked when verbose information is reported. + + The message. + + + + Used with to handle operation results. + + + + + Gets a value indicating whether a result is available. + + A value indicating whether a result is available. + + + + Gets the result. + + The result. + + + + Gets the type of the exception if any. + + The exception type. + + + + Gets the error message if any. + + The error message. + + + + Get the error stack trace if any. + + The stack trace. + + + + Invoked when a result is available. + + The result. + + + + Invoked when an error occurs. + + The exception type. + The error message. + The stack trace. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Utility class for reading a metadata model from .edmx. + + + + + Reads a metadata model from .edmx. + + XML reader for the .edmx + Default database schema used by the model. + The loaded metadata model. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + A key used for resolving . It consists of the ADO.NET provider invariant name + and the database server name as specified in the connection string. + + + + + Initializes a new instance of + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + A string that will be matched against the server name in the connection string. + + + + The ADO.NET provider invariant name indicating the type of ADO.NET connection for which this execution strategy will be used. + + + + + A string that will be matched against the server name in the connection string. + + + + + + + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements of the enumerable sequence to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets an enumerator that can be used to asynchronously enumerate the sequence. + + Enumerator for asynchronous enumeration over the sequence. + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Advances the enumerator to the next element in the sequence, returning the result asynchronously. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sequence. + + + + + Gets the current element in the iteration. + + + + + Asynchronous version of the interface that allows elements to be retrieved asynchronously. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + The type of objects to enumerate. + + + + Gets the current element in the iteration. + + + + + Defines methods to create and asynchronously execute queries that are described by an + object. + This interface is used to interact with Entity Framework queries and shouldn't be implemented by custom classes. + + + + + Asynchronously executes the query represented by a specified expression tree. + + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Asynchronously executes the strongly-typed query represented by a specified expression tree. + + The type of the value that results from executing the query. + An expression tree that represents a LINQ query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the value that results from executing the specified query. + + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + A factory for creating derived instances. Implement this + interface to enable design-time services for context types that do not have a + public default constructor. + At design-time, derived instances can be created in order to enable specific + design-time experiences such as model rendering, DDL generation etc. To enable design-time instantiation + for derived types that do not have a public, default constructor, implement + this interface. Design-time services will auto-discover implementations of this interface that are in the + same assembly as the derived type. + + The type of the context. + + + + Creates a new instance of a derived type. + + An instance of TContext + + + + A strategy that is used to execute a command or query against the database, possibly with logic to retry when a failure occurs. + + + + + Indicates whether this might retry the execution after a failure. + + + + + Executes the specified operation. + + A delegate representing an executable operation that doesn't return any results. + + + + Executes the specified operation and returns the result. + + + The return type of . + + + A delegate representing an executable operation that returns the result of type . + + The result from the operation. + + + + Executes the specified asynchronous operation. + + A function that returns a started task. + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Executes the specified asynchronous operation and returns the result. + + + The result type of the returned by . + + + A function that returns a started task of type . + + + A cancellation token used to cancel the retry operation, but not operations that are already in flight + or that already completed successfully. + + + A task that will run to completion if the original task completes successfully (either the + first time or after retrying transient failures). If the task fails with a non-transient error or + the retry limit is reached, the returned task will become faulted and the exception must be observed. + + + + + Represents a key value that uniquely identifies an Entity Framework model that has been loaded into memory. + + + + Determines whether the current cached model key is equal to the specified cached model key. + true if the current cached model key is equal to the specified cached model key; otherwise, false. + The cached model key to compare to the current cached model key. + + + Returns the hash function for this cached model key. + The hash function for this cached model key. + + + + Implement this interface on your context to use custom logic to calculate the key used to lookup an already created model in the cache. + This interface allows you to have a single context type that can be used with different models in the same AppDomain, + or multiple context types that use the same model. + + + + Gets the cached key associated with the provider. + The cached key associated with the provider. + + + + A service for obtaining the correct from a given + . + + + On .NET 4.5 the provider is publicly accessible from the connection. On .NET 4 the + default implementation of this service uses some heuristics to find the matching + provider. If these fail then a new implementation of this service can be registered + on to provide an appropriate resolution. + + + + + Returns the for the given connection. + + The connection. + The provider factory for the connection. + + + + A service for getting a provider manifest token given a connection. + The class is used by default and makes use of the + underlying provider to get the token which often involves opening the connection. + A different implementation can be used instead by adding an + to that may use any information in the connection to return + the token. For example, if the connection is known to point to a SQL Server 2008 database then + "2008" can be returned without opening the connection. + + + + + Returns the manifest token to use for the given connection. + + The connection for which a manifest token is required. + The manifest token to use. + + + + Implement this interface to allow custom annotations represented by instances to be + serialized to and from the EDMX XML. Usually a serializer instance is set using the + method. + + + + + Serializes the given annotation value into a string for storage in the EDMX XML. + + The name of the annotation that is being serialized. + The value to serialize. + The serialized value. + + + + Deserializes the given string back into the expected annotation value. + + The name of the annotation that is being deserialized. + The string to deserialize. + The deserialized annotation value. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to start a transaction. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The isolation level to associate. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + This is the default log formatter used when some is set onto the + property. A different formatter can be used by creating a class that inherits from this class and overrides + some or all methods to change behavior. + + + To set the new formatter create a code-based configuration for EF using and then + set the formatter class to use with . + Note that setting the type of formatter to use with this method does change the way command are + logged when is used. It is still necessary to set a + onto before any commands will be logged. + For more low-level control over logging/interception see and + . + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Creates a formatter that will not filter by any and will instead log every command + from any context and also commands that do not originate from a context. + + + This constructor is not used when a delegate is set on . Instead it can be + used by setting the formatter directly using . + + The delegate to which output will be sent. + + + + Creates a formatter that will only log commands the come from the given instance. + + + This constructor must be called by a class that inherits from this class to override the behavior + of . + + + The context for which commands should be logged. Pass null to log every command + from any context and also commands that do not originate from a context. + + The delegate to which output will be sent. + + + + The context for which commands are being logged, or null if commands from all contexts are + being logged. + + + + + Writes the given string to the underlying write delegate. + + The string to write. + + + + This property is obsolete. Using it can result in logging incorrect execution times. Call + instead. + + + + + The stopwatch used to time executions. This stopwatch is started at the end of + , , and + methods and is stopped at the beginning of the , , + and methods. If these methods are overridden and the stopwatch is being used + then the overrides should either call the base method or start/stop the stopwatch themselves. + + The interception context for which the stopwatch will be obtained. + The stopwatch. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + The default implementation calls and starts the stopwatch returned from + . + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. + The default implementation stopsthe stopwatch returned from and calls + . + + The command being executed. + Contextual information associated with the call. + + + + Called whenever a command is about to be executed. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the + context filtering behavior. + + The type of the operation's results. + The command that will be executed. + Contextual information associated with the command. + + + + Called whenever a command has completed executing. The default implementation of this method + filters by set into , if any, and then calls + . This method would typically only be overridden to change the context + filtering behavior. + + The type of the operation's results. + The command that was executed. + Contextual information associated with the command. + + + + Called to log a command that is about to be executed. Override this method to change how the + command is logged to . + + The type of the operation's results. + The command to be logged. + Contextual information associated with the command. + + + + Called by to log each parameter. This method can be called from an overridden + implementation of to log parameters, and/or can be overridden to + change the way that parameters are logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + The parameter to log. + + + + Called to log the result of executing a command. Override this method to change how results are + logged to . + + The type of the operation's results. + The command being logged. + Contextual information associated with the command. + + + + Does not write to log unless overridden. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that began the transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was opened. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection that was closed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The connection being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The connection. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction being disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction that was disposed. + Contextual information associated with the call. + + + + Does not write to log unless overridden. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + The default implementation of this method filters by set into + , if any, and then logs the event. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + + + + + + + + + + + + A simple logger for logging SQL and other database operations to the console or a file. + A logger can be registered in code or in the application's web.config /app.config file. + + + + + Creates a new logger that will send log output to the console. + + + + + Creates a new logger that will send log output to a file. If the file already exists then + it is overwritten. + + A path to the file to which log output will be written. + + + + Creates a new logger that will send log output to a file. + + A path to the file to which log output will be written. + True to append data to the file if it exists; false to overwrite the file. + + + + Stops logging and closes the underlying file if output is being written to a file. + + + + + Stops logging and closes the underlying file if output is being written to a file. + + + True to release both managed and unmanaged resources; False to release only unmanaged resources. + + + + + Starts logging. This method is a no-op if logging is already started. + + + + + Stops logging. This method is a no-op if logging is not started. + + + + + Called to start logging during Entity Framework initialization when this logger is registered. + as an . + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when executing commands. It is provided publicly so that + code that runs outside of the core EF assemblies can opt-in to command interception/tracing. This is + typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The command on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token for the asynchronous operation. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls into + implementations. + + + An instance of this class is passed to the dispatch methods of + and does not contain mutable information such as the result of the operation. This mutable information + is obtained from the that is passed to the interceptors. + Instances of this class are publicly immutable. To add contextual information use one of the + With... or As... methods to create a new interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The that will be used or has been used to execute the command with a + . This property is only used for + and its async counterparts. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations including the result of the operation. + + The type of the operation's results. + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The command behavior to associate. + A new interception context associated with the given command behavior. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Base class that implements . This class is a convenience for + use when only one or two methods of the interface actually need to have any implementation. + + + + + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + The original tree created by Entity Framework. Interceptors can change the + property to change the tree that will be used, but the + will always be the tree created by Entity Framework. + + + + + The command tree that will be used by Entity Framework. This starts as the tree contained in the + the property but can be set by interceptors to change + the tree that will be used by Entity Framework. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Represents contextual information associated with calls into + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. Also see + + The context from which to copy state. + + + + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in + this interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + + + + + + + + + + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after making a + call to . + + + Note that the result of executing the command is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + setting . + + The connection on which the operation will be executed. + Information about the context of the call being made, including the value to be set. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The cancellation token. + A task that represents the asynchronous operation. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The connection on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type on a . + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Provides access to all dispatchers through the fluent API. + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + Provides methods for dispatching to interceptors for + interception of methods on . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + This is the registration point for interceptors. Interceptors + receive notifications when EF performs certain operations such as executing commands against + the database. For example, see . + + + + + Registers a new to receive notifications. Note that the interceptor + must implement some interface that extends from to be useful. + + The interceptor to add. + + + + Removes a registered so that it will no longer receive notifications. + If the given interceptor is not registered, then this is a no-op. + + The interceptor to remove. + + + + This is the entry point for dispatching to interceptors. This is usually only used internally by + Entity Framework but it is provided publicly so that other code can make sure that registered + interceptors are called when operations are performed on behalf of EF. For example, EF providers + a may make use of this when executing commands. + + + + + Represents contextual information associated with calls into + implementations. + + + Note that specific types/operations that can be intercepted may use a more specific + interception context derived from this class. For example, if SQL is being executed by + a , then the DbContext will be contained in the + instance that is passed to the methods + of . + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying state from the given + interception context. See + + The context from which to copy state. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item if + a single has been used to construct multiple + instances. + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Gets all the instances associated with this interception context. + + + This list usually contains zero or one items. However, it can contain more than one item when + EF has created a new for use in database creation and initialization, or + if a single is used with multiple . + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + True if the operation is being executed asynchronously, otherwise false. + + + + + Creates a new that contains all the contextual information in this + interception context the flag set to true. + + A new interception context associated with the async flag set. + + + + Call this method when creating a copy of an interception context in order to add new state + to it. Using this method instead of calling the constructor directly ensures virtual dispatch + so that the new type will have the same type (and any specialized state) as the context that + is being cloned. + + A new context with all state copied. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used for dispatching operations to a such that any + registered on will be notified before and after the + operation executes. + Instances of this class are obtained through the fluent API. + + + This class is used internally by Entity Framework when interacting with . + It is provided publicly so that code that runs outside of the core EF assemblies can opt-in to command + interception/tracing. This is typically done by EF providers that are executing commands on behalf of EF. + + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after + getting . + + + Note that the value of the property is returned by this method. The result is not available + in the interception context passed into this method since the interception context is cloned before + being passed to interceptors. + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + The result of the operation, which may have been modified by interceptors. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + Sends and + to any + registered on before/after making a + call to . + + The transaction on which the operation will be executed. + Optional information about the context of the call being made. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Represents contextual information associated with calls to that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The connection on which the transaction was started + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The connection on which the transaction was started. + A new interception context that also contains the connection on which the transaction was started. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + + + + Represents contextual information associated with calls to + implementations. + + + Instances of this class are publicly immutable for contextual information. To add + contextual information use one of the With... or As... methods to create a new + interception context containing the new information. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + The that will be used or has been used to enlist a connection. + + + + + Creates a new that contains all the contextual information in this + interception context together with the given . + + The transaction to be used in the invocation. + A new interception context associated with the given isolation level. + + + + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework executes commands. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + This method is called before a call to or + one of its async counterparts is made. + + The command being executed. + Contextual information associated with the call. + + + + This method is called after a call to or + one of its async counterparts is made. The result used by Entity Framework can be changed by setting + . + + + For async operations this method is not called until after the async task has completed + or failed. + + The command being executed. + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework creates command trees. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + This method is called after a new has been created. + The tree that is used after interception can be changed by setting + while intercepting. + + + Command trees are created for both queries and insert/update/delete commands. However, query + command trees are cached by model which means that command tree creation only happens the + first time a query is executed and this notification will only happen at that time + + Contextual information associated with the call. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework loads the application's . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Occurs during EF initialization after the has been constructed but just before + it is locked ready for use. Use this event to inspect and/or override services that have been + registered before the configuration is locked. Note that an interceptor of this type should be used carefully + since it may prevent tooling from discovering the same configuration that is used at runtime. + + + Handlers can only be added before EF starts to use the configuration and so handlers should + generally be added as part of application initialization. Do not access the DbConfiguration + static methods inside the handler; instead use the members of + to get current services and/or add overrides. + + Arguments to the event that this interceptor mirrors. + Contextual information about the event. + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework performs operations on a . + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is invoked. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + Called after is invoked. + The transaction used by Entity Framework can be changed by setting + . + + The connection that began the transaction. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being closed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was closed. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is set. + + The connection. + Contextual information associated with the call. + + + + Called after is set. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection being disposed. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection that was disposed. + Contextual information associated with the call. + + + + Called before is invoked. + + The connection. + Contextual information associated with the call. + + + + Called after is invoked. + + The connection. + Contextual information associated with the call. + + + + Called before or its async counterpart is invoked. + + The connection being opened. + Contextual information associated with the call. + + + + Called after or its async counterpart is invoked. + + The connection that was opened. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called before is retrieved. + + The connection. + Contextual information associated with the call. + + + + Called after is retrieved. + + The connection. + Contextual information associated with the call. + + + + This is the base interface for all interfaces that provide interception points for various + different types and operations. For example, see . + Interceptors are registered on the class. + + + + + An object that implements this interface can be registered with to + receive notifications when Entity Framework commits or rollbacks a transaction. + + + Interceptors can also be registered in the config file of the application. + See http://go.microsoft.com/fwlink/?LinkId=260883 for more information about Entity Framework configuration. + + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called before is retrieved. + + The transaction. + Contextual information associated with the call. + + + + Called after is retrieved. + + The transaction. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being committed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was committed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being disposed. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was disposed. + Contextual information associated with the call. + + + + This method is called before is invoked. + + The transaction being rolled back. + Contextual information associated with the call. + + + + This method is called after is invoked. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + Represents contextual information associated with calls that don't return any results. + + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls with return type . + + The return type of the target method. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + If execution of the operation completes without throwing, then this property will contain + the result of the operation. If the operation was suppressed or did not fail, then this property + will always contain the default value for the generic type. + + + When an operation completes without throwing both this property and the + property are set. However, the property can be set or changed by interceptors, + while this property will always represent the actual result returned by the operation, if any. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set result will be returned instead. Otherwise, if the operation succeeds, then + this property will be set to the returned result. In either case, interceptors that run + after the operation can change this property to change the result that will be returned. + + + When an operation completes without throwing both this property and the + property are set. However, this property can be set or changed by interceptors, while the + property will always represent the actual result returned by the + operation, if any. + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + , by setting an to be thrown, or + by setting the operation result using . + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Represents contextual information associated with calls to property setters of type . + + + An instance of this class is passed to the dispatch methods and does not contain mutable information such as + the result of the operation. This mutable information is obtained from the + that is passed to the interceptors. Instances of this class are publicly immutable. To add contextual information + use one of the With... or As... methods to create a new interception context containing the new information. + + The type of the target property. + + + + Constructs a new with no state. + + + + + Creates a new by copying immutable state from the given + interception context. Also see + + The context from which to copy state. + + + + The value that will be assigned to the target property. + + + + + Gets or sets a value containing arbitrary user-specified state information associated with the operation. + + + + + Gets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The user state set, or null if none was found for the given key. + + + + Sets a value containing arbitrary user-specified state information associated with the operation. + + A key used to identify the user state. + The state to set. + + + + Creates a new that contains all the contextual information in this + interception context together with the given property value. + + The value that will be assigned to the target property. + A new interception context associated with the given property value. + + + + + + + When true, this flag indicates that execution of the operation has been suppressed by + one of the interceptors. This can be done before the operation has executed by calling + or by setting an to be thrown + + + + + Prevents the operation from being executed if called before the operation has executed. + + + Thrown if this method is called after the operation has already executed. + + + + + If execution of the operation fails, then this property will contain the exception that was + thrown. If the operation was suppressed or did not fail, then this property will always be null. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the property can be set or + changed by interceptors, while this property will always represent the original exception thrown. + + + + + If this property is set before the operation has executed, then execution of the operation will + be suppressed and the set exception will be thrown instead. Otherwise, if the operation fails, then + this property will be set to the exception that was thrown. In either case, interceptors that run + after the operation can change this property to change the exception that will be thrown, or set this + property to null to cause no exception to be thrown at all. + + + When an operation fails both this property and the property are set + to the exception that was thrown. However, the this property can be set or changed by + interceptors, while the property will always represent + the original exception thrown. + + + + + Set to the status of the after an async operation has finished. Not used for + synchronous operations. + + + + + Creates a new that contains all the contextual information in this + interception context together with the flag set to true. + + A new interception context associated with the async flag set. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + Creates a new that contains all the contextual information in this + interception context with the addition of the given . + + The context to associate. + A new interception context associated with the given context. + + + + + + + + + + + + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Used by and when resolving + a provider invariant name from a . + + + + Gets the name of the provider. + The name of the provider. + + + + Instances of this class are used to create DbConnection objects for + SQL Server LocalDb based on a given database name or connection string. + + + An instance of this class can be set on the class or in the + app.config/web.config for the application to cause all DbContexts created with no + connection information or just a database name to use SQL Server LocalDb by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + + + + Creates a new instance of the connection factory for the given version of LocalDb. + For SQL Server 2012 LocalDb use "v11.0". + For SQL Server 2014 and later LocalDb use "mssqllocaldb". + + The LocalDb version to use. + The connection string to use for options to the database other than the 'Initial Catalog', 'Data Source', and 'AttachDbFilename'. The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the database name when CreateConnection is called. The 'Data Source' will be set based on the LocalDbVersion argument. + + + + The connection string to use for options to the database other than the 'Initial Catalog', + 'Data Source', and 'AttachDbFilename'. + The 'Initial Catalog' and 'AttachDbFilename' will be prepended to this string based on the + database name when CreateConnection is called. + The 'Data Source' will be set based on the LocalDbVersion argument. + The default is 'Integrated Security=True;'. + + + + + Creates a connection for SQL Server LocalDb based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a mapping view. + + + + + Creates a instance having the specified entity SQL. + + A string that specifies the entity SQL. + + + + Gets the entity SQL. + + + + + Base abstract class for mapping view cache implementations. + Derived classes must have a parameterless constructor if used with . + + + + + Gets a hash value computed over the mapping closure. + + + + + Gets a view corresponding to the specified extent. + + An that specifies the extent. + A that specifies the mapping view, + or null if the extent is not associated with a mapping view. + + + + Specifies the means to create concrete instances. + + + + + Creates a generated view cache instance for the container mapping specified by + the names of the mapped containers. + + The name of a container in the conceptual model. + The name of a container in the store model. + + A that specifies the generated view cache. + + + + + Defines a custom attribute that specifies the mapping view cache type (subclass of ) + associated with a context type (subclass of or ). + The cache type is instantiated at runtime and used to retrieve pre-generated views in the + corresponding context. + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + + A subclass of . + + + + + Creates a instance that associates a context type + with a mapping view cache type. + + + A subclass of or . + + The assembly qualified full name of the cache type. + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Applies the convention to the given model. + + The container to apply the convention to. + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Compares objects using reference equality. + + + + + Gets the default instance. + + + + + Represents a custom pluralization term to be used by the + + + + + Get the singular. + + + + + Get the plural. + + + + + Create a new instance + + A non null or empty string representing the singular. + A non null or empty string representing the plural. + + + + Default pluralization service implementation to be used by Entity Framework. This pluralization + service is based on English locale. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + + + Constructs a new instance of default pluralization service + used in Entity Framework. + + + A collection of user dictionary entries to be used by this service.These inputs + can customize the service according the user needs. + + + + Returns the plural form of the specified word. + The plural form of the input parameter. + The word to be made plural. + + + Returns the singular form of the specified word. + The singular form of the input parameter. + The word to be made singular. + + + + Pluralization services to be used by the EF runtime implement this interface. + By default the is used, but the pluralization service to use + can be set in a class derived from . + + + + + Pluralize a word using the service. + + The word to pluralize. + The pluralized word + + + + Singularize a word using the service. + + The word to singularize. + The singularized word. + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + The exception that is thrown when the action failed again after being retried the configured number of times. + + + + + Initializes a new instance of the class with no error message. + + + + + Initializes a new instance of the class with a specified error message. + + The message that describes the error. + + + + Initializes a new instance of the class. + + The message that describes the error. + The exception that is the cause of the current exception. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use its default for the database file location. + The connection string to use for options to the database other than the 'Data Source'. The Data Source will be prepended to this string based on the database name when CreateConnection is called. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True;'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will be prepended to this string based on the database name when CreateConnection is called. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True;'. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Implemented by Entity Framework providers and used to check whether or not tables exist + in a given database. This is used by database initializers when determining whether or not to + treat an existing database as empty such that tables should be created. + + + + + When overridden in a derived class checks where the given tables exist in the database + for the given connection. + + + The context for which table checking is being performed, usually used to obtain an appropriate + . + + + A connection to the database. May be open or closed; should be closed again if opened. Do not + dispose. + + The tables to check for existence. + The name of the EdmMetadata table to check for existence. + True if any of the model tables or EdmMetadata table exists. + + + + Helper method to get the table name for the given s-space . + + The s-space entity set for the table. + The table name. + + + + Thrown when an error occurs committing a . + + + + + Initializes a new instance of + + + + + Initializes a new instance of + + The exception message. + + + + Initializes a new instance of + + The exception message. + The inner exception. + + + + Initializes a new instance of the class. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + A transaction handler that allows to gracefully recover from connection failures + during transaction commit by storing transaction tracing information in the database. + It needs to be registered by using . + + + This transaction handler uses to store the transaction information + the schema used can be configured by creating a class derived from + that overrides and passing it to the constructor of this class. + + + + + Initializes a new instance of the class using the default . + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes a new instance of the class. + + The transaction context factory. + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Gets the transaction context. + + + The transaction context. + + + + + The map between the store transactions and the transaction tracking objects + + + + + Creates a new instance of an to use for quering the transaction log. + If null the default will be used. + + An instance or null. + + + + + + + + + + Gets the number of transactions to be executed on the context before the transaction log will be cleaned. + The default value is 20. + + + + + + + + + + + Stores the tracking information for the new transaction to the database in the same transaction. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + If there was an exception thrown checks the database for this transaction and rethrows it if not found. + Otherwise marks the commit as succeeded and queues the transaction information to be deleted. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was rolled back. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Stops tracking the transaction that was disposed. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + A task that represents the asynchronous operation. + + + + Asynchronously removes all the transaction history. + + + This method should only be invoked when there are no active transactions to remove any leftover history + that was not deleted due to catastrophic failures + + The cancellation token. + A task that represents the asynchronous operation. + + + + Adds the specified transaction to the list of transactions that can be removed from the database + + The transaction to be removed from the database. + + + + Removes the transactions marked for deletion. + + + + + Asynchronously removes the transactions marked for deletion. + + A task that represents the asynchronous operation. + + + + Asynchronously removes the transactions marked for deletion. + + The cancellation token. + A task that represents the asynchronous operation. + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + + + + Removes the transactions marked for deletion if their number exceeds . + + + if set to true will remove all the old transactions even if their number does not exceed . + + + if set to true the operation will be executed using the associated execution strategy + + The cancellation token. + A task that represents the asynchronous operation. + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + Gets the associated with the if there is one; + otherwise returns null. + + The context + The associated . + + + + This class is used by to write and read transaction tracing information + from the database. + To customize the definition of the transaction table you can derive from + this class and override . Derived classes can be registered + using . + + + By default EF will poll the resolved to check wether the database schema is compatible and + will try to modify it accordingly if it's not. To disable this check call + Database.SetInitializer<TTransactionContext>(null) where TTransactionContext is the type of the resolved context. + + + + + Initializes a new instance of the class. + + The connection used by the context for which the transactions will be recorded. + + + + Gets or sets a that can be used to read and write instances. + + + + + + + + The base class for interceptors that handle the transaction operations. Derived classes can be registered using + or + . + + + + + Initializes a new instance of the class. + + + One of the Initialize methods needs to be called before this instance can be used. + + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + + + + Initializes this instance using the specified context. + + The context for which transaction operations will be handled. + The connection to use for the initialization. + + This method is called by migrations. It is important that no action is performed on the + specified context that causes it to be initialized. + + + + + Gets the context. + + + The for which the transaction operations will be handled. + + + + + Gets the context. + + + The for which the transaction operations will be handled, could be null. + + + + + Gets the connection. + + + The for which the transaction operations will be handled. + + + This connection object is only used to determine whether a particular operation needs to be handled + in cases where a context is not available. + + + + + + + + Gets or sets a value indicating whether this transaction handler is disposed. + + + true if disposed; otherwise, false. + + + + + Releases the resources used by this transaction handler. + + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Checks whether the supplied interception context contains the target context + or the supplied connection is the same as the one used by the target context. + + A connection. + An interception context. + + true if the supplied interception context contains the target context or + the supplied connection is the same as the one used by the target context if + the supplied interception context doesn't contain any contexts; false otherwise. + + + Note that calling this method will trigger initialization of any DbContext referenced from the + + + + + When implemented in a derived class returns the script to prepare the database + for this transaction handler. + + A script to change the database schema for this transaction handler. + + + + Can be implemented in a derived class. + + The connection beginning the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that began the transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was closed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection that was disposed. + Contextual information associated with the call. + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection being opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection that was opened. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The connection. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was committed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was disposed. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction being rolled back. + Contextual information associated with the call. + + + + + Can be implemented in a derived class. + + The transaction that was rolled back. + Contextual information associated with the call. + + + + + Rrepresents a transaction + + + + + A unique id assigned to a transaction object. + + + + + The local time when the transaction was started. + + + + + + + + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Allows configuration to be performed for an complex type in a model. + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same ComplexTypeConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows derived configuration classes for entities and complex types to be registered with a + . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Discovers all types that inherit from or + in the given assembly and adds an instance + of each discovered type to this registrar. + + + Note that only types that are abstract or generic type definitions are skipped. Every + type that is discovered and added must provide a parameterless constructor. + + The assembly containing model configurations to add. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows the conventions used by a instance to be customized. + The default conventions can be found in the System.Data.Entity.ModelConfiguration.Conventions namespace. + + + + + Discover all conventions in the given assembly and add them to the . + + + This method add all conventions ordered by type name. The order in which conventions are added + can have an impact on how they behave because it governs the order in which they are run. + All conventions found must have a parameterless public constructor. + + The assembly containing conventions to be added. + + + + Enables one or more conventions for the . + + The conventions to be enabled. + + + + Enables a convention for the . + + The type of the convention to be enabled. + + + + Enables a convention for the . This convention + will run after the one specified. + + The type of the convention after which the enabled one will run. + The convention to enable. + + + + Enables a configuration convention for the . This convention + will run before the one specified. + + The type of the convention before which the enabled one will run. + The convention to enable. + + + + Disables one or more conventions for the . + + The conventions to be disabled. + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the + System.Data.Entity.ModelConfiguration.Conventions namespace. + + The type of the convention to be disabled. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties in a model. + + + + + Filters the properties that this convention applies to based on a predicate. + + A function to test each property for a condition. + + A instance so that multiple calls can be chained. + + + + + Filters the properties that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each property. If the value is null, the + property will be filtered out. + + + A instance so that multiple calls can be chained. + + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the properties of entity types in a model and a captured value. + + The type of the captured value. + + + + Allows configuration of the properties that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model. + + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type. + + The common type of the entity types that this convention applies to. + + + + Filters the entity types that this convention applies to based on a + predicate. + + A function to test each entity type for a condition. + + An instance so that multiple calls can be chained. + + + + + Filters the entity types that this convention applies to based on a predicate + while capturing a value to use later during configuration. + + Type of the captured value. + + A function to capture a value for each entity type. If the value is null, the + entity type will be filtered out. + + + An instance so that multiple calls can be chained. + + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + + . + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model and a captured value. + + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a lightweight convention based on + the entity types in a model that inherit from a common, specified type and a + captured value. + + The common type of the entity types that this convention applies to. + Type of the captured value. + + + + Allows configuration of the entity types that this convention applies to. + + + An action that performs configuration against a + using a captured value. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to modify a relationship. + + The type of the entity that the relationship is being configured from. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + The type of the property. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Creates a convention that configures stored procedures to be used to delete entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to insert entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + + + + + + + + + + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + + Creates a convention that configures stored procedures to be used to modify entities in the database. + + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a convention that configures stored procedures to be used to update entities in the database. + + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + The property to configure the parameter for. + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The name of the property to configure the result for. + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + The property to configure the result for. + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to delete entities. + + The type of the entity that the stored procedure can be used to delete. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to insert entities. + + The type of the entity that the stored procedure can be used to insert. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + + Sets the name of the stored procedure. + + Name of the procedure. + The same configuration instance so that multiple calls can be chained. + + + + Sets the name of the stored procedure. + + Name of the procedure. + Name of the schema. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the left key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + The type of the property to configure. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + Configures the parameter for the right key value(s). + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + Name of the parameter. + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Allows configuration to be performed for a stored procedure that is used to modify a many to many relationship. + + The type of the entity that the relationship is being configured from. + The type of the entity that the other end of the relationship targets. + + + Configures stored procedure used to insert relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete relationships. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Performs configuration of a stored procedure uses to modify an entity in the database. + + + + + Allows configuration to be performed for a stored procedure that is used to modify entities. + + The type of the entity that the stored procedure can be used to modify. + + + Configures stored procedure used to insert entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to update entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + Configures stored procedure used to delete entities. + The same configuration instance so that multiple calls can be chained. + A lambda expression that performs configuration for the stored procedure. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a stored procedure that is used to update entities. + + The type of the entity that the stored procedure can be used to update. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + + + Configures the name of the stored procedure. + The same configuration instance so that multiple calls can be chained. + The stored procedure name. + The schema name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the parameter. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + Configures a parameter for this stored procedure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the parameter for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The current value parameter name. + The original value parameter name. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The type of the property to configure. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + + Configures a column of the result for this stored procedure to map to a property. + This is used for database generated columns. + + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the property to configure the result for. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The name of the result column. + + + Configures the output parameter that returns the rows affected by this stored procedure. + The same configuration instance so that multiple calls can be chained. + The name of the parameter. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + Configures parameters for a relationship where the foreign key property is not included in the class. + The same configuration instance so that multiple calls can be chained. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A lambda expression that performs the configuration. + The type of the principal entity in the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + Initializes a new instance of the class. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + A lambda expression to an anonymous type that contains the properties to be mapped. C#: t => new { t.Id, t.Property1, t.Property2 } VB.Net: Function(t) New With { p.Id, t.Property1, t.Property2 } + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is included in this mapping fragment. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Re-maps all properties inherited from base types. + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name to be mapped to. + + Name of the table. + The same configuration instance so that multiple calls can be chained. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + The same configuration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + A lambda expression representing the property being used to discriminate between types. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object to further configure the discriminator condition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a column with length facets for an entity type or complex type. This configuration functionality is exposed by the Code First Fluent API, see . + + + + Configures the column to allow the maximum length supported by the database provider. + The same instance so that multiple calls can be chained. + + + Configures the column to have the specified maximum length. + The same instance so that multiple calls can be chained. + The maximum length for the column. Setting the value to null will remove any maximum length restriction from the column and a default length will be used for the database column. + + + Configures the column to be fixed length. + The same instance so that multiple calls can be chained. + + + Configures the column to be variable length. + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a primitive column from an entity type. + + + + Configures the primitive column to be optional. + The same instance so that multiple calls can be chained. + + + Configures the primitive column to be required. + The same instance so that multiple calls can be chained. + + + Configures the data type of the primitive column used to store the property. + The same instance so that multiple calls can be chained. + The name of the database provider specific data type. + + + Configures the order of the primitive column used to store the property. This method is also used to specify key ordering when an entity type has a composite key. + The same instance so that multiple calls can be chained. + The order that this column should appear in the database table. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. Setting 'null' will result in a default length being used for the column. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + Value indicating if the column supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the column. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an index. + + + + + Configures the index to be unique. + + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures whether the index will be unique. + + Value indicating if the index should be unique or not. + The same IndexConfiguration instance so that multiple calls can be chained. + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a primary key index. + + + + + Configures the index to be clustered. + + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures whether or not the index will be clustered. + + Value indicating if the index should be clustered or not. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures the index to have a specific name. + + Value indicating what the index name should be. + The same IndexConfigurationBase instance so that multiple calls can be chained. + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A lambda expression representing the navigation property on the other end of the relationship. + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + An lambda expression representing the navigation property on the other end of the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + A lambda expression representing the property to be used as the foreign key. If the foreign key is made up of multiple properties then specify an anonymous type including the properties. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the principal entity type. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for a database column that has been configured with . + The annotation value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The name of the column that was configured with the HasKey method. + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + + + + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the join table. The annotation value can later be used when + processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key points to the parent entity of the navigation property specified in the HasMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key points to the parent entity of the navigation property specified in the WithMany call. + + The foreign key column names. When using multiple foreign key properties, the properties must be specified in the same order that the primary key properties were configured for the target entity type. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + + + Determines whether the specified object is equal to the current object. + true if the specified object is equal to the current object; otherwise, false. + The object to compare with the current object. + + + + + + + + + + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + The type of the parent entity of the navigation property specified in the HasMany call. + The type of the parent entity of the navigation property specified in the WithMany call. + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + The default conventions for procedure and parameter names will be used. + + The same instance so that multiple calls can be chained. + + + + Configures stored procedures to be used for modifying this relationship. + + + Configuration to override the default conventions for procedure and parameter names. + + The same instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Used to configure a property in a mapping fragment. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the database column used to store the property, in a mapping fragment. + + The name of the column. + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same PropertyMappingConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will cause the default option to be used, which may be 'None', 'Identity', or 'Computed' depending + on the type of the property, its semantics in the model (e.g. primary keys are treated differently), and which + set of conventions are being used. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. Specifying 'null' will remove the concurrency token facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. Specifying 'null' will remove the Unicode facet from the property. Specifying 'null' will cause the same runtime behavior as specifying 'false'. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via lightweight conventions. + + + + + Gets the for this property. + + + + + Configures the name of the database column used to store the property. + + The name of the column. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the database column used to store the property. The annotation + value can later be used when processing the column such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures the name of the parameter used in stored procedures for this property. + + Name of the parameter. + + The same instance so that multiple calls can be chained. + + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be used as an optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + Value indicating if the property is a concurrency token or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures how values for the property are generated by the database. + + The pattern used to generate values for the property in the database. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the property to support Unicode string content. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures whether or not the property supports Unicode string content. + + Value indicating if the property supports Unicode string content or not. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to be variable length. + Properties are variable length by default. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to have the specified maximum length. + + The maximum length for the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the property to allow the maximum length supported by the database provider. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property does not have length facets. + + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method will throw if the property is not a . + + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + This method throws if the property is not a . + + + + + Configures this property to be part of the entity type's primary key. + + + The same instance so that + multiple calls can be chained. + + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The name of the property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The property to be configured. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect if the property does not exist. + + + + + Configures a property that is defined on this type. + + The name of the property being configured. + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The property being configured. + A configuration object that can be used to configure the property. + + + + Configures the primary key property for this entity type. + + The name of the property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property for this entity type. + + The property to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The names of the properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + + + Configures the primary key property(s) for this entity type. + + The properties to be used as the primary key. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured or if any + property does not exist. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for an entity type in a model. + This configuration functionality is available via lightweight conventions. + + A type inherited by the entity type. + + + + Gets the of this entity type. + + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Excludes this entity type from the model so that it will not be mapped to the database. + + + The same instance so that multiple calls can be chained. + + + + + Changes this entity type to a complex type. + + + The same instance so that multiple calls can be chained. + + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + + The same instance so that multiple calls can be chained. + + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + The same instance so that multiple calls can be chained. + + + Calling this will have no effect once it has been configured. + + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Calling this method will have no effect if the + annotation with the given name has already been configured. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to configure the property. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + A general purpose class for Code First conventions that read attributes from .NET properties + and generate column annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create column annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each column. + + + + A general purpose class for Code First conventions that read attributes from .NET types + and generate table annotations based on those attributes. + + The type of attribute to discover. + The type of annotation that will be created. + + + + Constructs a convention that will create table annotations with the given name and + using the given factory delegate. + + The name of the annotations to create. + A factory for creating the annotation on each table. + + + + Convention to process instances of found on properties in the model + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on foreign key properties in the model. + + + + + + + + A convention for discovering attributes on properties and generating + column annotations in the model. + + + + + Constructs a new instance of the convention. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Base class for conventions that process CLR attributes found on primitive properties in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The configuration for the property that has the attribute. + The attribute. + + + + Base class for conventions that process CLR attributes found on properties of types in the model. + + + Note that the derived convention will be applied for any non-static property on the mapped type that has + the specified attribute, even if it wasn't included in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a property that has an attribute of type TAttribute applied. + + The member info for the property that has the attribute. + The configuration for the class that contains the property. + The attribute. + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on properties in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Convention to process instances of found on types in the model. + + + + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of the attribute to look for. + + + + Initializes a new instance of the class. + + + + + Applies this convention to a class that has an attribute of type TAttribute applied. + + The configuration for the class that contains the property. + The attribute. + + + + A convention that doesn't override configuration. + + + + + The derived class can use the default constructor to apply a set rule of that change the model configuration. + + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all mapped types in + the model that derive from or implement the specified type. + + The type of the entities that this convention will apply to. + A configuration object for the convention. + This method does not add new types to the model. + + + + Begins configuration of a lightweight convention that applies to all properties + in the model. + + A configuration object for the convention. + + + + Begins configuration of a lightweight convention that applies to all primitive + properties of the specified type in the model. + + The type of the properties that the convention will apply to. + A configuration object for the convention. + + The convention will apply to both nullable and non-nullable properties of the + specified type. + + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + + + + Convention to apply column ordering specified via + + or the API. + + + + + + + + Validates the ordering configuration supplied for columns. + This base implementation is a no-op. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to apply column ordering specified via + + or the API. This convention throws if a duplicate configured column order + is detected. + + + + + Validates the ordering configuration supplied for columns to ensure + that the same ordinal was not supplied for two columns. + + The name of the table that the columns belong to. + The definition of the table. + + + + Convention to introduce indexes for foreign keys. + + + + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Initializes a new instance of with the default precision and scale. + + + + + Initializes a new instance of with the specified precision and scale. + + Precision + Scale + + + + + + + Convention to move primary key properties to appear first. + + + + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + + + + Base class for conventions that discover foreign key properties. + + + + + Returns true if the convention supports pairs of entity types that have multiple associations defined between them. + + + + + When overridden returns true if should be part of the foreign key. + + The association type being configured. + The dependent end. + The candidate property on the dependent end. + The principal end entity type. + A key property on the principal end that is a candidate target for the foreign key. + true if dependentProperty should be a part of the foreign key; otherwise, false. + + + + + + + Convention to process instances of found on navigation properties in the model. + + + + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + + + + Base class for conventions that discover primary key properties. + + + + + + + + When overridden returns the subset of properties that will be part of the primary key. + + The entity type. + The primitive types of the entities + The properties that should be part of the primary key. + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + + + + + + + Convention to enable cascade delete for any required relationships. + + + + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + + + + Convention to set a maximum length for properties whose type supports length facets. The default value is 128. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The maximum length of properties. + + + + + + + + + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Initializes a new instance of with the default length. + + + + + Initializes a new instance of with the specified length. + + The default maximum length for properties. + + + + + + + + + + Convention to configure integer primary keys to be identity. + + + + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + + + + A convention that operates on the conceptual section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Identifies conventions that can be added to or removed from a instance. + + + Note that implementations of this interface must be immutable. + + + + + A convention that operates on the database section of the model after the model is created. + + The type of metadata item that this convention operates on. + + + + Applies this convention to an item in the model. + + The item to apply the convention to. + The model. + + + + Allows configuration to be performed for an entity type in a model. + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + The entity type being configured. + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + A builder to configure the key. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures index property(s) for this entity type. + + The type of the index. + A lambda expression representing the property to apply an index to. C#: t => t.Id VB.Net: Function(t) t.Id If the index is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The IndexConfiguration instance so that the index can be further configured. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + A lambda expression representing the property to be configured. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Sets an annotation in the model for the table to which this entity is mapped. The annotation + value can later be used when processing the table such as when creating migrations. + + + It will likely be necessary to register a if the type of + the annotation value is anything other than a string. Passing a null value clears any annotation with + the given name on the column that had been previously set. + + The annotation name, which must be a valid C#/EDM identifier. + The annotation value, which may be a string or some other type that + can be serialized with an . + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + The default conventions for procedure and parameter names will be used. + + The same configuration instance so that multiple calls can be chained. + + + + Configures this type to use stored procedures for insert, update and delete. + + + Configuration to override the default conventions for procedure and parameter names. + + The same configuration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + The properties of an entity can be split between multiple tables using multiple Map calls. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + + An action that performs configuration against an + + . + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + A lambda expression representing the navigation property for the relationship. C#: t => t.MyProperty VB.Net: Function(t) t.MyProperty + A configuration object that can be used to further configure the relationship. + + + + + + + + + + + + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + Initializes a new instance of class serialization info and streaming context. + The serialization info. + The streaming context. + + + + By default expression like + .Select(x => NewProperty = func(x.Property)).Where(x => x.NewProperty == ...) + are simplified to avoid nested SELECT + In some cases, simplifying query with UDFs could caused to suboptimal plans due to calling UDF twice. + Also some SQL functions aren't allow in WHERE clause. + Disabling that behavior + + + + + An implementation of that will use Code First Migrations + to update the database to the latest version. + + The type of the context. + The type of the migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will use + the connection information from a context constructed using the default constructor + or registered factory if applicable + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class specifying whether to + use the connection information from the context that triggered initialization to perform the migration. + Also allows specifying migrations configuration to use during initialization. + + + If set to true the initializer is run using the connection information from the context that + triggered initialization. Otherwise, the connection information will be taken from a context constructed + using the default constructor or registered factory if applicable. + + Migrations configuration to use during initialization. + + + + Initializes a new instance of the MigrateDatabaseToLatestVersion class that will + use a specific connection string from the configuration file to connect to + the database to perform the migration. + + The name of the connection string to use for migration. + + + + + + + Helper class that is used to configure a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new column definition to store Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + Value indicating whether or not this column should be configured as a timestamp. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The numeric precision of the column. + The numeric scale of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Value indicating whether or not the database will generate values for this column during insert. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Value indicating whether or not the database will generate values for this column during insert. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the column supports Unicode content. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + The precision of the column. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store hierarchyid data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + Creates a new column definition to store geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Value indicating whether or not the column allows null values. + Constant value to use as the default value for this column. + SQL expression used as the default value for this column. + The name of the column. + Provider specific data type to use for this column. + Custom annotations usually from the Code First model. + The newly constructed column definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to configure a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a new parameter definition to pass Binary data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the array data. + Value indicating whether or not all data should be padded to the maximum length. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Boolean data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Byte data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTime data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Decimal data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The numeric precision of the parameter. + The numeric scale of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Double data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass GUID data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Single data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Short data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Integer data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Long data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass String data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The maximum allowable length of the string data. + Value indicating whether or not all data should be padded to the maximum length. + Value indicating whether or not the parameter supports Unicode content. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass Time data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass DateTimeOffset data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The precision of the parameter. + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geography data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + Creates a new parameter definition to pass geometry data. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Constant value to use as the default value for this parameter. + SQL expression used as the default value for this parameter. + The name of the parameter. + Provider specific data type to use for this parameter. + A value indicating whether the parameter is an output parameter. + The newly constructed parameter definition. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Helper class that is used to further configure a table being created from a CreateTable call on + + . + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The type that represents the table's columns. + + + + Initializes a new instance of the TableBuilder class. + + The table creation operation to be further configured. + The migration the table is created in. + + + + Specifies a primary key for the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be used as the primary key. C#: t => t.Id VB.Net: Function(t) t.Id If the primary key is made up of multiple properties then specify an anonymous type including the properties. C#: t => new { t.Id1, t.Id2 } VB.Net: Function(t) New With { t.Id1, t.Id2 } + The name of the primary key. If null is supplied, a default name will be generated. + A value indicating whether or not this is a clustered primary key. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies an index to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A lambda expression representing the property to be indexed. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties are to be indexed then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + The name of the index. + A value indicating whether or not this is a unique index. + A value indicating whether or not this is a clustered index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + Specifies a foreign key constraint to be created on the table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table that the foreign key constraint targets. + A lambda expression representing the properties of the foreign key. C#: t => t.PropertyOne VB.Net: Function(t) t.PropertyOne If multiple properties make up the foreign key then specify an anonymous type including the properties. C#: t => new { t.PropertyOne, t.PropertyTwo } VB.Net: Function(t) New With { t.PropertyOne, t.PropertyTwo } + A value indicating whether or not cascade delete should be configured on the foreign key constraint. + The name of this foreign key constraint. If no name is supplied, a default name will be calculated. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + Itself, so that multiple calls can be chained. + + + + + + + + + + + + + Gets the of the current instance. + + The exact runtime type of the current instance. + + + + Creates a shallow copy of the current . + + A shallow copy of the current . + + + + Base class for code-based migrations. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operations to be performed during the upgrade process. + + + + + Operations to be performed during the downgrade process. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + The parameters in this create stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter a stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The parameters in this alter stored procedure operation. You do not need to specify this + type, it will be inferred from the parameter you supply. + + + The name of the stored procedure. Schema name is optional, if no schema is specified then dbo is + assumed. + + The action that specifies the parameters of the stored procedure. + The body of the stored procedure. + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing stored procedure with the specified name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the procedure to drop. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The additional arguments that may be processed by providers. Use anonymous type syntax + to specify arguments. For example, 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to create a new table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this create table operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + Custom annotations that exist on the table to be created. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + An object that allows further configuration of the table creation operation. + + + + Adds an operation to handle changes in the annotations defined on tables. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The columns in this operation. You do not need to specify this type, it will + be inferred from the columnsAction parameter you supply. + + The name of the table. Schema name is optional, if no schema is specified then dbo is assumed. + + An action that specifies the columns to be included in the table. i.e. t => new { Id = + t.Int(identity: true), Name = t.String() } + + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The column this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new foreign key constraint. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + The columns this foreign key references. If no value is supplied the primary key of the + principal table will be referenced. + + + A value indicating if cascade delete should be configured for the foreign key + relationship. If no value is supplied, cascade delete will be off. + + + The name of the foreign key constraint in the database. If no value is supplied a unique name will + be generated. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The name of the foreign key constraint in the database. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the column it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key column. + Schema name is optional, if no schema is specified then dbo is assumed. + + The foreign key column. + + The table that contains the column this foreign key references. + Schema name is optional, if no schema is specified then dbo is assumed. + + The columns this foreign key references. + + Additional arguments that may be processed by providers. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a foreign key constraint based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the foreign key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The foreign key columns. + + The table that contains the columns this foreign key references. Schema name is optional, + if no schema is specified then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be dropped. Schema name is optional, if no schema is specified then dbo is + assumed. + + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a table to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be moved. Schema name is optional, if no schema is specified then dbo is + assumed. + + The schema the table is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to move a stored procedure to a new schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be moved. Schema name is optional, if no schema is specified + then dbo is assumed. + + The schema the stored procedure is to be moved to. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a table. To change the schema of a table use MoveTable. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to be renamed. Schema name is optional, if no schema is specified then dbo is + assumed. + + + The new name for the table. Schema name is optional, if no schema is specified then dbo is + assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a stored procedure. To change the schema of a stored procedure use MoveStoredProcedure + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the stored procedure to be renamed. Schema name is optional, if no schema is specified + then dbo is assumed. + + + The new name for the stored procedure. Schema name is optional, if no schema is specified then + dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the column to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the column to be renamed. + The new name for the column. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to add a column to an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to add the column to. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be added. + + An action that specifies the column to be added. i.e. c => c.Int(nullable: false, + defaultValue: 3) + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the column from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to alter the definition of an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table the column exists in. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to be changed. + + An action that specifies the new definition for the column. i.e. c => c.String(nullable: + false, defaultValue: "none") + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The primary key column. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create a new primary key based on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key columns. Schema name is optional, if no schema is + specified then dbo is assumed. + + The primary key columns. + + The name of the primary key in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered primary key. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that does not have the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the primary key to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an existing primary key that was created with the default name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The table that contains the primary key column. Schema name is optional, if no schema is specified + then dbo is assumed. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on a single column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to create an index on multiple columns. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to create the index on. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the columns to create the index on. + + A value indicating if this is a unique index. If no value is supplied a non-unique index will be + created. + + + The name to use for the index in the database. If no value is supplied a unique name will be + generated. + + A value indicating whether or not this is a clustered index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on its name. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the index to be dropped. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to drop an index based on the columns it targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table to drop the index from. Schema name is optional, if no schema is specified + then dbo is assumed. + + The name of the column(s) the index targets. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to rename an index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The name of the table that contains the index to be renamed. Schema name is optional, if no + schema is specified then dbo is assumed. + + The name of the index to be renamed. + The new name for the index. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL command or set of SQL commands. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The SQL file to be executed. Relative paths are assumed to be relative to the current AppDomain's BaseDirectory. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Adds an operation to execute a SQL resource file. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The manifest resource name of the SQL resource file to be executed. + + The assembly containing the resource file. The calling assembly is assumed if not provided. + + + A value indicating if the SQL should be executed outside of the transaction being + used for the migration process. If no value is supplied the SQL will be executed within the transaction. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + + + + + + + + + + + + + + + + + + + Configuration relating to the use of migrations for a given model. + You will typically create a configuration class that derives + from rather than + using this class. + + + + + The default directory that migrations are stored in. + + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Gets or sets a value indicating if automatic migrations can be used when migrating the database. + + + + + Gets or sets the string used to distinguish migrations belonging to this configuration + from migrations belonging to other configurations using the same database. + This property enables migrations from multiple different models to be applied to a single database. + + + + + Gets or sets a value indicating if data loss is acceptable during automatic migration. + If set to false an exception will be thrown if data loss may occur as part of an automatic migration. + + + + + Adds a new SQL generator to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + The SQL generator to be used. + + + + Gets the SQL generator that is set to be used with a given database provider. + + Name of the database provider to get the SQL generator for. + The SQL generator that is set for the database provider. + + + + Adds a new factory for creating instances to be used for a given database provider. + + Name of the database provider to set the SQL generator for. + + A factory for creating instances for a given and + representing the default schema. + + + + + Gets the history context factory that is set to be used with a given database provider. + + Name of the database provider to get thefactory for. + The history context factory that is set for the database provider. + + + + Gets or sets the derived DbContext representing the model to be migrated. + + + + + Gets or sets the namespace used for code-based migrations. + + + + + Gets or sets the sub-directory that code-based migrations are stored in. + Note that this property must be set to a relative path for a sub-directory under the + Visual Studio project root; it cannot be set to an absolute path. + + + + + Gets or sets the code generator to be used when scaffolding migrations. + + + + + Gets or sets the assembly containing code-based migrations. + + + + + Gets or sets a value to override the connection of the database to be migrated. + + + + + Gets or sets the timeout value used for the individual commands within a + migration. + + + The time in seconds to wait for the command to execute. A null value indicates + that the default value of the underlying provider will be used. + + + + + Configuration relating to the use of migrations for a given model. + + The context representing the model that this configuration applies to. + + + + Initializes a new instance of the DbMigrationsConfiguration class. + + + + + Runs after upgrading to the latest migration to allow seed data to be updated. + + + Note that the database may already contain seed data when this method runs. This means that + implementations of this method must check whether or not seed data is present and/or up-to-date + and then only make changes if necessary and in a non-destructive way. The + + can be used to help with this, but for seeding large amounts of data it may be necessary to do less + granular checks if performance is an issue. + If the database + initializer is being used, then this method will be called each time that the initializer runs. + If one of the , , + or initializers is being used, then this method will not be + called and the Seed method defined in the initializer should be used instead. + + Context to be used for updating seed data. + + + + + + + + + + + + + + + + + + + DbMigrator is used to apply existing migrations to a database. + DbMigrator can be used to upgrade and downgrade to any given migration. + To scaffold migrations based on changes to your model use + + + + + Migration Id representing the state of the database before any migrations are applied. + + + + + Initializes a new instance of the DbMigrator class. + + Configuration to be used for the migration process. + + + + Initializes a new instance of the DbMigrator class using the supplied context. + Use this constructor when applying migrations from code to avoid having migrations attempt + to create a context/connection for you. + + Configuration to be used for the migration process. + The to use. + + + + Gets the configuration that is being used for the migration process. + + + + + Gets all migrations that are defined in the configured migrations assembly. + + The list of migrations. + + + + Gets all migrations that have been applied to the target database. + + The list of migrations. + + + + Gets all migrations that are defined in the assembly but haven't been applied to the target database. + + The list of migrations. + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + A set of extension methods for + + + + + Adds or updates entities by key when SaveChanges is called. Equivalent to an "upsert" operation + from database terminology. + This method can be useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Adds or updates entities by a custom identification expression when SaveChanges is called. + Equivalent to an "upsert" operation from database terminology. + This method can useful when seeding data using Migrations. + + The type of entities to add or update. + The set to which the entities belong. + An expression specifying the properties that should be used when determining whether an Add or Update operation should be performed. + The entities to add or update. + + When the parameter is a custom or fake IDbSet implementation, this method will + attempt to locate and invoke a public, instance method with the same signature as this extension method. + + + + + Generates C# code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which using directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to specify the definition for a . + The parameter definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + Base class for providers that generate code for code-based migrations. + + + + + Generates the code that should be added to the users project. + + Unique identifier of the migration. + Operations to be performed by the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Gets the namespaces that must be output as "using" or "Imports" directives to handle + the code generated by the given operations. + + The operations for which code is going to be generated. + An ordered list of namespace names. + + + + Gets the default namespaces that must be output as "using" or "Imports" directives for + any code generated. + + A value indicating if this class is being generated for a code-behind file. + An ordered list of namespace names. + + + + Gets the instances that are being used. + + + + + Scaffolds code-based migrations to apply pending model changes to the database. + + + + + Initializes a new instance of the MigrationScaffolder class. + + Configuration to be used for scaffolding. + + + + Gets or sets the namespace used in the migration's generated code. + By default, this is the same as MigrationsNamespace on the migrations + configuration object passed into the constructor. For VB.NET projects, this + will need to be updated to take into account the project's root namespace. + + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + The scaffolded migration. + + + + Scaffolds a code based migration to apply any pending model changes to the database. + + The name to use for the scaffolded migration. + Whether or not to include model changes. + The scaffolded migration. + + + + Scaffolds the initial code-based migration corresponding to a previously run database initializer. + + The scaffolded migration. + + + + Represents a code-based migration that has been scaffolded and is ready to be written to a file. + + + + + Gets or sets the unique identifier for this migration. + Typically used for the file name of the generated code. + + + + + Gets or sets the scaffolded migration code that the user can edit. + + + + + Gets or sets the scaffolded migration code that should be stored in a code behind file. + + + + + Gets or sets the programming language used for this migration. + Typically used for the file extension of the generated code. + + + + + Gets or sets the subdirectory in the user's project that this migration should be saved in. + + + + + Gets a dictionary of string resources to add to the migration resource file. + + + + + Gets or sets whether the migration was re-scaffolded. + + + + + Generates VB.Net code for a code-based migration. + + + + + + + + Generates the primary code file that the user can view and edit. + + Operations to be performed by the migration. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates the code behind file with migration metadata. + + Unique identifier of the migration. + Source model to be stored in the migration metadata. + Target model to be stored in the migration metadata. + Namespace that code should be generated in. + Name of the class that should be generated. + The generated code. + + + + Generates a property to return the source or target model in the code behind file. + + Name of the property. + Value to be returned. + Text writer to add the generated code to. + + + + Generates class attributes. + + Text writer to add the generated code to. + A value indicating if this class is being generated for a code-behind file. + + + + Generates a namespace, using statements and class definition. + + Namespace that code should be generated in. + Name of the class that should be generated. + Text writer to add the generated code to. + Base class for the generated class. + A value indicating if this class is being generated for a code-behind file. + Namespaces for which Imports directives will be added. If null, then the namespaces returned from GetDefaultNamespaces will be used. + + + + Generates the closing code for a class that was started with WriteClassStart. + + Namespace that code should be generated in. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for to re-create the given dictionary of annotations for use when passing + these annotations as a parameter of a . call. + + The annotations to generate. + The writer to which generated code should be written. + + + + Generates code for the given annotation value, which may be null. The default behavior is to use an + if one is registered, otherwise call ToString on the annotation value. + + + Note that a can be registered to generate code for custom annotations + without the need to override the entire code generator. + + The name of the annotation for which code is needed. + The annotation value to generate. + The writer to which generated code should be written. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + Generates code to perform a . + The parameter model definition to generate code for. + Text writer to add the generated code to. + true to include the column name in the definition; otherwise, false. + + + Generates code to perform a . + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code for an . + + The operation for which code should be generated. + The writer to which generated code should be written. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a as part of a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify a set of column names using a lambda expression. + + The columns to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform an . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to specify the definition for a . + + The column definition to generate code for. + Text writer to add the generated code to. + A value indicating whether to include the column name in the definition. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to specify the default value for a column of unknown data type. + + The value to be used as the default. + Code representing the default value. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Generates code to perform a . + + The operation to generate code for. + Text writer to add the generated code to. + + + + Removes any invalid characters from the name of an database artifact. + + The name to be scrubbed. + The scrubbed name. + + + + Gets the type name to use for a column of the given data type. + + The data type to translate. + The type name to use in the generated migration. + + + + Quotes an identifier using appropriate escaping to allow it to be stored in a string. + + The identifier to be quoted. + The quoted identifier. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + To customize the definition of the migrations history table you can derive from + this class and override OnModelCreating. Derived instances can either be registered + on a per migrations configuration basis using , + or globally using . + + + + + The default name used for the migrations history table. + + + + + Initializes a new instance of the HistoryContext class. + If you are creating a derived history context you will generally expose a constructor + that accepts these same parameters and passes them to this base constructor. + + + An existing connection to use for the new context. + + + The default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets the key used to locate a model that was previously built for this context. This is used + to avoid processing OnModelCreating and calculating the model every time a new context instance is created. + By default this property returns the default schema. + In most cases you will not need to override this property. However, if your implementation of OnModelCreating + contains conditional logic that results in a different model being built for the same database provider and + default schema you should override this property and calculate an appropriate key. + + + + + Gets the default schema of the model being migrated. + This schema will be used for the migrations history table unless a different schema is configured in OnModelCreating. + + + + + Gets or sets a that can be used to read and write instances. + + + + + Applies the default configuration for the migrations history table. If you override + this method it is recommended that you call this base implementation before applying your + custom configuration. + + The builder that defines the model for the context being created. + + + + This class is used by Code First Migrations to read and write migration history + from the database. + + + + + Gets or sets the Id of the migration this row represents. + + + + + Gets or sets a key representing to which context the row applies. + + + + + Gets or sets the state of the model after this migration was applied. + + + + + Gets or sets the version of Entity Framework that created this entry. + + + + + Represents an error that occurs when an automatic migration would result in data loss. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + + + + Initializes a new instance of the AutomaticDataLossException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Represents an error that occurs when there are pending model changes after applying the last migration and automatic migration is disabled. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + + + + Initializes a new instance of the AutomaticMigrationsDisabledException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Explicitly implemented by to prevent certain members from showing up + in the IntelliSense of scaffolded migrations. + + + + + Adds a custom to the migration. + Custom operation implementors are encouraged to create extension methods on + that provide a fluent-style API for adding new operations. + + The operation to add. + + + + Provides additional metadata about a code-based migration. + + + + + Gets the unique identifier for the migration. + + + + + Gets the state of the model before this migration is run. + + + + + Gets the state of the model after this migration is run. + + + + + Represents errors that occur inside the Code First Migrations pipeline. + + + + + Initializes a new instance of the MigrationsException class. + + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the MigrationsException class with serialized data. + + + The that holds the serialized object data about the exception being thrown. + + + The that contains contextual information about the source or destination. + + + + + Base class for loggers that can be used for the migrations process. + + + + + Logs an informational message. + + The message to be logged. + + + + Logs a warning that the user should be made aware of. + + The message to be logged. + + + + Logs some additional information that should only be presented to the user if they request verbose output. + + The message to be logged. + + + + Thrown when an operation can't be performed because there are existing migrations that have not been applied to the database. + + + + + Initializes a new instance of the MigrationsPendingException class. + + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + + + + Initializes a new instance of the MigrationsPendingException class. + + The message that describes the error. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Base class for decorators that wrap the core + + + + + Initializes a new instance of the MigratorBase class. + + The migrator that this decorator is wrapping. + + + + Gets a list of the pending migrations that have not been applied to the database. + + List of migration Ids + + + + Gets the configuration being used for the migrations process. + + + + + Updates the target database to the latest migration. + + + + + Updates the target database to a given migration. + + The migration to upgrade/downgrade to. + + + + Gets a list of the migrations that are defined in the assembly. + + List of migration Ids + + + + Gets a list of the migrations that have been applied to the database. + + List of migration Ids + + + + Decorator to provide logging during migrations operations.. + + + + + Initializes a new instance of the MigratorLoggingDecorator class. + + The migrator that this decorator is wrapping. + The logger to write messages to. + + + + Decorator to produce a SQL script instead of applying changes to the database. + Using this decorator to wrap will prevent + from applying any changes to the target database. + + + + + Initializes a new instance of the MigratorScriptingDecorator class. + + The migrator that this decorator is wrapping. + + + + Produces a script to update the database. + + + The migration to update from. If null is supplied, a script to update the + current database will be produced. + + + The migration to update to. If null is supplied, + a script to update to the latest migration will be produced. + + The generated SQL script. + + + + Represents a column being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be added to. + Details of the column being added. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be added to. + + + + + Gets the details of the column being added. + + + + + Gets an operation that represents dropping the added column. + + + + + + + + Represents a foreign key constraint being added to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddForeignKeyOperation class. + The PrincipalTable, PrincipalColumns, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + The names of the column(s) that the foreign key constraint should target. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if cascade delete should be configured on the foreign key constraint. + + + + + Gets an operation to create an index on the foreign key column(s). + + An operation to add the index. + + + + Gets an operation to drop the foreign key constraint. + + + + + + + + Represents adding a primary key to a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AddPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the primary key. + + + + + Represents altering an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the AlterColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table that the column belongs to. + Details of what the column should be altered to. + Value indicating if this change will result in data loss. + An operation to revert this alteration of the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table that the column belongs to. + + + + + Gets the new definition for the column. + + + + + Gets an operation that represents reverting the alteration. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents altering an existing stored procedure. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Represents changes made to custom annotations on a table. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the AlterTableOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table on which annotations have changed. + The custom annotations on the table that have changed. + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets the name of the table on which annotations have changed. + + + + + Gets the columns to be included in the table for which annotations have changed. + + + + + Gets the custom annotations that have changed on the table. + + + + + Gets an operation that is the inverse of this one such that annotations will be changed back to how + they were before this operation was applied. + + + + + + + + Represents information about a column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + + + + Initializes a new instance of the ColumnModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this column. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the CLR type corresponding to the database type of this column. + + + + + Gets the default value for the CLR type corresponding to the database type of this column. + + + + + Gets or sets a value indicating if this column can store null values. + + + + + Gets or sets a value indicating if values for this column will be generated by the database using the identity pattern. + + + + + Gets or sets a value indicating if this property model should be configured as a timestamp. + + + + + Gets or sets the custom annotations that have changed on the column. + + + + + Determines if this column is a narrower data type than another column. + Used to determine if altering the supplied column definition to this definition will result in data loss. + + The column to compare to. + Details of the database provider being used. + True if this column is of a narrower data type. + + + + Represents creating a database index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateIndexOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets a value indicating if this is a unique index. + + + + + Gets an operation to drop this index. + + + + + + + + Gets or sets whether this is a clustered index. + + + + + A migration operation to add a new stored procedure to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the stored procedure. + + + + + Represents creating a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the CreateTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be created. + Custom annotations that exist on the table to be created. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be created. + + + + + Gets the columns to be included in the new table. + + + + + Gets or sets the primary key for the new table. + + + + + Gets custom annotations that exist on the table to be created. + + + + + Gets an operation to drop the table. + + + + + + + + Represents a column being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table the column should be dropped from. + The name of the column to be dropped. + Custom annotations that exist on the column that is being dropped. May be null or empty. + The operation that represents reverting the drop operation. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column should be dropped from. + + + + + Gets the name of the column to be dropped. + + + + + Gets custom annotations that exist on the column that is being dropped. + + + + + Gets an operation that represents reverting dropping the column. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents a foreign key constraint being dropped from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropForeignKeyOperation class. + The PrincipalTable, DependentTable and DependentColumns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc.. + + The operation that represents reverting dropping the foreign key constraint. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to drop the associated index on the foreign key column(s). + + An operation to drop the index. + + + + Gets an operation that represents reverting dropping the foreign key constraint. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The operation that represents reverting dropping the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation that represents reverting dropping the index. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Represents dropping a primary key from a table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropPrimaryKeyOperation class. + The Table and Columns properties should also be populated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets an operation to add the primary key. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Drops a stored procedure from the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to drop. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to drop. + + + The name of the stored procedure to drop. + + + + + Gets an operation that will revert this operation. + Always returns a . + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents dropping an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Initializes a new instance of the DropTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the table to be dropped. + Custom annotations that exist on the table that is being dropped. May be null or empty. + Custom annotations that exist on columns of the table that is being dropped. May be null or empty. + An operation that represents reverting dropping the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be dropped. + + + + + Gets custom annotations that exist on the table that is being dropped. + + + + + Gets custom annotations that exist on columns of the table that is being dropped. + + + + + Gets an operation that represents reverting dropping the table. + The inverse cannot be automatically calculated, + if it was not supplied to the constructor this property will return null. + + + + + + + + Base class for changes that affect foreign key constraints. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ForeignKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that the foreign key constraint targets. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the name of the table that the foreign key columns exist in. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + The names of the foreign key column(s). + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this foreign key constraint. + + + + + Gets or sets the name of this foreign key constraint. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Operation representing DML changes to the migrations history table. + The migrations history table is used to store a log of the migrations that have been applied to the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the HistoryOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + A sequence of command trees representing the operations being applied to the history table. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + A sequence of commands representing the operations being applied to the history table. + + + + + + + + Common base class for operations affecting indexes. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Creates a default index name based on the supplied column names. + + The column names used to create a default index name. + A default index name. + + + + Initializes a new instance of the IndexOperation class. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Additional arguments that may be processed by providers. Use anonymous type syntax to + specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + + Gets or sets the table the index belongs to. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the columns that are indexed. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this index. + + + + + Gets or sets the name of this index. + If no name is supplied, a default name will be calculated. + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents an operation to modify a database schema. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MigrationOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" + }'. + + + + + Gets additional arguments that may be processed by providers. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. + + + + + Represents moving a stored procedure to a new schema in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to move. + The new schema for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to move. + + + The name of the stored procedure to move. + + + + + Gets the new schema for the stored procedure. + + + The new schema for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents moving a table from one schema to another. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the MoveTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be moved. + Name of the schema to move the table to. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be moved. + + + + + Gets the name of the schema to move the table to. + + + + + Gets an operation that moves the table back to its original schema. + + + + + + + + Used when altering the migrations history table so that data can be moved to the new table. + + + The context key for the model. + + + + + Gets a value that indicates whether this is a system table. + + + true if the table is a system table; otherwise, false. + + + + + Used when altering the migrations history table so that the table can be rebuilt rather than just dropping and adding the primary key. + + + The create table operation for the migrations history table. + + + + + Represents a migration operation that can not be performed, possibly because it is not supported by the targeted database provider. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a parameter. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + + + + Initializes a new instance of the ParameterModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this parameter. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets or sets a value indicating whether this instance is out parameter. + + + true if this instance is out parameter; otherwise, false. + + + + + Common base class to represent operations affecting primary keys. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Returns the default name for the primary key. + + The target table name. + The default primary key name. + + + + Initializes a new instance of the PrimaryKeyOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets or sets the name of the table that contains the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets the column(s) that make up the primary key. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets a value indicating if a specific name has been supplied for this primary key. + + + + + Gets or sets the name of this primary key. + If no name is supplied, a default name will be calculated. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + + + + Gets or sets whether this is a clustered primary key. + + + + + A migration operation that affects stored procedures. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure. + The body of the stored procedure expressed in SQL. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure. + + + The name of the stored procedure. + + + + + Gets the body of the stored procedure expressed in SQL. + + + The body of the stored procedure expressed in SQL. + + + + + Gets the parameters of the stored procedure. + + + The parameters of the stored procedure. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents information about a property of an entity. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the PropertyModel class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The data type for this property model. + Additional details about the data type. This includes details such as maximum length, nullability etc. + + + + Gets the data type for this property model. + + + + + Gets additional details about the data type of this property model. + This includes details such as maximum length, nullability etc. + + + + + Gets or sets the name of the property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a provider specific data type to use for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the maximum length for this property model. + Only valid for array data types. + + + + + Gets or sets the precision for this property model. + Only valid for decimal data types. + + + + + Gets or sets the scale for this property model. + Only valid for decimal data types. + + + + + Gets or sets a constant value to use as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a SQL expression used as the default value for this property model. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating if this property model is fixed length. + Only valid for array data types. + + + + + Gets or sets a value indicating if this property model supports Unicode characters. + Only valid for textual data types. + + + + + Represents renaming an existing column. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameColumnOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the column belongs to. + Name of the column to be renamed. + New name for the column. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the column belongs to. + + + + + Gets the name of the column to be renamed. + + + + + Gets the new name for the column. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming an existing index. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameIndexOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table the index belongs to. + Name of the index to be renamed. + New name for the index. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table the index belongs to. + + + + + Gets the name of the index to be renamed. + + + + + Gets the new name for the index. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents renaming a stored procedure in the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The name of the stored procedure to rename. + The new name for the stored procedure. + Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the stored procedure to rename. + + + The name of the stored procedure to rename. + + + + + Gets the new name for the stored procedure. + + + The new name for the stored procedure. + + + + + Gets an operation that will revert this operation. + + + + + Gets a value indicating if this operation may result in data loss. Always returns false. + + + + + Represents renaming an existing table. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the RenameTableOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + Name of the table to be renamed. + New name for the table. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the name of the table to be renamed. + + + + + Gets the new name for the table. + + + + + Gets an operation that reverts the rename. + + + + + + + + Represents a provider specific SQL statement to be executed directly against the target database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Initializes a new instance of the SqlOperation class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The SQL to be executed. + Additional arguments that may be processed by providers. Use anonymous type syntax to specify arguments e.g. 'new { SampleArgument = "MyValue" }'. + + + + Gets the SQL to be executed. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + + + + Used when scripting an update database operation to store the operations that would have been performed against the database. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Represents a migration to be applied to the database. + + + + + Gets the id of the migration. + + + The id of the migration. + + + + + Gets the individual operations applied by this migration. + + + The individual operations applied by this migration. + + + + + Initializes a new instance of the class. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + The queries used to determine if this migration needs to be applied to the database. + This is used to generate an idempotent SQL script that can be run against a database at any version. + + + + + Gets the migrations applied during the update database operation. + + + The migrations applied during the update database operation. + + + + + Adds a migration to this update database operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + The id of the migration. + The individual operations applied by the migration. + + + + Gets a value indicating if any of the operations may result in data loss. + + + + + Common base class for providers that convert provider agnostic migration + operations into database provider specific SQL commands. + + + + + Gets or sets the provider manifest. + + + The provider manifest. + + + + + Converts a set of migration operations into database provider specific SQL. + + The operations to be converted. + Token representing the version of the database being targeted. + A list of SQL statements to be executed to perform the migration operations. + + + + Generates the SQL body for a stored procedure. + + The command trees representing the commands for an insert, update or delete operation. + The rows affected parameter name. + The provider manifest token. + The SQL body for the stored procedure. + + + + Determines if a provider specific exception corresponds to a database-level permission denied error. + + The database exception. + true if the supplied exception corresponds to a database-level permission denied error; otherwise false. + + + + Builds the store type usage for the specified using the facets from the specified . + + Name of the store type. + The target property. + A store-specific TypeUsage + + + + Represents a migration operation that has been translated into a SQL statement. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets the SQL to be executed to perform this migration operation. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + + + Gets or sets a value indicating whether this statement should be performed outside of + the transaction scope that is used to make the migration process transactional. + If set to true, this operation will not be rolled back if the migration process fails. + + + + + Gets or sets the batch terminator for the database provider. + + Entity Framework Migrations APIs are not designed to accept input provided by untrusted sources + (such as the end user of an application). If input is accepted from such sources it should be validated + before being passed to these APIs to protect against SQL injection attacks etc. + + + The batch terminator for the database provider. + + + + + The same as but works in partial trust and adds explicit caching of + generated indentation string and also recognizes writing a string that contains just \r\n or \n as a write-line to ensure + we indent the next line properly. + + + + + Specifies the default tab string. This field is constant. + + + + + Specifies the culture what will be used by the underlying TextWriter. This static property is read-only. + Note that any writer passed to one of the constructors of must use this + same culture. The culture is . + + + + + Gets the encoding for the text writer to use. + + + An that indicates the encoding for the text writer to use. + + + + + Gets or sets the new line character to use. + + The new line character to use. + + + + Gets or sets the number of spaces to indent. + + The number of spaces to indent. + + + + Gets the to use. + + + The to use. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and default tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + + + + Initializes a new instance of the IndentedTextWriter class using the specified text writer and tab string. + Note that the writer passed to this constructor must use the specified by the + property. + + + The to use for output. + + The tab string to use for indentation. + + + + Closes the document being written to. + + + + + Flushes the stream. + + + + + Outputs the tab string once for each level of indentation according to the + + property. + + + + + Builds a string representing the current indentation level for a new line. + + + Does NOT check if tabs are currently pending, just returns a string that would be + useful in replacing embedded newline characters. + + An empty string, or a string that contains .Indent level's worth of specified tab-string. + + + + Writes the specified string to the text stream. + + The string to write. + + + + Writes the text representation of a Boolean value to the text stream. + + The Boolean value to write. + + + + Writes a character to the text stream. + + The character to write. + + + + Writes a character array to the text stream. + + The character array to write. + + + + Writes a subarray of characters to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double to the text stream. + + The double to write. + + + + Writes the text representation of a Single to the text stream. + + The single to write. + + + + Writes the text representation of an integer to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object to the text stream. + + The object to write. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the specified string to a line without tabs. + + The string to write. + + + + Writes the specified string, followed by a line terminator, to the text stream. + + The string to write. + + + + Writes a line terminator. + + + + + Writes the text representation of a Boolean, followed by a line terminator, to the text stream. + + The Boolean to write. + + + + Writes a character, followed by a line terminator, to the text stream. + + The character to write. + + + + Writes a character array, followed by a line terminator, to the text stream. + + The character array to write. + + + + Writes a subarray of characters, followed by a line terminator, to the text stream. + + The character array to write data from. + Starting index in the buffer. + The number of characters to write. + + + + Writes the text representation of a Double, followed by a line terminator, to the text stream. + + The double to write. + + + + Writes the text representation of a Single, followed by a line terminator, to the text stream. + + The single to write. + + + + Writes the text representation of an integer, followed by a line terminator, to the text stream. + + The integer to write. + + + + Writes the text representation of an 8-byte integer, followed by a line terminator, to the text stream. + + The 8-byte integer to write. + + + + Writes the text representation of an object, followed by a line terminator, to the text stream. + + The object to write. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string. + The object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The first object to write into the formatted string. + The second object to write into the formatted string. + + + + Writes out a formatted string, followed by a line terminator, using the same semantics as specified. + + The formatting string to use. + The argument array to output. + + + + Writes the text representation of a UInt32, followed by a line terminator, to the text stream. + + A UInt32 to output. + + + + An implementation of that does nothing. Using this + initializer disables database initialization for the given context type. Passing an instance + of this class to is equivalent to passing null. + When is being used to resolve initializers an instance of + this class must be used to disable initialization. + + The type of the context. + + + + + + + Extension methods for . + + + + + Returns an implementation that stays in sync with the given + . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + Useful extension methods for use with Entity Framework LINQ queries. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + The type of entity being queried. + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + This extension method calls the Include(String) method of the source object, + if such a method exists. If the source does not have a matching method, + then this method does nothing. The , , + and types all have an appropriate Include method to call. + Paths are all-inclusive. For example, if an include call indicates Include("Orders.OrderLines"), not only will + OrderLines be included, but also Orders. When you call the Include method, the query path is only valid on + the returned instance of the . Other instances of + and the object context itself are not affected. Because the Include method returns the query object, + you can call this method multiple times on an to specify multiple paths for the query. + + + The source on which to call Include. + + The dot-separated list of related objects to return in the query results. + + A new with the defined query path. + + + + + Specifies the related objects to include in the query results. + + + The path expression must be composed of simple property access expressions together with calls to Select for + composing additional includes after including a collection proprty. Examples of possible include paths are: + To include a single reference: query.Include(e => e.Level1Reference) + To include a single collection: query.Include(e => e.Level1Collection) + To include a reference and then a reference one level down: query.Include(e => e.Level1Reference.Level2Reference) + To include a reference and then a collection one level down: query.Include(e => e.Level1Reference.Level2Collection) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection and then a reference one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference)) + To include a collection and then a collection one level down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection)) + To include a collection, a reference, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Reference.Level3Reference)) + To include a collection, a collection, and a reference two levels down: query.Include(e => e.Level1Collection.Select(l1 => l1.Level2Collection.Select(l2 => l2.Level3Reference))) + This extension method calls the Include(String) method of the source IQueryable object, if such a method exists. + If the source IQueryable does not have a matching method, then this method does nothing. + The Entity Framework ObjectQuery, ObjectSet, DbQuery, and DbSet types all have an appropriate Include method to call. + When you call the Include method, the query path is only valid on the returned instance of the IQueryable<T>. Other + instances of IQueryable<T> and the object context itself are not affected. Because the Include method returns the + query object, you can call this method multiple times on an IQueryable<T> to specify multiple paths for the query. + + The type of entity being queried. + The type of navigation property being included. + The source IQueryable on which to call Include. + A lambda expression representing the path to include. + + A new IQueryable<T> with the defined query path. + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have an AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + The type of the elements of . + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Returns a new query that will stream the results instead of buffering. This method works by calling + the AsStreaming method of the underlying query object. If the underlying query object does not have + an AsStreaming method, then calling this method will have no affect. + + + An to apply AsStreaming to. + + A new query with AsStreaming applied, or the source query if AsStreaming is not supported. + + + + Enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query such that for server queries such as those of , + + , + , and others the results of the query will be loaded into the associated + + , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + A task that represents the asynchronous operation. + + + + Asynchronously enumerates the query results and performs the specified action on each element. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to enumerate. + + The action to perform on each element. + + A to observe while waiting for the task to complete. + + A task that represents the asynchronous operation. + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + An to create a from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a from. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create a list from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates an array from an by enumerating it asynchronously. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to create an array from. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains an array that contains elements from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function and a comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + An to create a from. + + A function to extract a key from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains selected keys and values. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Creates a from an by enumerating it asynchronously + according to a specified key selector function, a comparer, and an element selector function. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the key returned by . + + + The type of the value returned by . + + + An to create a from. + + A function to extract a key from each element. + A transform function to produce a result element value from each element. + + An to compare keys. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains a that contains values of type + selected from the input sequence. + + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + is null. + + + doesn't implement . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in . + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the first element in that passes the test in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence, or a default value if the sequence contains no elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty; otherwise, the first element in . + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the first element of a sequence that satisfies a specified condition + or a default value if no such element is found. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the first element of. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains default ( ) if + is empty or if no element passes the test specified by ; otherwise, the first + element in that passes the test specified by . + + + + or + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + The source sequence is empty. + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition, + and throws an exception if more than one such element exists. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + . + + + + or + + is + null + . + + + + doesn't implement + + . + + + No element satisfies the condition in + + . + + + More than one element satisfies the condition in + + . + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence, or a default value if the sequence is empty; + this method throws an exception if there is more than one element in the sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence, or default () + if the sequence contains no elements. + + + + is + null + . + + + + doesn't implement + + . + + + + has more than one element. + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the only element of a sequence that satisfies a specified condition or + a default value if no such element exists; this method throws an exception if more than one element + satisfies the condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + A function to test an element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the single element of the input sequence that satisfies the condition in + , or default ( ) if no such element is found. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains a specified element by using the default equality comparer. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to return the single element of. + + The object to locate in the sequence. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the input sequence contains the specified value; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether a sequence contains any elements. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An to check for being empty. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if the source sequence contains any elements; otherwise, false. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether any element of a sequence satisfies a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if any elements in the source sequence pass the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously determines whether all the elements of a sequence satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An whose elements to test for a condition. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains true if every element of the source sequence passes the test in the specified predicate; otherwise, false. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the number of elements in a sequence that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the total number of elements in a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the input sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns an that represents the number of elements in a sequence + that satisfy a condition. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to be counted. + + A function to test each element for a condition. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the number of elements in the sequence that satisfy the condition in the predicate function. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + that satisfy the condition in the predicate function + is larger than + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the minimum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the minimum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the minimum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the minimum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the minimum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously returns the maximum value of a sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + An that contains the elements to determine the maximum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously invokes a projection function on each element of a sequence and returns the maximum resulting value. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + The type of the value returned by the function represented by . + + + An that contains the elements to determine the maximum of. + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the maximum value in the sequence. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the sum of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the values in the sequence. + + + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the sum of the sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + + A sequence of values of type . + + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the sum of the projected values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + The number of elements in + + is larger than + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + A sequence of nullable values to calculate the average of. + + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + contains no elements. + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Asynchronously computes the average of a sequence of nullable values that is obtained + by invoking a projection function on each element of the input sequence. + + + Multiple active operations on the same context instance are not supported. Use 'await' to ensure + that any asynchronous operations have completed before calling another method on this context. + + + The type of the elements of . + + A sequence of values to calculate the average of. + A projection function to apply to each element. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the average of the sequence of values. + + + + or + + is + null + . + + + + doesn't implement + + . + + + + + Bypasses a specified number of elements in a sequence and then returns the remaining elements. + + The type of the elements of source. + A sequence to return elements from. + An expression that evaluates to the number of elements to skip. + A sequence that contains elements that occur after the specified index in the + input sequence. + + + + Returns a specified number of contiguous elements from the start of a sequence. + + The type of the elements of source. + The sequence to return elements from. + An expression that evaluates to the number of elements + to return. + A sequence that contains the specified number of elements from the + start of the input sequence. + + + + Represents data in a geodetic (round earth) coordinate system. + + + + Gets the default coordinate system id (SRID) for geography values (WGS 84) + The default coordinate system id (SRID) for geography values (WGS 84) + + + Gets a representation of this DbGeography value that is specific to the underlying provider that constructed it. + A representation of this DbGeography value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeography value. + A data contract serializable well known representation of this DbGeography value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeography value as defined by the well known binary value with the default geography coordinate system identifier (SRID)( + + ). + + A byte array that contains a well known binary representation of the geography value. + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeography value as defined by the GML value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new value based on the specified well known text value. + + + A new DbGeography value as defined by the well known text value with the default geography coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geography value. + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known text value. + The multi polygon value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeography value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geography value. + The identifier of the coordinate system that the new DbGeography value should use. + + + Gets the identifier associated with the coordinate system. + The identifier associated with the coordinate system. + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of the given value. + + + + Gets the spatial type name of the DBGeography. + The spatial type name of the DBGeography. + + + Gets a nullable Boolean value indicating whether this DbGeography value is empty. + True if this DbGeography value is empty; otherwise, false. + + + Generates the well known text representation of this DbGeography value. Includes only Longitude and Latitude for points. + A string containing the well known text representation of this DbGeography value. + + + Generates the well known binary representation of this DbGeography value. + The well-known binary representation of this DbGeography value. + + + Generates the Geography Markup Language (GML) representation of this DbGeography value. + A string containing the GML representation of this DbGeography value. + + + Determines whether this DbGeography is spatially equal to the specified DbGeography argument. + true if other is spatially equal to this geography value; otherwise false. + The geography value that should be compared with this geography value for equality. + + + Determines whether this DbGeography is spatially disjoint from the specified DbGeography argument. + true if other is disjoint from this geography value; otherwise false. + The geography value that should be compared with this geography value for disjointness. + + + Determines whether this DbGeography value spatially intersects the specified DbGeography argument. + true if other intersects this geography value; otherwise false. + The geography value that should be compared with this geography value for intersection. + + + Returns a geography object that represents the union of all points whose distance from a geography instance is less than or equal to a specified value. + A geography object that represents the union of all points + The distance. + + + Computes the distance between the closest points in this DbGeography value and another DbGeography value. + A double value that specifies the distance between the two closest points in this geography value and other. + The geography value for which the distance from this value should be computed. + + + Computes the intersection of this DbGeography value and another DbGeography value. + A new DbGeography value representing the intersection between this geography value and other. + The geography value for which the intersection with this value should be computed. + + + Computes the union of this DbGeography value and another DbGeography value. + A new DbGeography value representing the union between this geography value and other. + The geography value for which the union with this value should be computed. + + + Computes the difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the difference between this geography value and other. + The geography value for which the difference with this value should be computed. + + + Computes the symmetric difference of this DbGeography value and another DbGeography value. + A new DbGeography value representing the symmetric difference between this geography value and other. + The geography value for which the symmetric difference with this value should be computed. + + + Gets the number of elements in this DbGeography value, if it represents a geography collection. <returns>The number of elements in this geography value, if it represents a collection of other geography values; otherwise null.</returns> + The number of elements in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a geography collection. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a collection of other geography values; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets the Latitude coordinate of this DbGeography value, if it represents a point. <returns>The Latitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Latitude coordinate of this DbGeography value. + + + Gets the Longitude coordinate of this DbGeography value, if it represents a point. <returns>The Longitude coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The Longitude coordinate of this DbGeography value. + + + Gets the elevation (Z coordinate) of this DbGeography value, if it represents a point. <returns>The elevation (Z coordinate) value of this geography value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeography value. + + + Gets the M (Measure) coordinate of this DbGeography value, if it represents a point. <returns>The M (Measure) coordinate value of this geography value, if it represents a point; otherwise null.</returns> + The M (Measure) coordinate of this DbGeography value. + + + Gets a nullable double value that indicates the length of this DbGeography value, which may be null if this value does not represent a curve. + A nullable double value that indicates the length of this DbGeography value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a DbGeography value representing the start point of this value, which may be null if this DbGeography value does not represent a curve. + A DbGeography value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeography value is closed, which may be null if this value does not represent a curve. + True if this DbGeography value is closed; otherwise, false. + + + Gets the number of points in this DbGeography value, if it represents a linestring or linear ring. <returns>The number of elements in this geography value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeography value. + + + Returns an element of this DbGeography value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geography value from which the element should be taken.</param><returns>The element in this geography value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeography value from a specific position + The index. + + + Gets a nullable double value that indicates the area of this DbGeography value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeography value. + + + Returns a string representation of the geography value. + A string representation of the geography value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + Represents geometric shapes. + + + + Gets the default coordinate system id (SRID) for geometry values. + The default coordinate system id (SRID) for geometry values. + + + Gets a representation of this DbGeometry value that is specific to the underlying provider that constructed it. + A representation of this DbGeometry value. + + + + Gets the spatial provider that will be used for operations on this spatial type. + + + + Gets or sets a data contract serializable well known representation of this DbGeometry value. + A data contract serializable well known representation of this DbGeometry value. + + + + Creates a new value based on the specified well known binary value. + + + A new DbGeometry value as defined by the well known binary value with the default geometry coordinate system identifier ( + + ). + + A byte array that contains a well known binary representation of the geometry value. + wellKnownBinary + + + + Creates a new value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownBinary + coordinateSystemId + + + + Creates a new line value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownBinary + coordinateSystemId + + + + Creates a new point value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownBinary + coordinateSystemId + + + + Creates a new polygon value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownBinary + coordinateSystemId + + + Returns the multiline value from a binary value. + The multiline value from a binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multipoint value from a well-known binary value. + The multipoint value from a well-known binary value. + The well-known binary value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multipoint value from a well-known text value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known binary value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known binary value with the specified coordinate system identifier. + A byte array that contains a well known binary representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownBinary + coordinateSystemId + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new DbGeometry value as defined by the GML value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + geometryMarkup + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the GML value with the specified coordinate system identifier. + A string that contains a Geography Markup Language (GML) representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryMarkup + coordinateSystemId + + + + Creates a new value based on the specified well known text value. + + + A new DbGeometry value as defined by the well known text value with the default geometry coordinate system identifier (SRID) ( + + ). + + A string that contains a well known text representation of the geometry value. + wellKnownText + + + + Creates a new value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + wellKnownText + coordinateSystemId + + + + Creates a new line value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + lineWellKnownText + coordinateSystemId + + + + Creates a new point value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + pointWellKnownText + coordinateSystemId + + + + Creates a new polygon value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + polygonWellKnownText + coordinateSystemId + + + Returns the multiline value from a well-known text value. + The multiline value from a well-known text value. + The well-known text. + The coordinate system identifier. + + + Returns the multipoint value from a well-known text value. + The multipoint value from a well-known text value. + The well-known text value. + The coordinate system identifier. + + + Returns the multi polygon value from a well-known binary value. + The multi polygon value from a well-known binary value. + The multi polygon well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well known text value and coordinate system identifier (SRID). + + A new DbGeometry value as defined by the well known text value with the specified coordinate system identifier. + A string that contains a well known text representation of the geometry value. + The identifier of the coordinate system that the new DbGeometry value should use. + geometryCollectionWellKnownText + coordinateSystemId + + + Gets the coordinate system identifier of the DbGeometry object. + The coordinate system identifier of the DbGeometry object. + + + Gets the boundary of the DbGeometry objects. + The boundary of the DbGeometry objects. + + + + Gets the dimension of the given value or, if the value is a collection, the dimension of its largest element. + + + The dimension of the given value. + + + + Gets the envelope (minimum bounding box) of this DbGeometry value, as a geometry value. + The envelope (minimum bounding box) of this DbGeometry value. + + + Gets a spatial type name representation of this DbGeometry value. + A spatial type name representation of this DbGeometry value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is empty, which may be null if this value does not represent a curve. + True if this DbGeometry value is empty; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is simple. + True if this DbGeometry value is simple; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is valid. + True if this DbGeometry value is valid; otherwise, false. + + + Generates the well known text representation of this DbGeometry value. Includes only X and Y coordinates for points. + A string containing the well known text representation of this DbGeometry value. + + + Generates the well known binary representation of this DbGeometry value. + The well-known binary representation of this DbGeometry value. + + + Generates the Geography Markup Language (GML) representation of this DbGeometry value. + A string containing the GML representation of this DbGeometry value. + + + Determines whether this DbGeometry is spatially equal to the specified DbGeometry argument. + true if other is spatially equal to this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for equality. + other + + + Determines whether this DbGeometry is spatially disjoint from the specified DbGeometry argument. + true if other is disjoint from this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for disjointness. + other + + + Determines whether this DbGeometry value spatially intersects the specified DbGeometry argument. + true if other intersects this geometry value; otherwise false. + The geometry value that should be compared with this geometry value for intersection. + other + + + Determines whether this DbGeometry value spatially touches the specified DbGeometry argument. + true if other touches this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value spatially crosses the specified DbGeometry argument. + true if other crosses this geometry value; otherwise false. + The geometry value that should be compared with this geometry value. + other + + + Determines whether this DbGeometry value is spatially within the specified DbGeometry argument. + true if this geometry value is within other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially contains the specified DbGeometry argument. + true if this geometry value contains other; otherwise false. + The geometry value that should be compared with this geometry value for containment. + other + + + Determines whether this DbGeometry value spatially overlaps the specified DbGeometry argument. + true if this geometry value overlaps other; otherwise false. + The geometry value that should be compared with this geometry value for overlap. + other + + + Determines whether this DbGeometry value spatially relates to the specified DbGeometry argument according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + true if this geometry value relates to other according to the specified intersection pattern matrix; otherwise false. + The geometry value that should be compared with this geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + other + matrix + + + Returns a geometry object that represents the union of all points whose distance from a geometry instance is less than or equal to a specified value. + A geometry object that represents the union of all points. + The distance. + + + Computes the distance between the closest points in this DbGeometry value and another DbGeometry value. + A double value that specifies the distance between the two closest points in this geometry value and other. + The geometry value for which the distance from this value should be computed. + other + + + Gets the convex hull of this DbGeometry value as another DbGeometry value. + The convex hull of this DbGeometry value as another DbGeometry value. + + + Computes the intersection of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the intersection between this geometry value and other. + The geometry value for which the intersection with this value should be computed. + other + + + Computes the union of this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the union between this geometry value and other. + The geometry value for which the union with this value should be computed. + other + + + Computes the difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the difference between this geometry value and other. + The geometry value for which the difference with this value should be computed. + other + + + Computes the symmetric difference between this DbGeometry value and another DbGeometry value. + A new DbGeometry value representing the symmetric difference between this geometry value and other. + The geometry value for which the symmetric difference with this value should be computed. + other + + + Gets the number of elements in this DbGeometry value, if it represents a geometry collection. <returns>The number of elements in this geometry value, if it represents a collection of other geometry values; otherwise null.</returns> + The number of elements in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a geometry collection. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a collection of other geometry values; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets the X coordinate of this DbGeometry value, if it represents a point. <returns>The X coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The X coordinate of this DbGeometry value. + + + Gets the Y coordinate of this DbGeometry value, if it represents a point. <returns>The Y coordinate value of this geometry value, if it represents a point; otherwise null.</returns> + The Y coordinate of this DbGeometry value. + + + Gets the elevation (Z coordinate) of this DbGeometry value, if it represents a point. <returns>The elevation (Z coordinate) of this geometry value, if it represents a point; otherwise null.</returns> + The elevation (Z coordinate) of this DbGeometry value. + + + Gets the Measure (M coordinate) of this DbGeometry value, if it represents a point. <returns>The Measure (M coordinate) value of this geometry value, if it represents a point; otherwise null.</returns> + The Measure (M coordinate) of this DbGeometry value. + + + Gets a nullable double value that indicates the length of this DbGeometry value, which may be null if this value does not represent a curve. + The length of this DbGeometry value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a DbGeometry value representing the start point of this value, which may be null if this DbGeometry value does not represent a curve. + A DbGeometry value representing the start point of this value. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is closed, which may be null if this value does not represent a curve. + True if this DbGeometry value is closed; otherwise, false. + + + Gets a nullable Boolean value indicating whether this DbGeometry value is a ring, which may be null if this value does not represent a curve. + True if this DbGeometry value is a ring; otherwise, false. + + + Gets the number of points in this DbGeometry value, if it represents a linestring or linear ring. <returns>The number of elements in this geometry value, if it represents a linestring or linear ring; otherwise null.</returns> + The number of points in this DbGeometry value. + + + Returns an element of this DbGeometry value from a specific position, if it represents a linestring or linear ring. <param name="index">The position within this geometry value from which the element should be taken.</param><returns>The element in this geometry value at the specified position, if it represents a linestring or linear ring; otherwise null.</returns> + An element of this DbGeometry value from a specific position. + The index. + + + Gets a nullable double value that indicates the area of this DbGeometry value, which may be null if this value does not represent a surface. + A nullable double value that indicates the area of this DbGeometry value. + + + Gets the DbGeometry value that represents the centroid of this DbGeometry value, which may be null if this value does not represent a surface. + The DbGeometry value that represents the centroid of this DbGeometry value. + + + Gets a point on the surface of this DbGeometry value, which may be null if this value does not represent a surface. + A point on the surface of this DbGeometry value. + + + Gets the DbGeometry value that represents the exterior ring of this DbGeometry value, which may be null if this value does not represent a polygon. + The DbGeometry value that represents the exterior ring of this DbGeometry value. + + + Gets the number of interior rings in this DbGeometry value, if it represents a polygon. <returns>The number of elements in this geometry value, if it represents a polygon; otherwise null.</returns> + The number of interior rings in this DbGeometry value. + + + Returns an interior ring from this DbGeometry value at a specific position, if it represents a polygon. <param name="index">The position within this geometry value from which the interior ring should be taken.</param><returns>The interior ring in this geometry value at the specified position, if it represents a polygon; otherwise null.</returns> + An interior ring from this DbGeometry value at a specific position. + The index. + + + Returns a string representation of the geometry value. + A string representation of the geometry value. + + + + A data contract serializable representation of a value. + + + + Gets or sets the coordinate system identifier (SRID) of this value. + + + Gets or sets the well known text representation of this value. + + + Gets or sets the well known binary representation of this value. + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeography at the specified column value + The ordinal of the column that contains the geography value + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the column that contains the geography value. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + When implemented in derived types, reads an instance of from the column at the specified column ordinal. + + The instance of DbGeometry at the specified column value + The ordinal of the data record column that contains the provider-specific geometry data + + + + Asynchronously reads an instance of from the column at the specified column ordinal. + + + Providers should override with an appropriate implementation. + The default implementation invokes the synchronous method and returns + a completed task, blocking the calling thread. + + The ordinal of the data record column that contains the provider-specific geometry data. + + A to observe while waiting for the task to complete. + + + A task that represents the asynchronous operation. + The task result contains the instance of at the specified column value. + + + + + Returns whether the column at the specified column ordinal is of geography type + + The column ordinal. + + true if the column at the specified column ordinal is of geography type; + false otherwise. + + + + + Returns whether the column at the specified column ordinal is of geometry type + + The column ordinal. + + true if the column at the specified column ordinal is of geometry type; + false otherwise. + + + + + A provider-independent service API for geospatial (Geometry/Geography) type support. + + + + + Gets the default services for the . + + The default services. + + + + Override this property to allow the spatial provider to fail fast when native types or other + resources needed for the spatial provider to function correctly are not available. + The default value is true which means that EF will continue with the assumption + that the provider has the necessary types/resources rather than failing fast. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + The provider value. + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geography value. + A new DbGeography value backed by this spatial services implementation and the specified provider value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geography value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geographyValue, as a new + + . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geometry Markup Language (GML) representation of the geography value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geographyValue, or the largest element dimension if + + is a collection. + + The geography value for which the dimension value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value. This value should include only the Longitude and Latitude of points. + + A string containing the well-known text representation of geographyValue. + The geography value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of . + + The geography value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geography value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeography value. + The geography value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geographyValue is spatially equal to otherGeography; otherwise false. + The first geography value to compare for equality. + The second geography value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geographyValue is disjoint from otherGeography; otherwise false. + The first geography value to compare for disjointness. + The second geography value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geographyValue intersects otherGeography; otherwise false. + The first geography value to compare for intersection. + The second geography value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geography value representing all points less than or equal to distance from the given + + value. + + A new DbGeography value representing all points less than or equal to distance from geographyValue. + The geography value. + A double value specifying how far from geographyValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference of two values. + + A new DbGeography value representing the difference of geographyValue and otherGeography. + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference of two values. + + + A new value representing the symmetric difference of geographyValue and otherGeography. + + The first geography value. + The second geography value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geography collection. + + The number of elements in geographyValue, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geography collection. + + The element in geographyValue at position index, if it represents a collection of other geography values; otherwise null. + The geography value, which need not represent a geography collection. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Latitude coordinate of the given value, if it represents a point. + + + The Latitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Longitude coordinate of the given value, if it represents a point. + + + The Longitude coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z coordinate) of the given value, if it represents a point. + + The elevation (Z coordinate) of geographyValue, if it represents a point; otherwise null. + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geography value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeography value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeography value, which may be null if the value does not represent a curve. + + The end point of geographyValue, if it represents a curve; otherwise null. + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geography value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geography value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geographyValue at position index, if it represents a linestring or linear ring; otherwise null. + The geography value, which need not represent a linestring or linear ring. + The position within the geography value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geography value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + This method is intended for use by derived implementations of + + after suitable validation of the specified provider value to ensure it is suitable for use with the derived implementation. + + + A new instance that contains the specified providerValue and uses the specified spatialServices as its spatial implementation. + + + The spatial services instance that the returned value will depend on for its implementation of spatial functionality. + + A provider value. + + + + Creates a provider-specific value compatible with this spatial services implementation based on the specified well-known + + representation. + + A provider-specific value that encodes the information contained in wellKnownValue in a fashion compatible with this spatial services implementation. + + An instance of that contains the well-known representation of a geometry value. + + + + + Creates an instance of that represents the specified + + value using one or both of the standard well-known spatial formats. + + + The well-known representation of geometryValue, as a new + + . + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on a provider-specific value that is compatible with this spatial services implementation. + + + A new value backed by this spatial services implementation and the specified provider value. + + A provider-specific value that this spatial services implementation is capable of interpreting as a geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Creates a new value based on the specified well-known binary value. + + + A new value as defined by the well-known binary value with the default + + coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + + + Creates a new value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known binary value and coordinate system identifier. + + + The new multiline value + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known binary value and coordinate system identifier. + + + A new multipoint value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known binary value and coordinate system identifier. + + + A new multi polygon value. + + The well-known binary value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known binary value and coordinate system identifier (SRID). + + + A new value as defined by the well-known binary value with the specified coordinate system identifier (SRID) ( + + ). + + A byte array that contains a well-known binary representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified well-known text value. + + + A new value as defined by the well-known text value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + + + Creates a new value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new line value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new point value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new polygon value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new multiline value based on the specified well-known text value and coordinate system identifier. + + + A new multiline value + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multipoint value based on the specified well-known text value and coordinate system identifier. + + + A new multipoint value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new multi polygon value based on the specified well-known text value and coordinate system identifier. + + + A new multi polygon value. + + The well-known text value. + The coordinate system identifier. + + + + Creates a new collection value based on the specified well-known text value and coordinate system identifier (SRID). + + + A new value as defined by the well-known text value with the specified coordinate system identifier (SRID) ( + + ). + + A string that contains a well-known text representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Creates a new value based on the specified Geography Markup Language (GML) value. + + + A new value as defined by the GML value with the default + + coordinate system identifier (SRID) ( + + ). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + + + Creates a new value based on the specified Geography Markup Language (GML) value and coordinate system identifier (SRID). + + + A new value as defined by the GML value with the specified coordinate system identifier (SRID). + + A string that contains a Geography Markup Language (GML) representation of the geometry value. + + The identifier of the coordinate system that the new value should use. + + + + + Returns the coordinate system identifier of the given value. + + + The coordinate system identifier of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the boundary of the given + + value. + + + The boundary of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the dimension of the given value or, if the value is a collections, the largest element dimension. + + + The dimension of geometryValue, or the largest element dimension if + + is a collection. + + The geometry value for which the dimension value should be retrieved. + + + + Gets the envelope (minimum bounding box) of the given value, as a geometry value. + + + The envelope of geometryValue, as a value. + + The geometry value for which the envelope value should be retrieved. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that indicates the spatial type name of the given + + value. + + + The spatial type name of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is empty. + + + True if the given value is empty; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is simple. + + + True if the given value is simple; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is valid. + + + True if the given value is valid; otherwise, false. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known text representation of the given value, including only X and Y coordinates for points. + + A string containing the well-known text representation of geometryValue. + The geometry value for which the well-known text should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a text representation of with elevation and measure. + + + A text representation of with elevation and measure. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Gets the well-known binary representation of the given value. + + + The well-known binary representation of the given value. + + The geometry value for which the well-known binary should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Generates the Geography Markup Language (GML) representation of this + + value. + + A string containing the GML representation of this DbGeometry value. + The geometry value for which the GML should be generated. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially equal. + + true if geometryValue is spatially equal to otherGeometry; otherwise false. + The first geometry value to compare for equality. + The second geometry value to compare for equality. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially disjoint. + + true if geometryValue is disjoint from otherGeometry; otherwise false. + The first geometry value to compare for disjointness. + The second geometry value to compare for disjointness. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially intersect. + + true if geometryValue intersects otherGeometry; otherwise false. + The first geometry value to compare for intersection. + The second geometry value to compare for intersection. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially touch. + + true if geometryValue touches otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially cross. + + true if geometryValue crosses otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value is spatially within the other. + + true if geometryValue is within otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether one value spatially contains the other. + + true if geometryValue contains otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values spatially overlap. + + true if geometryValue overlaps otherGeometry; otherwise false. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Determines whether the two given values are spatially related according to the given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. + + true if this geometryValue value relates to otherGeometry according to the specified intersection pattern matrix; otherwise false. + The first geometry value. + The geometry value that should be compared with the first geometry value for relation. + A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation. + + + , + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Creates a geometry value representing all points less than or equal to distance from the given + + value. + + A new DbGeometry value representing all points less than or equal to distance from geometryValue. + The geometry value. + A double value specifying how far from geometryValue to buffer. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the distance between the closest points in two values. + + A double value that specifies the distance between the two closest points in geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the convex hull of the given + + value. + + + The convex hull of the given value. + + The geometry value. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Computes the intersection of two values. + + + A new value representing the intersection of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the union of two values. + + + A new value representing the union of geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the difference between two values. + + A new DbGeometry value representing the difference between geometryValue and otherGeometry. + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Computes the symmetric difference between two values. + + + A new value representing the symmetric difference between geometryValue and otherGeometry. + + The first geometry value. + The second geometry value. + + + or + + is null. + + + + or + + is not compatible with this spatial services implementation. + + + + + Returns the number of elements in the given value, if it represents a geometry collection. + + The number of elements in geometryValue, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an element of the given value, if it represents a geometry collection. + + The element in geometryValue at position index, if it represents a collection of other geometry values; otherwise null. + The geometry value, which need not represent a geometry collection. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the X coordinate of the given value, if it represents a point. + + + The X coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the Y coordinate of the given value, if it represents a point. + + + The Y coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the elevation (Z) of the given value, if it represents a point. + + The elevation (Z) of geometryValue, if it represents a point; otherwise null. + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the M (Measure) coordinate of the given value, if it represents a point. + + + The M (Measure) coordinate of the given value. + + The geometry value, which need not represent a point. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the length of the given + + value, which may be null if the value does not represent a curve. + + + The length of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the start point of the given DbGeometry value, which may be null if the value does not represent a curve. + + + The start point of the given value. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the end point of the given DbGeometry value, which may be null if the value does not represent a curve. + + The end point of geometryValue, if it represents a curve; otherwise null. + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is closed, which may be null if the value does not represent a curve. + + + True if the given value is closed; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable Boolean value that whether the given value is a ring, which may be null if the value does not represent a curve. + + + True if the given value is a ring; otherwise, false. + + The geometry value, which need not represent a curve. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of points in the given value, if it represents a linestring or linear ring. + + + The number of points in the given value. + + The geometry value, which need not represent a linestring or linear ring. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a point element of the given value, if it represents a linestring or linear ring. + + The point in geometryValue at position index, if it represents a linestring or linear ring; otherwise null. + The geometry value, which need not represent a linestring or linear ring. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a nullable double value that indicates the area of the given + + value, which may be null if the value does not represent a surface. + + + A nullable double value that indicates the area of the given value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the centroid of the given DbGeometry value, which may be null if the value does not represent a surface. + + The centroid of geometryValue, if it represents a surface; otherwise null. + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents a point on the surface of the given DbGeometry value, which may be null if the value does not represent a surface. + + + A value that represents a point on the surface of the given DbGeometry value. + + The geometry value, which need not represent a surface. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns a value that represents the exterior ring of the given DbGeometry value, which may be null if the value does not represent a polygon. + + A DbGeometry value representing the exterior ring on geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns the number of interior rings in the given value, if it represents a polygon. + + The number of elements in geometryValue, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Returns an interior ring from the given value, if it represents a polygon. + + The interior ring in geometryValue at position index, if it represents a polygon; otherwise null. + The geometry value, which need not represent a polygon. + The position within the geometry value from which the element should be taken. + + + is null. + + + + is not compatible with this spatial services implementation. + + + + + Controls the transaction creation behavior while executing a database command or query. + + + + + If no transaction is present then a new transaction will be used for the operation. + + + + + If an existing transaction is present then use it, otherwise execute the command or query without a transaction. + + + + + Contains extension methods for the class. + + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + + The type of the result produced by the associated . + + The task to be awaited on. + An object used to await this task. + + + + Configures an awaiter used to await this to avoid + marshalling the continuation + back to the original context, but preserve the current culture and UI culture. + + The task to be awaited on. + An object used to await this task. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + + The type of the result produced by the associated . + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The result of the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Provides an awaitable object that allows for awaits on that + preserve the culture. + + This type is intended for compiler use only. + + + + Constructs a new instance of the class. + + The task to be awaited on. + + + Gets an awaiter used to await this . + An awaiter instance. + This method is intended for compiler user rather than use directly in code. + + + + Gets whether this Task has completed. + + + will return true when the Task is in one of the three + final states: RanToCompletion, + Faulted, or + Canceled. + + + + Ends the await on the completed . + The awaiter was not properly initialized. + The task was canceled. + The task completed in a Faulted state. + + + This method is not implemented and should not be called. + The action to invoke when the await operation completes. + + + + Schedules the continuation onto the associated with this + . + + The action to invoke when the await operation completes. + + The argument is null + (Nothing in Visual Basic). + + The awaiter was not properly initialized. + This method is intended for compiler user rather than use directly in code. + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException. + + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException. + + The exception message. + Validation results. + The inner exception. + + + + Initializes a new instance of the DbEntityValidationException class with the specified serialization information and context. + + The data necessary to serialize or deserialize an object. + Description of the source and destination of the specified serialized stream. + + + + Validation results. + + + + + Sets the with information about the exception. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + Represents validation results for single entity. + + + + + Creates an instance of class. + + Entity entry the results applies to. Never null. + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException. + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + Validation error. Can be either entity or property level validation error. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + When this attribute is placed on a property it indicates that the database column to which the + property is mapped has an index. + + + This attribute is used by Entity Framework Migrations to create indexes on mapped database columns. + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Creates a instance for an index that will be named by convention and + has no column order, clustering, or uniqueness specified. + + + + + Creates a instance for an index with the given name and + has no column order, clustering, or uniqueness specified. + + The index name. + + + + Creates a instance for an index with the given name and column order, + but with no clustering or uniqueness specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + The index name. + A number which will be used to determine column ordering for multi-column indexes. + + + + The index name. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + A number which will be used to determine column ordering for multi-column indexes. This will be -1 if no + column order has been specified. + + + Multi-column indexes are created by using the same index name in multiple attributes. The information + in these attributes is then merged together to specify the actual database index. + + + + + Set this property to true to define a clustered index. Set this property to false to define a + non-clustered index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Set this property to true to define a unique index. Set this property to false to define a + non-unique index. + + + The value of this property is only relevant if returns true. + If returns false, then the value of this property is meaningless. + + + + + Returns true if has been set to a value. + + + + + Returns a different ID for each object instance such that type descriptors won't + attempt to combine all IndexAttribute instances into a single instance. + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + + Returns true if this attribute specifies the same name and configuration as the given attribute. + + The attribute to compare. + True if the other object is equal to this object; otherwise false. + + + + + + diff --git a/packages/EntityFramework.6.4.4/tools/EntityFramework6.PS2.psd1 b/packages/EntityFramework.6.4.4/tools/EntityFramework6.PS2.psd1 new file mode 100644 index 0000000..22f369c --- /dev/null +++ b/packages/EntityFramework.6.4.4/tools/EntityFramework6.PS2.psd1 @@ -0,0 +1,285 @@ +# +# Module manifest for module 'EntityFramework6.PS2' +# + +@{ + +# Script module or binary module file associated with this manifest +ModuleToProcess = 'EntityFramework6.PS2.psm1' + +# Version number of this module. +ModuleVersion = '6.4.4' + +# ID used to uniquely identify this module +GUID = 'a0032654-4b7b-4934-ae70-4036796a7318' + +# Author of this module +Author = 'Entity Framework Team' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = '(c) Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'EntityFramework PowerShell module for use within NuGet''s Package Manager Console' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '2.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = 'Package Manager Host' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '1.2' + +# Minimum version of the .NET Framework required by this module +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module +CLRVersion = '' + +# Processor architecture (None, X86, Amd64, IA64) required by this module +ProcessorArchitecture = '' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module +ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in ModuleToProcess +NestedModules = @() + +# Functions to export from this module +FunctionsToExport = ( + 'Add-EFDefaultConnectionFactory', + 'Add-EFProvider', + 'Add-Migration', + 'Enable-Migrations', + 'Get-Migrations', + 'Update-Database' +) + +# Cmdlets to export from this module +CmdletsToExport = @() + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module +AliasesToExport = @() + +# List of all modules packaged with this module +ModuleList = @() + +# List of all files packaged with this module +FileList = @() + +# Private data to pass to the module specified in ModuleToProcess +PrivateData = '' + +} + +# SIG # Begin signature block +# MIIjhgYJKoZIhvcNAQcCoIIjdzCCI3MCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBtmRvdCYX3xCDe +# VH8jmb7pD7R4fhg2kAnOhieN7cYgH6CCDYEwggX/MIID56ADAgECAhMzAAABUZ6N +# j0Bxow5BAAAAAAFRMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQCVWsaGaUcdNB7xVcNmdfZiVBhYFGcn8KMqxgNIvOZWNH9JYQLuhHhmJ5RWISy1 +# oey3zTuxqLbkHAdmbeU8NFMo49Pv71MgIS9IG/EtqwOH7upan+lIq6NOcw5fO6Os +# +12R0Q28MzGn+3y7F2mKDnopVu0sEufy453gxz16M8bAw4+QXuv7+fR9WzRJ2CpU +# 62wQKYiFQMfew6Vh5fuPoXloN3k6+Qlz7zgcT4YRmxzx7jMVpP/uvK6sZcBxQ3Wg +# B/WkyXHgxaY19IAzLq2QiPiX2YryiR5EsYBq35BP7U15DlZtpSs2wIYTkkDBxhPJ +# IDJgowZu5GyhHdqrst3OjkSRAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUV4Iarkq57esagu6FUBb270Zijc8w +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU0MTM1MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAWg+A +# rS4Anq7KrogslIQnoMHSXUPr/RqOIhJX+32ObuY3MFvdlRElbSsSJxrRy/OCCZdS +# se+f2AqQ+F/2aYwBDmUQbeMB8n0pYLZnOPifqe78RBH2fVZsvXxyfizbHubWWoUf +# NW/FJlZlLXwJmF3BoL8E2p09K3hagwz/otcKtQ1+Q4+DaOYXWleqJrJUsnHs9UiL +# crVF0leL/Q1V5bshob2OTlZq0qzSdrMDLWdhyrUOxnZ+ojZ7UdTY4VnCuogbZ9Zs +# 9syJbg7ZUS9SVgYkowRsWv5jV4lbqTD+tG4FzhOwcRQwdb6A8zp2Nnd+s7VdCuYF +# sGgI41ucD8oxVfcAMjF9YX5N2s4mltkqnUe3/htVrnxKKDAwSYliaux2L7gKw+bD +# 1kEZ/5ozLRnJ3jjDkomTrPctokY/KaZ1qub0NUnmOKH+3xUK/plWJK8BOQYuU7gK +# YH7Yy9WSKNlP7pKj6i417+3Na/frInjnBkKRCJ/eYTvBH+s5guezpfQWtU4bNo/j +# 8Qw2vpTQ9w7flhH78Rmwd319+YTmhv7TcxDbWlyteaj4RK2wk3pY1oSz2JPE5PNu +# Nmd9Gmf6oePZgy7Ii9JLLq8SnULV7b+IP0UXRY9q+GdRjM2AEX6msZvvPCIoG0aY +# HQu9wZsKEK2jqvWi8/xdeeeSI9FN6K1w4oVQM4Mwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIVWzCCFVcCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAVGejY9AcaMOQQAAAAABUTAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgz60fp058 +# XyyeVmKwwdlMs+REHQB8qGMA7ivdq70W2+AwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQBdwOCELvy68v2IaSclsVm56UcXxALSDvvSAvQheCAK +# uRYBsMV/I9XAW0/Oc/KMGUmRKsEZvdLSK8kHpPIDgLbhRcxRxY38XBjPH1MSQ43A +# b+8ubwboYGs75NWxUkP3rQhFy0KwtrGGBwOcc8P1/HhIEiTJYX7252VuacR5Kdp+ +# TbshECu6h6Q+XF8bJrPeZ4o6bjZOdJ6kyS/j+WTOeJywNuZXTwkAkZIPyS8OTXHf +# wsTeJvzQDTqO2Oydoa8lnDwUTCKe5pohpOOY3TUGutjafJc3atsmINKC5O0bUM3V +# aXhBCXmY8cSd3YrFgWMraP25DhsyyT/uDrlNjk6cclrQoYIS5TCCEuEGCisGAQQB +# gjcDAwExghLRMIISzQYJKoZIhvcNAQcCoIISvjCCEroCAQMxDzANBglghkgBZQME +# AgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIBdNh9PEYObquVr8yumuEvN8c0Aju1X33+9OxJlI +# RZfIAgZegg4Kdp8YEzIwMjAwNDE2MjIxMzQ3LjI0NFowBIACAfSggdCkgc0wgcox +# CzAJBgNVBAYTAlVTMQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg +# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOjJBRDQtNEI5Mi1GQTAxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNloIIOPDCCBPEwggPZoAMCAQICEzMAAAEIff9FWXBF+oQAAAAAAQgw +# DQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0 +# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh +# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcN +# MTkxMDIzMjMxOTEzWhcNMjEwMTIxMjMxOTEzWjCByjELMAkGA1UEBhMCVVMxCzAJ +# BgNVBAgTAldBMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg +# Q29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlv +# bnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MkFENC00QjkyLUZB +# MDExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0G +# CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5E4jLyHDxZk05wGziyso3t6RNRL6/ +# vG1sZeC01Kl5BnaWNXfUAyhr8CuThyyjwQ7YfYiZ+F+zEHh3wM2KHmwPyl4CPCUg +# ZLIXmy02+xusq9mMmh3R5N5yup6NrvDftP4HgRLOXTAy8LbrP1A573a2Jinpfa8U +# sO2iEmHBTivFrFHYN4UAdbrMI6ls9ZyMHnph6oMw5QJSDfh99u4yGDNYFa5N89kF +# 4mrcMFF3lvDmb95hn4BLi+mUa/hj7ok7gyscK+GI5J3n8XNLCNKbszHyvuIrHfVJ +# l+lqW8aRydJfrn1Pi5/lh/5GcBpeoBQAjYrPLxocpTlf1VS1/8TocGgLAgMBAAGj +# ggEbMIIBFzAdBgNVHQ4EFgQU85RiSQuUCJR0KryRPfMVQ8K+AFQwHwYDVR0jBBgw +# FoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov +# L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENB +# XzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0 +# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAx +# MC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDAN +# BgkqhkiG9w0BAQsFAAOCAQEAeHkZLhdho+Jm0M2d2nfjwT/CBDO/PtS13eyvm722 +# J4bqN1Kl26z+T65lxhPxBisJmSI39itM61F6U9FdmcxM9joxleIH7SeTpZMZOm+x +# 4kyF2GdywALg93RYPcdYj/91/MFsdk8/YPI8cFUPwN7P0nucgy3SvVD462WMPI76 +# T8+bQMb8XsuiGYObZ0xH1SqsJntKA0SO8gREuXiLm7BZuGFCHn5mcEjy54z4j+o2 +# 9nk21sKPzqhdQTDIav8WZtJTXVCkMMDfZVoUSP7ha8xzUTdfSMUAEmsgc4SJ2lN2 +# bjWo1KQ1dLFB+D6PCWo+y3bcpVlfoot07xoeCNAk4DrdlTCCBnEwggRZoAMCAQIC +# CmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRp +# ZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcwMTIx +# NDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV +# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG +# A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqGSIb3 +# DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUKAIKF +# ++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCIhFRD +# DNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5FfgVSx +# z5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx898Fd1 +# rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg16Hgc +# sOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHmMIIB +# 4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8UzaFqF +# bVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +# EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYD +# VR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwv +# cHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEB +# BE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9j +# ZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSBlTCB +# kjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwICMDQe +# MiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBuAHQA +# LiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+umzPUx +# vs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM9GAS +# inbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84Dxf1 +# L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+tuWO +# M7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32WapB4 +# pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUPei45 +# V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAeb73x +# 4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4hQEe +# gPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanblrKn +# QqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLFVeNp +# 3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLraNtvT +# X4/edIhJEqGCAs4wggI3AgEBMIH4oYHQpIHNMIHKMQswCQYDVQQGEwJVUzELMAkG +# A1UECBMCV0ExEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD +# b3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9u +# cyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoyQUQ0LTRCOTItRkEw +# MTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcG +# BSsOAwIaAxUAiOLRN/zGucSkQ6IL4N/BU+T20AyggYMwgYCkfjB8MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg +# VGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOJC9bwwIhgPMjAy +# MDA0MTYyMzE4MjBaGA8yMDIwMDQxNzIzMTgyMFowdzA9BgorBgEEAYRZCgQBMS8w +# LTAKAgUA4kL1vAIBADAKAgEAAgILYwIB/zAHAgEAAgIRyjAKAgUA4kRHPAIBADA2 +# BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIB +# AAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBACFSC8/CfU//GIBBV+FnkFAE00aqFZqt +# xOGhY9HXfvRjDhpQv98IoQnJ6tAIzceIRuBzaES5KtEvmNYRuv0a+IYjzawx3sV5 +# Ir62AV/dQYSGfJFERvZdMVNk0COKYLAxE1AJcM3Cr7drkH1k2R7Um1MusivS0alD +# EyO+3JpJmJmRMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENB +# IDIwMTACEzMAAAEIff9FWXBF+oQAAAAAAQgwDQYJYIZIAWUDBAIBBQCgggFKMBoG +# CSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQg6SdxGggm +# /SV4iEwnm9s2YX4eQorOq4/3lnByXJzCNEswgfoGCyqGSIb3DQEJEAIvMYHqMIHn +# MIHkMIG9BCDgAzZO4EXd9UqiFVHP2IiCy0/tDAky9BuuDiapxVmDRzCBmDCBgKR+ +# MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT +# HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABCH3/RVlwRfqEAAAA +# AAEIMCIEIAR7hoEvq3nYLbqApGCaBLqEGwH4qKwRrBpFNOMqn8WZMA0GCSqGSIb3 +# DQEBCwUABIIBAH20VXijrVk0acGdnaEmzxD4gPAqID5PUXgQY496Xt/XtUzLf0A5 +# QaNmMB+oshPCE0qPJfzHnqdOBwFRUvm0X2aX+Z4Bc+Lfl/bjktZhQ0qWMyEdEOnp +# 4HGZGuAcHy70HCnKIobZP4vgyza91T8NPiy0EpHUWQPx5zRlYSlqRTSBgWmrNjL0 +# 0m2zga1QSq4RZYM1giGBPKHr+HQpeRfzQGgn6XRvInZpIU6txxBKtMgnTglYNi3t +# XOOGhRsTDg1MJNTmqRLEZDS3JE3jY411nFdQuFkhba43mxO7ps+1IrBPWTTJhmOK +# Tii7+z0Im6zmZ4AqaOtpgJ9sADRUkSnkb+o= +# SIG # End signature block diff --git a/packages/EntityFramework.6.4.4/tools/EntityFramework6.PS2.psm1 b/packages/EntityFramework.6.4.4/tools/EntityFramework6.PS2.psm1 new file mode 100644 index 0000000..c332ef2 --- /dev/null +++ b/packages/EntityFramework.6.4.4/tools/EntityFramework6.PS2.psm1 @@ -0,0 +1,731 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. + +$ErrorActionPreference = 'Stop' +$InitialDatabase = '0' + +$UpdatePowerShell = 'The Entity Framework Package Manager Console Tools require Windows PowerShell 3.0 or higher. ' + + 'Install Windows Management Framework 3.0, restart Visual Studio, and try again. https://aka.ms/wmf3download' + +<# +.SYNOPSIS + Adds or updates an Entity Framework provider entry in the project config + file. + +.DESCRIPTION + Adds an entry into the 'entityFramework' section of the project config + file for the specified provider invariant name and provider type. If an + entry for the given invariant name already exists, then that entry is + updated with the given type name, unless the given type name already + matches, in which case no action is taken. The 'entityFramework' + section is added if it does not exist. The config file is automatically + saved if and only if a change was made. + + This command is typically used only by Entity Framework provider NuGet + packages and is run from the 'install.ps1' script. + +.PARAMETER Project + The Visual Studio project to update. When running in the NuGet install.ps1 + script the '$project' variable provided as part of that script should be + used. + +.PARAMETER InvariantName + The provider invariant name that uniquely identifies this provider. For + example, the Microsoft SQL Server provider is registered with the invariant + name 'System.Data.SqlClient'. + +.PARAMETER TypeName + The assembly-qualified type name of the provider-specific type that + inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. For + example, for the Microsoft SQL Server provider, this type is + 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'. +#> +function Add-EFProvider +{ + [CmdletBinding(PositionalBinding = $false)] + param( + [parameter(Position = 0, Mandatory = $true)] + $Project, + [parameter(Position = 1, Mandatory = $true)] + [string] $InvariantName, + [parameter(Position = 2, Mandatory = $true)] + [string] $TypeName) + + $configPath = GetConfigPath($Project) + if (!$configPath) + { + return + } + + [xml] $configXml = Get-Content $configPath + + $providers = $configXml.configuration.entityFramework.providers + + $providers.provider | + where invariantName -eq $InvariantName | + %{ $providers.RemoveChild($_) | Out-Null } + + $provider = $providers.AppendChild($configXml.CreateElement('provider')) + $provider.SetAttribute('invariantName', $InvariantName) + $provider.SetAttribute('type', $TypeName) + + $configXml.Save($configPath) +} + +<# +.SYNOPSIS + Adds or updates an Entity Framework default connection factory in the + project config file. + +.DESCRIPTION + Adds an entry into the 'entityFramework' section of the project config + file for the connection factory that Entity Framework will use by default + when creating new connections by convention. Any existing entry will be + overridden if it does not match. The 'entityFramework' section is added if + it does not exist. The config file is automatically saved if and only if + a change was made. + + This command is typically used only by Entity Framework provider NuGet + packages and is run from the 'install.ps1' script. + +.PARAMETER Project + The Visual Studio project to update. When running in the NuGet install.ps1 + script the '$project' variable provided as part of that script should be + used. + +.PARAMETER TypeName + The assembly-qualified type name of the connection factory type that + implements the 'System.Data.Entity.Infrastructure.IDbConnectionFactory' + interface. For example, for the Microsoft SQL Server Express provider + connection factory, this type is + 'System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework'. + +.PARAMETER ConstructorArguments + An optional array of strings that will be passed as arguments to the + connection factory type constructor. +#> +function Add-EFDefaultConnectionFactory +{ + [CmdletBinding(PositionalBinding = $false)] + param( + [parameter(Position = 0, Mandatory = $true)] + $Project, + [parameter(Position = 1, Mandatory = $true)] + [string] $TypeName, + [string[]] $ConstructorArguments) + + $configPath = GetConfigPath($Project) + if (!$configPath) + { + return + } + + [xml] $configXml = Get-Content $configPath + + $entityFramework = $configXml.configuration.entityFramework + $defaultConnectionFactory = $entityFramework.defaultConnectionFactory + if ($defaultConnectionFactory) + { + $entityFramework.RemoveChild($defaultConnectionFactory) | Out-Null + } + $defaultConnectionFactory = $entityFramework.AppendChild($configXml.CreateElement('defaultConnectionFactory')) + + $defaultConnectionFactory.SetAttribute('type', $TypeName) + + if ($ConstructorArguments) + { + $parameters = $defaultConnectionFactory.AppendChild($configXml.CreateElement('parameters')) + + foreach ($constructorArgument in $ConstructorArguments) + { + $parameter = $parameters.AppendChild($configXml.CreateElement('parameter')) + $parameter.SetAttribute('value', $constructorArgument) + } + } + + $configXml.Save($configPath) +} + +<# +.SYNOPSIS + Enables Code First Migrations in a project. + +.DESCRIPTION + Enables Migrations by scaffolding a migrations configuration class in the project. If the + target database was created by an initializer, an initial migration will be created (unless + automatic migrations are enabled via the EnableAutomaticMigrations parameter). + +.PARAMETER ContextTypeName + Specifies the context to use. If omitted, migrations will attempt to locate a + single context type in the target project. + +.PARAMETER EnableAutomaticMigrations + Specifies whether automatic migrations will be enabled in the scaffolded migrations configuration. + If omitted, automatic migrations will be disabled. + +.PARAMETER MigrationsDirectory + Specifies the name of the directory that will contain migrations code files. + If omitted, the directory will be named "Migrations". + +.PARAMETER ProjectName + Specifies the project that the scaffolded migrations configuration class will + be added to. If omitted, the default project selected in package manager + console is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ContextProjectName + Specifies the project which contains the DbContext class to use. If omitted, + the context is assumed to be in the same project used for migrations. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER Force + Specifies that the migrations configuration be overwritten when running more + than once for a given project. + +.PARAMETER ContextAssemblyName + Specifies the name of the assembly which contains the DbContext class to use. Use this + parameter instead of ContextProjectName when the context is contained in a referenced + assembly rather than in a project of the solution. + +.PARAMETER AppDomainBaseDirectory + Specifies the directory to use for the app-domain that is used for running Migrations + code such that the app-domain is able to find all required assemblies. This is an + advanced option that should only be needed if the solution contains several projects + such that the assemblies needed for the context and configuration are not all + referenced from either the project containing the context or the project containing + the migrations. + +.EXAMPLE + Enable-Migrations + # Scaffold a migrations configuration in a project with only one context + +.EXAMPLE + Enable-Migrations -Auto + # Scaffold a migrations configuration with automatic migrations enabled for a project + # with only one context + +.EXAMPLE + Enable-Migrations -ContextTypeName MyContext -MigrationsDirectory DirectoryName + # Scaffold a migrations configuration for a project with multiple contexts + # This scaffolds a migrations configuration for MyContext and will put the configuration + # and subsequent configurations in a new directory called "DirectoryName" + +#> +function Enable-Migrations( + $ContextTypeName, + [alias('Auto')] + [switch] $EnableAutomaticMigrations, + $MigrationsDirectory, + $ProjectName, + $StartUpProjectName, + $ContextProjectName, + $ConnectionStringName, + $ConnectionString, + $ConnectionProviderName, + [switch] $Force, + $ContextAssemblyName, + $AppDomainBaseDirectory) + + WarnIfOtherEFs 'Enable-Migrations' + throw $UpdatePowerShell +} + +<# +.SYNOPSIS + Scaffolds a migration script for any pending model changes. + +.DESCRIPTION + Scaffolds a new migration script and adds it to the project. + +.PARAMETER Name + Specifies the name of the custom script. + +.PARAMETER Force + Specifies that the migration user code be overwritten when re-scaffolding an + existing migration. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If omitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER IgnoreChanges + Scaffolds an empty migration ignoring any pending changes detected in the current model. + This can be used to create an initial, empty migration to enable Migrations for an existing + database. N.B. Doing this assumes that the target database schema is compatible with the + current model. + +.PARAMETER AppDomainBaseDirectory + Specifies the directory to use for the app-domain that is used for running Migrations + code such that the app-domain is able to find all required assemblies. This is an + advanced option that should only be needed if the solution contains several projects + such that the assemblies needed for the context and configuration are not all + referenced from either the project containing the context or the project containing + the migrations. + +.EXAMPLE + Add-Migration First + # Scaffold a new migration named "First" + +.EXAMPLE + Add-Migration First -IgnoreChanges + # Scaffold an empty migration ignoring any pending changes detected in the current model. + # This can be used to create an initial, empty migration to enable Migrations for an existing + # database. N.B. Doing this assumes that the target database schema is compatible with the + # current model. + +#> +function Add-Migration( + $Name, + [switch] $Force, + $ProjectName, + $StartUpProjectName, + $ConfigurationTypeName, + $ConnectionStringName, + $ConnectionString, + $ConnectionProviderName, + [switch] $IgnoreChanges, + $AppDomainBaseDirectory) + + WarnIfOtherEFs 'Add-Migration' + throw $UpdatePowerShell +} + +<# +.SYNOPSIS + Applies any pending migrations to the database. + +.DESCRIPTION + Updates the database to the current model by applying pending migrations. + +.PARAMETER SourceMigration + Only valid with -Script. Specifies the name of a particular migration to use + as the update's starting point. If omitted, the last applied migration in + the database will be used. + +.PARAMETER TargetMigration + Specifies the name of a particular migration to update the database to. If + omitted, the current model will be used. + +.PARAMETER Script + Generate a SQL script rather than executing the pending changes directly. + +.PARAMETER Force + Specifies that data loss is acceptable during automatic migration of the + database. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If omitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER AppDomainBaseDirectory + Specifies the directory to use for the app-domain that is used for running Migrations + code such that the app-domain is able to find all required assemblies. This is an + advanced option that should only be needed if the solution contains several projects + such that the assemblies needed for the context and configuration are not all + referenced from either the project containing the context or the project containing + the migrations. + +.EXAMPLE + Update-Database + # Update the database to the latest migration + +.EXAMPLE + Update-Database -TargetMigration Second + # Update database to a migration named "Second" + # This will apply migrations if the target hasn't been applied or roll back migrations + # if it has + +.EXAMPLE + Update-Database -Script + # Generate a script to update the database from its current state to the latest migration + +.EXAMPLE + Update-Database -Script -SourceMigration Second -TargetMigration First + # Generate a script to migrate the database from a specified start migration + # named "Second" to a specified target migration named "First" + +.EXAMPLE + Update-Database -Script -SourceMigration $InitialDatabase + # Generate a script that can upgrade a database currently at any version to the latest version. + # The generated script includes logic to check the __MigrationsHistory table and only apply changes + # that haven't been previously applied. + +.EXAMPLE + Update-Database -TargetMigration $InitialDatabase + # Runs the Down method to roll-back any migrations that have been applied to the database + + +#> +function Update-Database( + $SourceMigration, + $TargetMigration, + [switch] $Script, + [switch] $Force, + $ProjectName, + $StartUpProjectName, + $ConfigurationTypeName, + $ConnectionStringName, + $ConnectionString, + $ConnectionProviderName, + $AppDomainBaseDirectory) + + WarnIfOtherEFs 'Update-Database' + throw $UpdatePowerShell +} + +<# +.SYNOPSIS + Displays the migrations that have been applied to the target database. + +.DESCRIPTION + Displays the migrations that have been applied to the target database. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If omitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER AppDomainBaseDirectory + Specifies the directory to use for the app-domain that is used for running Migrations + code such that the app-domain is able to find all required assemblies. This is an + advanced option that should only be needed if the solution contains several projects + such that the assemblies needed for the context and configuration are not all + referenced from either the project containing the context or the project containing + the migrations. +#> +function Get-Migrations( + $ProjectName, + $StartUpProjectName, + $ConfigurationTypeName, + $ConnectionStringName, + $ConnectionString, + $ConnectionProviderName, + $AppDomainBaseDirectory) + + WarnIfOtherEFs 'Get-Migrations' + throw $UpdatePowerShell +} + +function GetConfigPath($project) +{ + $solution = Get-VSService 'Microsoft.VisualStudio.Shell.Interop.SVsSolution' 'Microsoft.VisualStudio.Shell.Interop.IVsSolution' + + $hierarchy = $null + $hr = $solution.GetProjectOfUniqueName($project.UniqueName, [ref] $hierarchy) + [Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr) + + $aggregatableProject = Get-Interface $hierarchy 'Microsoft.VisualStudio.Shell.Interop.IVsAggregatableProject' + if (!$aggregatableProject) + { + $projectTypes = $project.Kind + } + else + { + $projectTypeGuids = $null + $hr = $aggregatableProject.GetAggregateProjectTypeGuids([ref] $projectTypeGuids) + [Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr) + + $projectTypes = $projectTypeGuids.Split(';') + } + + $configFileName = 'app.config' + foreach ($projectType in $projectTypes) + { + if ($projectType -in '{349C5851-65DF-11DA-9384-00065B846F21}', '{E24C65DC-7377-472B-9ABA-BC803B73C61A}') + { + $configFileName = 'web.config' + + break + } + } + + try + { + return $project.ProjectItems.Item($configFileName).Properties.Item('FullPath').Value + } + catch + { + return $null + } +} + +function WarnIfOtherEFs($cmdlet) +{ + if (Get-Module 'EntityFrameworkCore') + { + Write-Warning "Both Entity Framework 6 and Entity Framework Core are installed. The Entity Framework 6 tools are running. Use 'EntityFrameworkCore\$cmdlet' for Entity Framework Core." + } + if (Get-Module 'EntityFramework') + { + Write-Warning "A version of Entity Framework older than 6.3 is also installed. The newer tools are running. Use 'EntityFramework\$cmdlet' for the older version." + } +} + +Export-ModuleMember 'Add-EFDefaultConnectionFactory', 'Add-EFProvider', 'Add-Migration', 'Enable-Migrations', 'Get-Migrations', 'Update-Database' -Variable 'InitialDatabase' + +# SIG # Begin signature block +# MIIjiQYJKoZIhvcNAQcCoIIjejCCI3YCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBCukGtqR95vOzB +# mTRxRgJFbcuurrr/NN2TQIASywaOO6CCDYUwggYDMIID66ADAgECAhMzAAABUptA +# n1BWmXWIAAAAAAFSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQCxp4nT9qfu9O10iJyewYXHlN+WEh79Noor9nhM6enUNbCbhX9vS+8c/3eIVazS +# YnVBTqLzW7xWN1bCcItDbsEzKEE2BswSun7J9xCaLwcGHKFr+qWUlz7hh9RcmjYS +# kOGNybOfrgj3sm0DStoK8ljwEyUVeRfMHx9E/7Ca/OEq2cXBT3L0fVnlEkfal310 +# EFCLDo2BrE35NGRjG+/nnZiqKqEh5lWNk33JV8/I0fIcUKrLEmUGrv0CgC7w2cjm +# bBhBIJ+0KzSnSWingXol/3iUdBBy4QQNH767kYGunJeY08RjHMIgjJCdAoEM+2mX +# v1phaV7j+M3dNzZ/cdsz3oDfAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU3f8Aw1sW72WcJ2bo/QSYGzVrRYcw +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzQ1NDEzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AJTwROaHvogXgixWjyjvLfiRgqI2QK8GoG23eqAgNjX7V/WdUWBbs0aIC3k49cd0 +# zdq+JJImixcX6UOTpz2LZPFSh23l0/Mo35wG7JXUxgO0U+5drbQht5xoMl1n7/TQ +# 4iKcmAYSAPxTq5lFnoV2+fAeljVA7O43szjs7LR09D0wFHwzZco/iE8Hlakl23ZT +# 7FnB5AfU2hwfv87y3q3a5qFiugSykILpK0/vqnlEVB0KAdQVzYULQ/U4eFEjnis3 +# Js9UrAvtIhIs26445Rj3UP6U4GgOjgQonlRA+mDlsh78wFSGbASIvK+fkONUhvj8 +# B8ZHNn4TFfnct+a0ZueY4f6aRPxr8beNSUKn7QW/FQmn422bE7KfnqWncsH7vbNh +# G929prVHPsaa7J22i9wyHj7m0oATXJ+YjfyoEAtd5/NyIYaE4Uu0j1EhuYUo5VaJ +# JnMaTER0qX8+/YZRWrFN/heps41XNVjiAawpbAa0fUa3R9RNBjPiBnM0gvNPorM4 +# dsV2VJ8GluIQOrJlOvuCrOYDGirGnadOmQ21wPBoGFCWpK56PxzliKsy5NNmAXcE +# x7Qb9vUjY1WlYtrdwOXTpxN4slzIht69BaZlLIjLVWwqIfuNrhHKNDM9K+v7vgrI +# bf7l5/665g0gjQCDCN6Q5sxuttTAEKtJeS/pkpI+DbZ/MIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFVowghVWAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAFSm0CfUFaZdYgAAAAA +# AVIwDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIBDq +# wSpkVRd34HAFhUI02JbLjpJvYPxaosKl7Ya85N83MEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAo1kSS1wbXckEKe0kiAV5BJwC66PVMElqK8rS +# ZTKY35DPPW7CnSXjsSx6SnRnyOebu9iF3GShrADsgMh1C5x0GEE03pmEERNDy8aa +# /fQ0xYdR3rQEUaDEbDK6YWzqAnP0nugpJ60ariJpMfvvXUZpHgSJeO8wJ5RAe67N +# yrpic3zdE+e8YvSsiD8+rf7WAOxHEI86mWd7ZoD4OJMRlDAdfhEd8VvOzj91froW +# FHiShpb0mkdSIisw0dPGkk/jzn9Fd0a0JHGbn5YLI76iKOvRwcqKWX96LRezXZF4 +# Y+jWO+p31xoZ0TUHYxQ3HaulMq7vXZ8MHJkSdsUsWEgTVCLGkKGCEuQwghLgBgor +# BgEEAYI3AwMBMYIS0DCCEswGCSqGSIb3DQEHAqCCEr0wghK5AgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFQBgsqhkiG9w0BCRABBKCCAT8EggE7MIIBNwIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCCa+i2okJFSkVB87EudNU6rFwhh43v28S+m +# SdpTpEuO2QIGXoIOfEnAGBIyMDIwMDQxNjIyMTM0Mi45MVowBIACAfSggdCkgc0w +# gcoxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3Nv +# ZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBU +# U1MgRVNOOjE3OUUtNEJCMC04MjQ2MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1T +# dGFtcCBTZXJ2aWNloIIOPDCCBPEwggPZoAMCAQICEzMAAAEMqnhu3MxCTMEAAAAA +# AQwwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp +# bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw +# b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw +# HhcNMTkxMDIzMjMxOTE2WhcNMjEwMTIxMjMxOTE2WjCByjELMAkGA1UEBhMCVVMx +# CzAJBgNVBAgTAldBMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046MTc5RS00QkIw +# LTgyNDYxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEi +# MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrnTXX5epUmZAq2LDf2KB4Qy8I +# txnV+itubGwOSmcI3VKtOEoj6fY+vfOpPMlWB0kUKgqbWSzWC1Ensdovq0OSs7Dx +# cmZ8lrHJACW4JD57jQ0j4DjD67n0bLz0BVjmUk2uYK9rqCjN+DWTHDpptXlZav4+ +# MSk0KyE7iHG/dSqAxwIqdPZhVJnMXUbLsA+5vV9jQ/W80S44Uqs0IQS9YgpGuqx7 +# IEHvcbwoPbLDqN/PRUrE1JEB2ElX+CE7KsO3lr4voLebWumvyyqKh/eKiG/cA0iA +# 2rDp7H7j4b4Hskxsgdsak915t50vp49u4EKduAmgOffjSTRrDqKPbUa+9SeRAgMB +# AAGjggEbMIIBFzAdBgNVHQ4EFgQUCUI6r0MMhrQDSiqAq0zm+O5l4r4wHwYDVR0j +# BBgwFoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0 +# cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3Rh +# UENBXzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+ +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0Ff +# MjAxMC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcD +# CDANBgkqhkiG9w0BAQsFAAOCAQEARPfEGD8hn3N05/BsMYrtwreopi3+pQ6VtEHO +# B42NvfYrzqcZ5EaQF57XR1U4QZZTDoq0F5aHUtDvRvrj+0u2Ityx/0nNoDINhvWx +# GYyLl+NFnvndOq5pPxXs0ntF8S5h+9mW5t9APQxVtTi3Ox1l1i7ETftXYn2k3z2P +# sagU20CdKcKfUxHEQ0AguC31fN5DNMQOEVhbQ3YM2mFORE9caOkObCLpa2Qnl+/S +# JPIHh3AQL7953SUZsUtzK0mgzB9M0x0fqByceUzOyeKiucYVlrk8+JXvxehn0V66 +# kqjxko0aEsssHkZO2p8d7HmejeKhVKr422G+FfQj9X6JcmyimjCCBnEwggRZoAMC +# AQICCmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENl +# cnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1NVoXDTI1MDcw +# MTIxNDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO +# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm +# MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggEiMA0GCSqG +# SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/aZRrdFQQ1aUK +# AIKF++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxhMFmxMEQP8WCI +# hFRDDNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhHhjKEHnRhZ5Ff +# gVSxz5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tkiVBisV39dx89 +# 8Fd1rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox8NpOBpG2iAg1 +# 6HgcsOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJNAgMBAAGjggHm +# MIIB4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIoxkPNDe3xGG8Uz +# aFqFbVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8G +# A1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQw +# VgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9j +# cmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUF +# BwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br +# aS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAGA1UdIAEB/wSB +# lTCBkjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAGCCsGAQUFBwIC +# MDQeMiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEAdABlAG0AZQBu +# AHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXEDPZ2joSFvs+um +# zPUxvs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgrUYJEEvu5U4zM +# 9GASinbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c8pl5SpFSAK84 +# Dxf1L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFwnzJKJ/1Vry/+ +# tuWOM7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFtw5yjojz6f32W +# apB4pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk7Pf0v35jWSUP +# ei45V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9ddJgiCGHasFAe +# b73x4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zGy9iCtHLNHfS4 +# hQEegPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3yKxO2ii4sanb +# lrKnQqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7cRDyXUHHXodLF +# VeNp3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wknHNWzfjUeCLra +# NtvTX4/edIhJEqGCAs4wggI3AgEBMIH4oYHQpIHNMIHKMQswCQYDVQQGEwJVUzEL +# MAkGA1UECBMCV0ExEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0 +# aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNzlFLTRCQjAt +# ODI0NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEB +# MAcGBSsOAwIaAxUAyyD0VD2mA8tcjYt3nPvENLRABn2ggYMwgYCkfjB8MQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv +# ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIFAOJC9iswIhgP +# MjAyMDA0MTYyMzIwMTFaGA8yMDIwMDQxNzIzMjAxMVowdzA9BgorBgEEAYRZCgQB +# MS8wLTAKAgUA4kL2KwIBADAKAgEAAgIWJAIB/zAHAgEAAgIRrDAKAgUA4kRHqwIB +# ADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQow +# CAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAEHV+nFYHL4nwG3Cv45d3muMOacd +# 9h01K6V7pfzXDuIePSV1D9xmGhztfVgHC0cAbauT3gNpgEaHzs2vh1JSrxouvO2+ +# zZevWOZMtICkVCmF0uclqLw3bqefmjjgbpwymjJ7vjYWAgwoIO9iC9fpkU43TCbz +# Namo2O5OL4C77X8TMYIDDTCCAwkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# UENBIDIwMTACEzMAAAEMqnhu3MxCTMEAAAAAAQwwDQYJYIZIAWUDBAIBBQCgggFK +# MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgi+a8 +# w9UqRk8uHF0LSAA5zAtzOvED7T6G0K+oPz5kGkYwgfoGCyqGSIb3DQEJEAIvMYHq +# MIHnMIHkMIG9BCCDkBYpfszX6bb//5XuqZG+3Ur/DDky67xfMYkGrKBUKTCBmDCB +# gKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH +# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV +# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAABDKp4btzMQkzB +# AAAAAAEMMCIEIB82fTmbi7Zy6T8ucYfCkg1b/ShiH+5DNUPaql1UKnuBMA0GCSqG +# SIb3DQEBCwUABIIBACQTQfKgFwgsHa87Ff0vNwkZvOIJqYCj97sZHeqLh/7kGvqH +# HtHPlTdQqGeKsIdgvlME0zkbcNuRACN86PE1x8w61ADvaPNIv400MAN0iKKh08z/ +# ONuhHXzcavQm47rT0Fe2nuOFe/TuurEQMXjGGPp/dILEw+neBBHiNhNivEH0flmw +# UnaYpZH2lNy5ldHfV+hCc4QCDB2CHj9qPeGgEJS+n0ZcFO6Hm4D5mNvfR23qnM94 +# Ijbqi6AGtjL/d+MdNPcqJFcUPBVHQJDEcQTyoZBFme4UqYPr/gkRSwNQ7sASCYdK +# hZ7F9GEj2CiayE5NqMADUnRDyyMJLUoCiACRpVg= +# SIG # End signature block diff --git a/packages/EntityFramework.6.4.4/tools/EntityFramework6.psd1 b/packages/EntityFramework.6.4.4/tools/EntityFramework6.psd1 new file mode 100644 index 0000000..588e042 --- /dev/null +++ b/packages/EntityFramework.6.4.4/tools/EntityFramework6.psd1 @@ -0,0 +1,323 @@ +# +# Module manifest for module 'EntityFramework6' +# + +@{ + +# Script module or binary module file associated with this manifest. +RootModule = 'EntityFramework6.psm1' + +# Version number of this module. +ModuleVersion = '6.4.4' + +# Supported PSEditions +# CompatiblePSEditions = @() + +# ID used to uniquely identify this module +GUID = 'ca09d46c-54a3-4aa3-9a62-cd8c94d6b6b9' + +# Author of this module +Author = 'Entity Framework Team' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = '(c) Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'EntityFramework PowerShell module for use within NuGet''s Package Manager Console' + +# Minimum version of the Windows PowerShell engine required by this module +PowerShellVersion = '3.0' + +# Name of the Windows PowerShell host required by this module +PowerShellHostName = 'Package Manager Host' + +# Minimum version of the Windows PowerShell host required by this module +PowerShellHostVersion = '1.2' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.0' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +# CLRVersion = '' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = '' + +# Modules that must be imported into the global environment prior to importing this module +# RequiredModules = @() + +# Assemblies that must be loaded prior to importing this module +# RequiredAssemblies = @() + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. +# ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +# FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +# NestedModules = @() + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +FunctionsToExport = ( + 'Add-EFDefaultConnectionFactory', + 'Add-EFProvider', + 'Add-Migration', + 'Enable-Migrations', + 'Get-Migrations', + 'Update-Database' +) + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = @() + +# Variables to export from this module +VariablesToExport = '*' + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +AliasesToExport = @() + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{ + + PSData = @{ + + # Tags applied to this module. These help with module discovery in online galleries. + # Tags = @() + + # A URL to the license for this module. + # LicenseUri = '' + + # A URL to the main website for this project. + # ProjectUri = '' + + # A URL to an icon representing this module. + # IconUri = '' + + # ReleaseNotes of this module + # ReleaseNotes = '' + + } # End of PSData hashtable + +} # End of PrivateData hashtable + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' + +} + +# SIG # Begin signature block +# MIIkXwYJKoZIhvcNAQcCoIIkUDCCJEwCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCcG0KjFL1QWHcc +# ieFGXdhIsk7IeHsfD93SuoZCwJ+nH6CCDYUwggYDMIID66ADAgECAhMzAAABUptA +# n1BWmXWIAAAAAAFSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQCxp4nT9qfu9O10iJyewYXHlN+WEh79Noor9nhM6enUNbCbhX9vS+8c/3eIVazS +# YnVBTqLzW7xWN1bCcItDbsEzKEE2BswSun7J9xCaLwcGHKFr+qWUlz7hh9RcmjYS +# kOGNybOfrgj3sm0DStoK8ljwEyUVeRfMHx9E/7Ca/OEq2cXBT3L0fVnlEkfal310 +# EFCLDo2BrE35NGRjG+/nnZiqKqEh5lWNk33JV8/I0fIcUKrLEmUGrv0CgC7w2cjm +# bBhBIJ+0KzSnSWingXol/3iUdBBy4QQNH767kYGunJeY08RjHMIgjJCdAoEM+2mX +# v1phaV7j+M3dNzZ/cdsz3oDfAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU3f8Aw1sW72WcJ2bo/QSYGzVrRYcw +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzQ1NDEzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AJTwROaHvogXgixWjyjvLfiRgqI2QK8GoG23eqAgNjX7V/WdUWBbs0aIC3k49cd0 +# zdq+JJImixcX6UOTpz2LZPFSh23l0/Mo35wG7JXUxgO0U+5drbQht5xoMl1n7/TQ +# 4iKcmAYSAPxTq5lFnoV2+fAeljVA7O43szjs7LR09D0wFHwzZco/iE8Hlakl23ZT +# 7FnB5AfU2hwfv87y3q3a5qFiugSykILpK0/vqnlEVB0KAdQVzYULQ/U4eFEjnis3 +# Js9UrAvtIhIs26445Rj3UP6U4GgOjgQonlRA+mDlsh78wFSGbASIvK+fkONUhvj8 +# B8ZHNn4TFfnct+a0ZueY4f6aRPxr8beNSUKn7QW/FQmn422bE7KfnqWncsH7vbNh +# G929prVHPsaa7J22i9wyHj7m0oATXJ+YjfyoEAtd5/NyIYaE4Uu0j1EhuYUo5VaJ +# JnMaTER0qX8+/YZRWrFN/heps41XNVjiAawpbAa0fUa3R9RNBjPiBnM0gvNPorM4 +# dsV2VJ8GluIQOrJlOvuCrOYDGirGnadOmQ21wPBoGFCWpK56PxzliKsy5NNmAXcE +# x7Qb9vUjY1WlYtrdwOXTpxN4slzIht69BaZlLIjLVWwqIfuNrhHKNDM9K+v7vgrI +# bf7l5/665g0gjQCDCN6Q5sxuttTAEKtJeS/pkpI+DbZ/MIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFjAwghYsAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAFSm0CfUFaZdYgAAAAA +# AVIwDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIFiI +# NIl1ZAwQ5+xMDrKFC+l0KnnIIIT1hsM2wLg4UECKMEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAQQvAdfgP9B94hZUcOJvbC+bT8A0phbfq7f/l +# JG6lGG0JJ3XWnfhw0hZ3VnAOmrYGhraB2pe5rFC1MkOTX9LbWK/WGxOakjtTz8rG +# eqdvv7XZ7M93jfzZVPtep8kWwUcyLKrIAi9VB+PngmDE1YjhDz/afzRcBj/ke8Vb +# NgPHN5o2UZRkSJb6CY+3eSvENs2KWo0fz+Gj+7Vxg8DPy8wixdGlXRJzrM63hvkI +# zyxBgxZZ8viHNKUzFTu2twYGB0SK0hXszpE1GInBLoyPmzf3XSFYBFWcOimI6W2e +# KM9lkYPmZhbaYHdObe/aGZ5pupbjfpaI1WcLQ67NwXUljNfoVKGCE7owghO2Bgor +# BgEEAYI3AwMBMYITpjCCE6IGCSqGSIb3DQEHAqCCE5MwghOPAgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFYBgsqhkiG9w0BCRABBKCCAUcEggFDMIIBPwIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCByo81xQmtg/4brZ/DJLRKTBt3urhdJLYFL +# W4x6UD/9CQIGXno8lH3RGBMyMDIwMDQxNjIyMTM0MS4xNDdaMAcCAQGAAgH0oIHU +# pIHRMIHOMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYD +# VQQLEyBNaWNyb3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMd +# VGhhbGVzIFRTUyBFU046NzI4RC1DNDVGLUY5RUIxJTAjBgNVBAMTHE1pY3Jvc29m +# dCBUaW1lLVN0YW1wIFNlcnZpY2Wggg8iMIIE9TCCA92gAwIBAgITMwAAAQQJAXUI +# WIctKQAAAAABBDANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UE +# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ +# Q0EgMjAxMDAeFw0xOTA5MDYyMDQxMThaFw0yMDEyMDQyMDQxMThaMIHOMQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQLEyBNaWNyb3Nv +# ZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMdVGhhbGVzIFRTUyBF +# U046NzI4RC1DNDVGLUY5RUIxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFNlcnZpY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDILQegEboY +# ZpaU4WD8FoJrTtqDVU02ch4GEAXNxh/ydcOm4YE3IKTYmZxmXtpL9QG8oOwAUj+n +# pIKUYVqQcseYDnjsaZZT15AsaYjJShRcfvkZ8YNDdWBTdmgLFY/RkTFnN0eoTyrY +# BTB11Cz8Y4t37ug04I3zotqYoea/zvnKdTovCr3U/vKeSZUTpNf/OZ7E4IBPNArn +# T/zYboiK0r5gzSlZjjBd2n1FlLMFT+r+rfXBo0lhtxjBjWXvBQd1VTi/qTbQm0Vf +# N6oULZMiMgPB7xmnIgH612Yv0A+Qv7yu13L6Hh24s4e4+ZV1A9z4h9H36h7zKefJ +# bFPwI6aq+WRnAgMBAAGjggEbMIIBFzAdBgNVHQ4EFgQUmNVe38JEGg4XAYvxmdPD +# IrDomuowHwYDVR0jBBgwFoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8w +# TTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVj +# dHMvTWljVGltU3RhUENBXzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBK +# BggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9N +# aWNUaW1TdGFQQ0FfMjAxMC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUE +# DDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAQEAPRXUs3dpfDQDF9e0RXli +# 4TqpzgIMlyIx/LXVtcgPeGXc8p/DXrpHI8iC+/z5I/EeyhLRFC9HH0Z3bOiiE2jw +# V8ZaLM9YvpDIX3eneJEoJz1ptKqANeH6sSVDOj+X2X1kRlK7ZDSYWujfCHdQorso +# m6uytNxJ0y4JYtxF9S15cwTsssozN4QxlcYD5PQ+wcOYpIFY7vmKpfrV444Bv6Bc +# Plib8ATe2Lp2kVdOiSmcLGBj7DmANasnPFVwaMnihhSoSNqE4U/z+yDN4QsSzXOH +# 4sd7C2inuDWbWtK43bLGPCs/meLK/E/XWl0hWu5FKSlcOdu+/tEBQnOm5Kx45Sgf +# 5TCCBnEwggRZoAMCAQICCmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJ +# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k +# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jv +# c29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIx +# MzY1NVoXDTI1MDcwMTIxNDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh +# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD +# b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw +# MTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX +# 9fp/aZRrdFQQ1aUKAIKF++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkT +# jnxhMFmxMEQP8WCIhFRDDNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG +# 8lhHhjKEHnRhZ5FfgVSxz5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGK +# r0tkiVBisV39dx898Fd1rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6 +# Kgox8NpOBpG2iAg16HgcsOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEF +# TyJNAgMBAAGjggHmMIIB4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6 +# XIoxkPNDe3xGG8UzaFqFbVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYD +# VR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxi +# aNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3Nv +# ZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMu +# Y3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNy +# b3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQw +# gaAGA1UdIAEB/wSBlTCBkjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFo +# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRt +# MEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0 +# AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/ +# gXEDPZ2joSFvs+umzPUxvs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtU +# VwgrUYJEEvu5U4zM9GASinbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9 +# Wj8c8pl5SpFSAK84Dxf1L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9 +# BOFwnzJKJ/1Vry/+tuWOM7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOd +# eyFtw5yjojz6f32WapB4pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1 +# JeVk7Pf0v35jWSUPei45V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4Ttx +# Cd9ddJgiCGHasFAeb73x4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5 +# u+zGy9iCtHLNHfS4hQEegPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9U +# JyH3yKxO2ii4sanblrKnQqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Z +# ta7cRDyXUHHXodLFVeNp3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa +# 7wknHNWzfjUeCLraNtvTX4/edIhJEqGCA7AwggKYAgEBMIH+oYHUpIHRMIHOMQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQLEyBNaWNy +# b3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMdVGhhbGVzIFRT +# UyBFU046NzI4RC1DNDVGLUY5RUIxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0 +# YW1wIFNlcnZpY2WiJQoBATAJBgUrDgMCGgUAAxUAs0Yef0dI8yhMiFS2cxh4FtwV +# Cn2ggd4wgdukgdgwgdUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u +# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp +# b24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMScw +# JQYDVQQLEx5uQ2lwaGVyIE5UUyBFU046NERFOS0wQzVFLTNFMDkxKzApBgNVBAMT +# Ik1pY3Jvc29mdCBUaW1lIFNvdXJjZSBNYXN0ZXIgQ2xvY2swDQYJKoZIhvcNAQEF +# BQACBQDiQwzZMCIYDzIwMjAwNDE3MDA1NjU3WhgPMjAyMDA0MTgwMDU2NTdaMHcw +# PQYKKwYBBAGEWQoEATEvMC0wCgIFAOJDDNkCAQAwCgIBAAICDs8CAf8wBwIBAAIC +# GdQwCgIFAOJEXlkCAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAaAK +# MAgCAQACAxbjYKEKMAgCAQACAwehIDANBgkqhkiG9w0BAQUFAAOCAQEAVR5+BjNf +# Gc+5pG6BYZN1foVdYAhowMIzZku0Wn47KaKZitoIUPeatitszQkCDyXpF/oVrnry +# 4xmOFrItv3q38dsuXxDO7UlaWle/OJgZGi6sYH7H+ZvMGqHVFAyMeUTazzFY4QYV +# rMDJjolp113C/X01QTEk+zG3gsJspiAMGjKeOJsFba4/4mxrYhPx93HbT0HIzdg9 +# D/0vU17zrvL13nsWkeWkpODZ2KoVOhkpUUTwKSwGTMEFjC0j3ffO3a91albF86RW +# FG40o2cWNGXSY7N1yiR9MGH1RD92ZT9T6oKwsNQKlX4FidP/geCN0q85PkoAqfcq +# a6UuVo1fRGEDQjGCAvUwggLxAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAABBAkBdQhYhy0pAAAAAAEEMA0GCWCGSAFlAwQCAQUAoIIBMjAa +# BgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIAyAZXxY +# xS9hHHh9BPYXPuaSgjyv5xF4mZLXsdyi0QHtMIHiBgsqhkiG9w0BCRACDDGB0jCB +# zzCBzDCBsQQUs0Yef0dI8yhMiFS2cxh4FtwVCn0wgZgwgYCkfjB8MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg +# VGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAQQJAXUIWIctKQAAAAABBDAWBBS6KRcG +# MO6TSAD4ldO5lf1QBYOnjTANBgkqhkiG9w0BAQsFAASCAQBCdLtpeDxrqA0pkyDv +# MCD7/VYYdMuQhoXQ90sYgx0tBr7CMNBZzd14daBMHpjWvB4lBsgcIsbt5P5Us9fV +# 6LQjfVjkRv+QQPSiT6n8DXGOaVY82irsBExvAGGIHfyrLF86Z2gu2sVQhoy0a7ab +# XE0uuAc2pakzaH7JqDgIwTmJwTVwMxqdMtl7AAeGoh1wrtt9G7rR2IqRRnLBEic6 +# PHqwfeuQTXp951s5morS6uyekb9j0hqAw7jnlM/WpSp3DvD6wc/Q1EVrNpxiADAT +# HEavZS9jIsX7xYpVm+YGl7/tOBm1R6ra67YL9+iPHOZMsvOQ+q94rgpJJVpYKa6O +# APYU +# SIG # End signature block diff --git a/packages/EntityFramework.6.4.4/tools/EntityFramework6.psm1 b/packages/EntityFramework.6.4.4/tools/EntityFramework6.psm1 new file mode 100644 index 0000000..d5f1c6a --- /dev/null +++ b/packages/EntityFramework.6.4.4/tools/EntityFramework6.psm1 @@ -0,0 +1,1407 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. + +$ErrorActionPreference = 'Stop' +$InitialDatabase = '0' + +<# +.SYNOPSIS + Adds or updates an Entity Framework provider entry in the project config + file. + +.DESCRIPTION + Adds an entry into the 'entityFramework' section of the project config + file for the specified provider invariant name and provider type. If an + entry for the given invariant name already exists, then that entry is + updated with the given type name, unless the given type name already + matches, in which case no action is taken. The 'entityFramework' + section is added if it does not exist. The config file is automatically + saved if and only if a change was made. + + This command is typically used only by Entity Framework provider NuGet + packages and is run from the 'install.ps1' script. + +.PARAMETER Project + The Visual Studio project to update. When running in the NuGet install.ps1 + script the '$project' variable provided as part of that script should be + used. + +.PARAMETER InvariantName + The provider invariant name that uniquely identifies this provider. For + example, the Microsoft SQL Server provider is registered with the invariant + name 'System.Data.SqlClient'. + +.PARAMETER TypeName + The assembly-qualified type name of the provider-specific type that + inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. For + example, for the Microsoft SQL Server provider, this type is + 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'. +#> +function Add-EFProvider +{ + [CmdletBinding(PositionalBinding = $false)] + param( + [parameter(Position = 0, Mandatory = $true)] + $Project, + [parameter(Position = 1, Mandatory = $true)] + [string] $InvariantName, + [parameter(Position = 2, Mandatory = $true)] + [string] $TypeName) + + $configPath = GetConfigPath $Project + if (!$configPath) + { + return + } + + [xml] $configXml = Get-Content $configPath + + $providers = $configXml.configuration.entityFramework.providers + + $providers.provider | + where invariantName -eq $InvariantName | + %{ $providers.RemoveChild($_) | Out-Null } + + $provider = $providers.AppendChild($configXml.CreateElement('provider')) + $provider.SetAttribute('invariantName', $InvariantName) + $provider.SetAttribute('type', $TypeName) + + $configXml.Save($configPath) +} + +<# +.SYNOPSIS + Adds or updates an Entity Framework default connection factory in the + project config file. + +.DESCRIPTION + Adds an entry into the 'entityFramework' section of the project config + file for the connection factory that Entity Framework will use by default + when creating new connections by convention. Any existing entry will be + overridden if it does not match. The 'entityFramework' section is added if + it does not exist. The config file is automatically saved if and only if + a change was made. + + This command is typically used only by Entity Framework provider NuGet + packages and is run from the 'install.ps1' script. + +.PARAMETER Project + The Visual Studio project to update. When running in the NuGet install.ps1 + script the '$project' variable provided as part of that script should be + used. + +.PARAMETER TypeName + The assembly-qualified type name of the connection factory type that + implements the 'System.Data.Entity.Infrastructure.IDbConnectionFactory' + interface. For example, for the Microsoft SQL Server Express provider + connection factory, this type is + 'System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework'. + +.PARAMETER ConstructorArguments + An optional array of strings that will be passed as arguments to the + connection factory type constructor. +#> +function Add-EFDefaultConnectionFactory +{ + [CmdletBinding(PositionalBinding = $false)] + param( + [parameter(Position = 0, Mandatory = $true)] + $Project, + [parameter(Position = 1, Mandatory = $true)] + [string] $TypeName, + [string[]] $ConstructorArguments) + + $configPath = GetConfigPath $Project + if (!$configPath) + { + return + } + + [xml] $configXml = Get-Content $configPath + + $entityFramework = $configXml.configuration.entityFramework + $defaultConnectionFactory = $entityFramework.defaultConnectionFactory + if ($defaultConnectionFactory) + { + $entityFramework.RemoveChild($defaultConnectionFactory) | Out-Null + } + $defaultConnectionFactory = $entityFramework.AppendChild($configXml.CreateElement('defaultConnectionFactory')) + + $defaultConnectionFactory.SetAttribute('type', $TypeName) + + if ($ConstructorArguments) + { + $parameters = $defaultConnectionFactory.AppendChild($configXml.CreateElement('parameters')) + + foreach ($constructorArgument in $ConstructorArguments) + { + $parameter = $parameters.AppendChild($configXml.CreateElement('parameter')) + $parameter.SetAttribute('value', $constructorArgument) + } + } + + $configXml.Save($configPath) +} + +<# +.SYNOPSIS + Enables Code First Migrations in a project. + +.DESCRIPTION + Enables Migrations by scaffolding a migrations configuration class in the project. If the + target database was created by an initializer, an initial migration will be created (unless + automatic migrations are enabled via the EnableAutomaticMigrations parameter). + +.PARAMETER ContextTypeName + Specifies the context to use. If omitted, migrations will attempt to locate a + single context type in the target project. + +.PARAMETER EnableAutomaticMigrations + Specifies whether automatic migrations will be enabled in the scaffolded migrations configuration. + If omitted, automatic migrations will be disabled. + +.PARAMETER MigrationsDirectory + Specifies the name of the directory that will contain migrations code files. + If omitted, the directory will be named "Migrations". + +.PARAMETER ProjectName + Specifies the project that the scaffolded migrations configuration class will + be added to. If omitted, the default project selected in package manager + console is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ContextProjectName + Specifies the project which contains the DbContext class to use. If omitted, + the context is assumed to be in the same project used for migrations. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER Force + Specifies that the migrations configuration be overwritten when running more + than once for a given project. + +.PARAMETER ContextAssemblyName + Specifies the name of the assembly which contains the DbContext class to use. Use this + parameter instead of ContextProjectName when the context is contained in a referenced + assembly rather than in a project of the solution. + +.PARAMETER AppDomainBaseDirectory + Specifies the directory to use for the app-domain that is used for running Migrations + code such that the app-domain is able to find all required assemblies. This is an + advanced option that should only be needed if the solution contains several projects + such that the assemblies needed for the context and configuration are not all + referenced from either the project containing the context or the project containing + the migrations. + +.EXAMPLE + Enable-Migrations + # Scaffold a migrations configuration in a project with only one context + +.EXAMPLE + Enable-Migrations -Auto + # Scaffold a migrations configuration with automatic migrations enabled for a project + # with only one context + +.EXAMPLE + Enable-Migrations -ContextTypeName MyContext -MigrationsDirectory DirectoryName + # Scaffold a migrations configuration for a project with multiple contexts + # This scaffolds a migrations configuration for MyContext and will put the configuration + # and subsequent configurations in a new directory called "DirectoryName" + +#> +function Enable-Migrations +{ + [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName', PositionalBinding = $false)] + param( + [string] $ContextTypeName, + [alias('Auto')] + [switch] $EnableAutomaticMigrations, + [string] $MigrationsDirectory, + [string] $ProjectName, + [string] $StartUpProjectName, + [string] $ContextProjectName, + [parameter(ParameterSetName = 'ConnectionStringName')] + [string] $ConnectionStringName, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', Mandatory = $true)] + [string] $ConnectionString, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', Mandatory = $true)] + [string] $ConnectionProviderName, + [switch] $Force, + [string] $ContextAssemblyName, + [string] $AppDomainBaseDirectory) + + WarnIfOtherEFs 'Enable-Migrations' + + $project = GetProject $ProjectName + $startupProject = GetStartupProject $StartUpProjectName $project + + if (!$ContextAssemblyName -and $ContextProjectName) + { + $contextProject = Get-Project $ContextProjectName + $ContextAssemblyName = GetProperty $contextProject.Properties 'AssemblyName' + } + + $params = 'migrations', 'enable', '--json' + + if ($ContextTypeName) + { + $params += '--context', $ContextTypeName + } + + if ($ContextAssemblyName) + { + $params += '--context-assembly', $ContextAssemblyName + } + + if ($EnableAutomaticMigrations) + { + $params += '--auto' + } + + if ($MigrationsDirectory) + { + $params += '--migrations-dir', $MigrationsDirectory + } + + $params += GetParams $ConnectionStringName $ConnectionString $ConnectionProviderName + + if ($Force) + { + $params += '--force' + } + + # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0 + $result = (EF6 $project $startupProject $AppDomainBaseDirectory $params) -join "`n" | ConvertFrom-Json + + $project.ProjectItems.AddFromFile($result.migrationsConfiguration) | Out-Null + $DTE.ItemOperations.OpenFile($result.migrationsConfiguration) | Out-Null + ShowConsole + + if ($result.migration) + { + $project.ProjectItems.AddFromFile($result.migration) | Out-Null + $resourcesProperties = $project.ProjectItems.AddFromFile($result.migrationResources).Properties + $project.ProjectItems.AddFromFile($result.migrationDesigner) | Out-Null + } +} + +<# +.SYNOPSIS + Scaffolds a migration script for any pending model changes. + +.DESCRIPTION + Scaffolds a new migration script and adds it to the project. + +.PARAMETER Name + Specifies the name of the custom script. + +.PARAMETER Force + Specifies that the migration user code be overwritten when re-scaffolding an + existing migration. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If omitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER IgnoreChanges + Scaffolds an empty migration ignoring any pending changes detected in the current model. + This can be used to create an initial, empty migration to enable Migrations for an existing + database. N.B. Doing this assumes that the target database schema is compatible with the + current model. + +.PARAMETER AppDomainBaseDirectory + Specifies the directory to use for the app-domain that is used for running Migrations + code such that the app-domain is able to find all required assemblies. This is an + advanced option that should only be needed if the solution contains several projects + such that the assemblies needed for the context and configuration are not all + referenced from either the project containing the context or the project containing + the migrations. + +.EXAMPLE + Add-Migration First + # Scaffold a new migration named "First" + +.EXAMPLE + Add-Migration First -IgnoreChanges + # Scaffold an empty migration ignoring any pending changes detected in the current model. + # This can be used to create an initial, empty migration to enable Migrations for an existing + # database. N.B. Doing this assumes that the target database schema is compatible with the + # current model. + +#> +function Add-Migration +{ + [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName', PositionalBinding = $false)] + param( + [parameter(Position = 0, Mandatory = $true)] + [string] $Name, + [switch] $Force, + [string] $ProjectName, + [string] $StartUpProjectName, + [string] $ConfigurationTypeName, + [parameter(ParameterSetName = 'ConnectionStringName')] + [string] $ConnectionStringName, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', Mandatory = $true)] + [string] $ConnectionString, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', Mandatory = $true)] + [string] $ConnectionProviderName, + [switch] $IgnoreChanges, + [string] $AppDomainBaseDirectory) + + WarnIfOtherEFs 'Add-Migration' + + $project = GetProject $ProjectName + $startupProject = GetStartupProject $StartUpProjectName $project + + $params = 'migrations', 'add', $Name, '--json' + + if ($Force) + { + $params += '--force' + } + + if ($ConfigurationTypeName) + { + $params += '--migrations-config', $ConfigurationTypeName + } + + if ($IgnoreChanges) + { + $params += '--ignore-changes' + } + + $params += GetParams $ConnectionStringName $ConnectionString $ConnectionProviderName + + # NB: -join is here to support ConvertFrom-Json on PowerShell 3.0 + $result = (EF6 $project $startupProject $AppDomainBaseDirectory $params) -join "`n" | ConvertFrom-Json + + $project.ProjectItems.AddFromFile($result.migration) | Out-Null + $DTE.ItemOperations.OpenFile($result.migration) | Out-Null + $resourcesProperties = $project.ProjectItems.AddFromFile($result.migrationResources).Properties + $project.ProjectItems.AddFromFile($result.migrationDesigner) | Out-Null +} + +<# +.SYNOPSIS + Applies any pending migrations to the database. + +.DESCRIPTION + Updates the database to the current model by applying pending migrations. + +.PARAMETER SourceMigration + Only valid with -Script. Specifies the name of a particular migration to use + as the update's starting point. If omitted, the last applied migration in + the database will be used. + +.PARAMETER TargetMigration + Specifies the name of a particular migration to update the database to. If + omitted, the current model will be used. + +.PARAMETER Script + Generate a SQL script rather than executing the pending changes directly. + +.PARAMETER Force + Specifies that data loss is acceptable during automatic migration of the + database. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If omitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER AppDomainBaseDirectory + Specifies the directory to use for the app-domain that is used for running Migrations + code such that the app-domain is able to find all required assemblies. This is an + advanced option that should only be needed if the solution contains several projects + such that the assemblies needed for the context and configuration are not all + referenced from either the project containing the context or the project containing + the migrations. + +.EXAMPLE + Update-Database + # Update the database to the latest migration + +.EXAMPLE + Update-Database -TargetMigration Second + # Update database to a migration named "Second" + # This will apply migrations if the target hasn't been applied or roll back migrations + # if it has + +.EXAMPLE + Update-Database -Script + # Generate a script to update the database from its current state to the latest migration + +.EXAMPLE + Update-Database -Script -SourceMigration Second -TargetMigration First + # Generate a script to migrate the database from a specified start migration + # named "Second" to a specified target migration named "First" + +.EXAMPLE + Update-Database -Script -SourceMigration $InitialDatabase + # Generate a script that can upgrade a database currently at any version to the latest version. + # The generated script includes logic to check the __MigrationsHistory table and only apply changes + # that haven't been previously applied. + +.EXAMPLE + Update-Database -TargetMigration $InitialDatabase + # Runs the Down method to roll-back any migrations that have been applied to the database + + +#> +function Update-Database +{ + [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName', PositionalBinding = $false)] + param( + [string] $SourceMigration, + [string] $TargetMigration, + [switch] $Script, + [switch] $Force, + [string] $ProjectName, + [string] $StartUpProjectName, + [string] $ConfigurationTypeName, + [parameter(ParameterSetName = 'ConnectionStringName')] + [string] $ConnectionStringName, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', Mandatory = $true)] + [string] $ConnectionString, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', Mandatory = $true)] + [string] $ConnectionProviderName, + [string] $AppDomainBaseDirectory) + + WarnIfOtherEFs 'Update-Database' + + $project = GetProject $ProjectName + $startupProject = GetStartupProject $StartUpProjectName $project + + $params = 'database', 'update' + + if ($SourceMigration) + { + $params += '--source', $SourceMigration + } + + if ($TargetMigration) + { + $params += '--target', $TargetMigration + } + + if ($Script) + { + $params += '--script' + } + + if ($Force) + { + $params += '--force' + } + + if ($ConfigurationTypeName) + { + $params += '--migrations-config', $ConfigurationTypeName + } + + $params += GetParams $ConnectionStringName $ConnectionString $ConnectionProviderName + + $result = (EF6 $project $startupProject $AppDomainBaseDirectory $params) -join "`n" + if ($result) + { + try + { + $window = $DTE.ItemOperations.NewFile('General\Sql File') + $textDocument = $window.Document.Object('TextDocument') + $editPoint = $textDocument.StartPoint.CreateEditPoint() + $editPoint.Insert($result) + } + catch + { + $intermediatePath = GetIntermediatePath $project + if (![IO.Path]::IsPathRooted($intermediatePath)) + { + $projectDir = GetProperty $project.Properties 'FullPath' + $intermediatePath = Join-Path $projectDir $intermediatePath -Resolve | Convert-Path + } + + $fileName = [IO.Path]::ChangeExtension([IO.Path]::GetRandomFileName(), '.sql') + $sqlFile = Join-Path $intermediatePath $fileName + + [IO.File]::WriteAllText($sqlFile, $result) + + $DTE.ItemOperations.OpenFile($sqlFile) | Out-Null + } + + ShowConsole + } +} + +<# +.SYNOPSIS + Displays the migrations that have been applied to the target database. + +.DESCRIPTION + Displays the migrations that have been applied to the target database. + +.PARAMETER ProjectName + Specifies the project that contains the migration configuration type to be + used. If omitted, the default project selected in package manager console + is used. + +.PARAMETER StartUpProjectName + Specifies the configuration file to use for named connection strings. If + omitted, the specified project's configuration file is used. + +.PARAMETER ConfigurationTypeName + Specifies the migrations configuration to use. If omitted, migrations will + attempt to locate a single migrations configuration type in the target + project. + +.PARAMETER ConnectionStringName + Specifies the name of a connection string to use from the application's + configuration file. + +.PARAMETER ConnectionString + Specifies the connection string to use. If omitted, the context's + default connection will be used. + +.PARAMETER ConnectionProviderName + Specifies the provider invariant name of the connection string. + +.PARAMETER AppDomainBaseDirectory + Specifies the directory to use for the app-domain that is used for running Migrations + code such that the app-domain is able to find all required assemblies. This is an + advanced option that should only be needed if the solution contains several projects + such that the assemblies needed for the context and configuration are not all + referenced from either the project containing the context or the project containing + the migrations. +#> +function Get-Migrations +{ + [CmdletBinding(DefaultParameterSetName = 'ConnectionStringName', PositionalBinding = $false)] + param( + [string] $ProjectName, + [string] $StartUpProjectName, + [string] $ConfigurationTypeName, + [parameter(ParameterSetName = 'ConnectionStringName')] + [string] $ConnectionStringName, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', Mandatory = $true)] + [string] $ConnectionString, + [parameter(ParameterSetName = 'ConnectionStringAndProviderName', Mandatory = $true)] + [string] $ConnectionProviderName, + [string] $AppDomainBaseDirectory) + + WarnIfOtherEFs 'Get-Migrations' + + $project = GetProject $ProjectName + $startupProject = GetStartupProject $StartUpProjectName $project + + $params = 'migrations', 'list' + + if ($ConfigurationTypeName) + { + $params += '--migrations-config', $ConfigurationTypeName + } + + $params += GetParams $ConnectionStringName $ConnectionString $ConnectionProviderName + + return EF6 $project $startupProject $AppDomainBaseDirectory $params +} + +function WarnIfOtherEFs($cmdlet) +{ + if (Get-Module 'EntityFrameworkCore') + { + Write-Warning "Both Entity Framework 6 and Entity Framework Core are installed. The Entity Framework 6 tools are running. Use 'EntityFrameworkCore\$cmdlet' for Entity Framework Core." + } + + if (Get-Module 'EntityFramework') + { + Write-Warning "A version of Entity Framework older than 6.3 is also installed. The newer tools are running. Use 'EntityFramework\$cmdlet' for the older version." + } +} + +function GetProject($projectName) +{ + if (!$projectName) + { + return Get-Project + } + + return Get-Project $projectName +} + +function GetStartupProject($name, $fallbackProject) +{ + if ($name) + { + return Get-Project $name + } + + $startupProjectPaths = $DTE.Solution.SolutionBuild.StartupProjects + if ($startupProjectPaths) + { + if ($startupProjectPaths.Length -eq 1) + { + $startupProjectPath = $startupProjectPaths[0] + if (![IO.Path]::IsPathRooted($startupProjectPath)) + { + $solutionPath = Split-Path (GetProperty $DTE.Solution.Properties 'Path') + $startupProjectPath = Join-Path $solutionPath $startupProjectPath -Resolve | Convert-Path + } + + $startupProject = GetSolutionProjects | + ?{ + try + { + $fullName = $_.FullName + } + catch [NotImplementedException] + { + return $false + } + + if ($fullName -and $fullName.EndsWith('\')) + { + $fullName = $fullName.Substring(0, $fullName.Length - 1) + } + + return $fullName -eq $startupProjectPath + } + if ($startupProject) + { + return $startupProject + } + + Write-Warning "Unable to resolve startup project '$startupProjectPath'." + } + else + { + Write-Warning 'Multiple startup projects set.' + } + } + else + { + Write-Warning 'No startup project set.' + } + + Write-Warning "Using project '$($fallbackProject.ProjectName)' as the startup project." + + return $fallbackProject +} + +function GetSolutionProjects() +{ + $projects = New-Object 'System.Collections.Stack' + + $DTE.Solution.Projects | + %{ $projects.Push($_) } + + while ($projects.Count) + { + $project = $projects.Pop(); + + <# yield return #> $project + + if ($project.ProjectItems) + { + $project.ProjectItems | + ?{ $_.SubProject } | + %{ $projects.Push($_.SubProject) } + } + } +} + +function GetParams($connectionStringName, $connectionString, $connectionProviderName) +{ + $params = @() + + if ($connectionStringName) + { + $params += '--connection-string-name', $connectionStringName + } + + if ($connectionString) + { + $params += '--connection-string', $connectionString, + '--connection-provider', $connectionProviderName + } + + return $params +} + +function ShowConsole +{ + $componentModel = Get-VSComponentModel + $powerConsoleWindow = $componentModel.GetService([NuGetConsole.IPowerConsoleWindow]) + $powerConsoleWindow.Show() +} + +function WriteErrorLine($message) +{ + try + { + # Call the internal API NuGet uses to display errors + $componentModel = Get-VSComponentModel + $powerConsoleWindow = $componentModel.GetService([NuGetConsole.IPowerConsoleWindow]) + $bindingFlags = [Reflection.BindingFlags]::Instance -bor [Reflection.BindingFlags]::NonPublic + $activeHostInfo = $powerConsoleWindow.GetType().GetProperty('ActiveHostInfo', $bindingFlags).GetValue($powerConsoleWindow) + $internalHost = $activeHostInfo.WpfConsole.Host + $reportErrorMethod = $internalHost.GetType().GetMethod('ReportError', $bindingFlags, $null, [Exception], $null) + $exception = New-Object Exception $message + $reportErrorMethod.Invoke($internalHost, $exception) + } + catch + { + Write-Host $message -ForegroundColor DarkRed + } +} + +function EF6($project, $startupProject, $workingDir, $params) +{ + $solutionBuild = $DTE.Solution.SolutionBuild + $solutionBuild.BuildProject( + $solutionBuild.ActiveConfiguration.Name, + $project.UniqueName, + <# WaitForBuildToFinish #> $true) + if ($solutionBuild.LastBuildInfo) + { + throw "The project '$($project.ProjectName)' failed to build." + } + + $projectDir = GetProperty $project.Properties 'FullPath' + $outputPath = GetProperty $project.ConfigurationManager.ActiveConfiguration.Properties 'OutputPath' + $targetDir = [IO.Path]::GetFullPath([IO.Path]::Combine($projectDir, $outputPath)) + $targetFrameworkMoniker = GetProperty $project.Properties 'TargetFrameworkMoniker' + $frameworkName = New-Object 'System.Runtime.Versioning.FrameworkName' $targetFrameworkMoniker + $targetFrameworkIdentifier = $frameworkName.Identifier + $targetFrameworkVersion = $frameworkName.Version + + if ($targetFrameworkIdentifier -in '.NETFramework') + { + if ($targetFrameworkVersion -lt '4.5') + { + $frameworkDir = 'net40' + } + else + { + $frameworkDir = 'net45' + } + + $platformTarget = GetPlatformTarget $project + if ($platformTarget -eq 'x86') + { + $runtimeDir = 'win-x86' + } + elseif ($platformTarget -in 'AnyCPU', 'x64') + { + $runtimeDir = 'any' + } + else + { + throw "Project '$($project.ProjectName)' has an active platform of '$platformTarget'. Select a different " + + 'platform and try again.' + } + + $exePath = Join-Path $PSScriptRoot "$frameworkDir\$runtimeDir\ef6.exe" + } + elseif ($targetFrameworkIdentifier -eq '.NETCoreApp') + { + $exePath = (Get-Command 'dotnet').Path + + $targetName = GetProperty $project.Properties 'AssemblyName' + $depsFile = Join-Path $targetDir ($targetName + '.deps.json') + $projectAssetsFile = GetCpsProperty $project 'ProjectAssetsFile' + $runtimeConfig = Join-Path $targetDir ($targetName + '.runtimeconfig.json') + $runtimeFrameworkVersion = GetCpsProperty $project 'RuntimeFrameworkVersion' + $efPath = Join-Path $PSScriptRoot 'netcoreapp3.0\any\ef6.dll' + + $dotnetParams = 'exec', '--depsfile', $depsFile + + if ($projectAssetsFile) + { + # NB: Don't use Get-Content. It doesn't handle UTF-8 without a signature + # NB: Don't use ReadAllLines. ConvertFrom-Json won't work on PowerShell 3.0 + $projectAssets = [IO.File]::ReadAllText($projectAssetsFile) | ConvertFrom-Json + $projectAssets.packageFolders.psobject.Properties.Name | + %{ $dotnetParams += '--additionalprobingpath', $_.TrimEnd('\') } + } + + if (Test-Path $runtimeConfig) + { + $dotnetParams += '--runtimeconfig', $runtimeConfig + } + elseif ($runtimeFrameworkVersion) + { + $dotnetParams += '--fx-version', $runtimeFrameworkVersion + } + + $dotnetParams += $efPath + + $params = $dotnetParams + $params + } + else + { + throw "Project '$($startupProject.ProjectName)' targets framework '$targetFrameworkIdentifier'. The Entity Framework " + + 'Package Manager Console Tools don''t support this framework.' + } + + $targetFileName = GetProperty $project.Properties 'OutputFileName' + $targetPath = Join-Path $targetDir $targetFileName + $rootNamespace = GetProperty $project.Properties 'RootNamespace' + $language = GetLanguage $project + + $params += '--verbose', + '--no-color', + '--prefix-output', + '--assembly', $targetPath, + '--project-dir', $projectDir, + '--language', $language + + if (IsWeb $startupProject) + { + $startupProjectDir = GetProperty $startupProject.Properties 'FullPath' + $params += '--data-dir', (Join-Path $startupProjectDir 'App_Data') + } + + if ($rootNamespace) + { + $params += '--root-namespace', $rootNamespace + } + + $configFile = GetConfigPath $startupProject + if ($configFile) + { + $params += '--config', $configFile + } + + if (!$workingDir) + { + $workingDir = $targetDir + } + + $arguments = ToArguments $params + $startInfo = New-Object 'System.Diagnostics.ProcessStartInfo' -Property @{ + FileName = $exePath; + Arguments = $arguments; + UseShellExecute = $false; + CreateNoWindow = $true; + RedirectStandardOutput = $true; + StandardOutputEncoding = [Text.Encoding]::UTF8; + RedirectStandardError = $true; + WorkingDirectory = $workingDir; + } + + Write-Verbose "$exePath $arguments" + + $process = [Diagnostics.Process]::Start($startInfo) + + while (($line = $process.StandardOutput.ReadLine()) -ne $null) + { + $level = $null + $text = $null + + $parts = $line.Split(':', 2) + if ($parts.Length -eq 2) + { + $level = $parts[0] + + $i = 0 + $count = 8 - $level.Length + while ($i -lt $count -and $parts[1][$i] -eq ' ') + { + $i++ + } + + $text = $parts[1].Substring($i) + } + + switch ($level) + { + 'error' { WriteErrorLine $text } + 'warn' { Write-Warning $text } + 'info' { Write-Host $text } + 'data' { Write-Output $text } + 'verbose' { Write-Verbose $text } + default { Write-Host $line } + } + } + + $process.WaitForExit() + + if ($process.ExitCode) + { + while (($line = $process.StandardError.ReadLine()) -ne $null) + { + WriteErrorLine $line + } + + exit + } +} + +function IsCpsProject($project) +{ + $hierarchy = GetVsHierarchy $project + $isCapabilityMatch = [Microsoft.VisualStudio.Shell.PackageUtilities].GetMethod( + 'IsCapabilityMatch', + [type[]]([Microsoft.VisualStudio.Shell.Interop.IVsHierarchy], [string])) + + return $isCapabilityMatch.Invoke($null, ($hierarchy, 'CPS')) +} + +function IsWeb($project) +{ + $hierarchy = GetVsHierarchy $project + + $aggregatableProject = Get-Interface $hierarchy 'Microsoft.VisualStudio.Shell.Interop.IVsAggregatableProject' + if (!$aggregatableProject) + { + $projectTypes = $project.Kind + } + else + { + $projectTypeGuids = $null + $hr = $aggregatableProject.GetAggregateProjectTypeGuids([ref] $projectTypeGuids) + [Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr) + + $projectTypes = $projectTypeGuids.Split(';') + } + + foreach ($projectType in $projectTypes) + { + if ($projectType -in '{349C5851-65DF-11DA-9384-00065B846F21}', '{E24C65DC-7377-472B-9ABA-BC803B73C61A}') + { + return $true + } + } + + return $false; +} + +function GetIntermediatePath($project) +{ + $intermediatePath = GetProperty $project.ConfigurationManager.ActiveConfiguration.Properties 'IntermediatePath' + if ($intermediatePath) + { + return $intermediatePath + } + + return GetMSBuildProperty $project 'IntermediateOutputPath' +} + +function GetPlatformTarget($project) +{ + if (IsCpsProject $project) + { + $platformTarget = GetCpsProperty $project 'PlatformTarget' + if ($platformTarget) + { + return $platformTarget + } + + return GetCpsProperty $project 'Platform' + } + + $platformTarget = GetProperty $project.ConfigurationManager.ActiveConfiguration.Properties 'PlatformTarget' + if ($platformTarget) + { + return $platformTarget + } + + # NB: For classic F# projects + $platformTarget = GetMSBuildProperty $project 'PlatformTarget' + if ($platformTarget) + { + return $platformTarget + } + + return 'AnyCPU' +} + +function GetLanguage($project) +{ + if (IsCpsProject $project) + { + return GetCpsProperty $project 'Language' + } + + return GetMSBuildProperty $project 'Language' +} + +function GetVsHierarchy($project) +{ + $solution = Get-VSService 'Microsoft.VisualStudio.Shell.Interop.SVsSolution' 'Microsoft.VisualStudio.Shell.Interop.IVsSolution' + $hierarchy = $null + $hr = $solution.GetProjectOfUniqueName($project.UniqueName, [ref] $hierarchy) + [Runtime.InteropServices.Marshal]::ThrowExceptionForHR($hr) + + return $hierarchy +} + +function GetProperty($properties, $propertyName) +{ + try + { + return $properties.Item($propertyName).Value + } + catch + { + return $null + } +} + +function GetCpsProperty($project, $propertyName) +{ + $browseObjectContext = Get-Interface $project 'Microsoft.VisualStudio.ProjectSystem.Properties.IVsBrowseObjectContext' + $unconfiguredProject = $browseObjectContext.UnconfiguredProject + $configuredProject = $unconfiguredProject.GetSuggestedConfiguredProjectAsync().Result + $properties = $configuredProject.Services.ProjectPropertiesProvider.GetCommonProperties() + + return $properties.GetEvaluatedPropertyValueAsync($propertyName).Result +} + +function GetMSBuildProperty($project, $propertyName) +{ + $msbuildProject = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.LoadedProjects | + where FullPath -eq $project.FullName + + return $msbuildProject.GetProperty($propertyName).EvaluatedValue +} + +function ToArguments($params) +{ + $arguments = '' + for ($i = 0; $i -lt $params.Length; $i++) + { + if ($i) + { + $arguments += ' ' + } + + if (!$params[$i].Contains(' ')) + { + $arguments += $params[$i] + + continue + } + + $arguments += '"' + + $pendingBackslashs = 0 + for ($j = 0; $j -lt $params[$i].Length; $j++) + { + switch ($params[$i][$j]) + { + '"' + { + if ($pendingBackslashs) + { + $arguments += '\' * $pendingBackslashs * 2 + $pendingBackslashs = 0 + } + $arguments += '\"' + } + + '\' + { + $pendingBackslashs++ + } + + default + { + if ($pendingBackslashs) + { + if ($pendingBackslashs -eq 1) + { + $arguments += '\' + } + else + { + $arguments += '\' * $pendingBackslashs * 2 + } + + $pendingBackslashs = 0 + } + + $arguments += $params[$i][$j] + } + } + } + + if ($pendingBackslashs) + { + $arguments += '\' * $pendingBackslashs * 2 + } + + $arguments += '"' + } + + return $arguments +} + +function GetConfigPath($project) +{ + if (IsWeb $project) + { + $configFileName = 'web.config' + } + else + { + $configFileName = 'app.config' + } + + $item = $project.ProjectItems | + where Name -eq $configFileName | + select -First 1 + + return GetProperty $item.Properties 'FullPath' +} + +Export-ModuleMember 'Add-EFDefaultConnectionFactory', 'Add-EFProvider', 'Add-Migration', 'Enable-Migrations', 'Get-Migrations', 'Update-Database' -Variable 'InitialDatabase' + +# SIG # Begin signature block +# MIIkXwYJKoZIhvcNAQcCoIIkUDCCJEwCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBU8UKKdFAqCZNi +# qPoRSiuscSg+YrZwC3TMOd7p8fuNZKCCDYUwggYDMIID66ADAgECAhMzAAABUptA +# n1BWmXWIAAAAAAFSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQCxp4nT9qfu9O10iJyewYXHlN+WEh79Noor9nhM6enUNbCbhX9vS+8c/3eIVazS +# YnVBTqLzW7xWN1bCcItDbsEzKEE2BswSun7J9xCaLwcGHKFr+qWUlz7hh9RcmjYS +# kOGNybOfrgj3sm0DStoK8ljwEyUVeRfMHx9E/7Ca/OEq2cXBT3L0fVnlEkfal310 +# EFCLDo2BrE35NGRjG+/nnZiqKqEh5lWNk33JV8/I0fIcUKrLEmUGrv0CgC7w2cjm +# bBhBIJ+0KzSnSWingXol/3iUdBBy4QQNH767kYGunJeY08RjHMIgjJCdAoEM+2mX +# v1phaV7j+M3dNzZ/cdsz3oDfAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU3f8Aw1sW72WcJ2bo/QSYGzVrRYcw +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzQ1NDEzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AJTwROaHvogXgixWjyjvLfiRgqI2QK8GoG23eqAgNjX7V/WdUWBbs0aIC3k49cd0 +# zdq+JJImixcX6UOTpz2LZPFSh23l0/Mo35wG7JXUxgO0U+5drbQht5xoMl1n7/TQ +# 4iKcmAYSAPxTq5lFnoV2+fAeljVA7O43szjs7LR09D0wFHwzZco/iE8Hlakl23ZT +# 7FnB5AfU2hwfv87y3q3a5qFiugSykILpK0/vqnlEVB0KAdQVzYULQ/U4eFEjnis3 +# Js9UrAvtIhIs26445Rj3UP6U4GgOjgQonlRA+mDlsh78wFSGbASIvK+fkONUhvj8 +# B8ZHNn4TFfnct+a0ZueY4f6aRPxr8beNSUKn7QW/FQmn422bE7KfnqWncsH7vbNh +# G929prVHPsaa7J22i9wyHj7m0oATXJ+YjfyoEAtd5/NyIYaE4Uu0j1EhuYUo5VaJ +# JnMaTER0qX8+/YZRWrFN/heps41XNVjiAawpbAa0fUa3R9RNBjPiBnM0gvNPorM4 +# dsV2VJ8GluIQOrJlOvuCrOYDGirGnadOmQ21wPBoGFCWpK56PxzliKsy5NNmAXcE +# x7Qb9vUjY1WlYtrdwOXTpxN4slzIht69BaZlLIjLVWwqIfuNrhHKNDM9K+v7vgrI +# bf7l5/665g0gjQCDCN6Q5sxuttTAEKtJeS/pkpI+DbZ/MIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFjAwghYsAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAFSm0CfUFaZdYgAAAAA +# AVIwDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEINlr +# YoMQI0s38aqnYes89d7O1smBsAmM5yEpwvrrBd+CMEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAA4wFr+j9nOalk2Cbg/LovvaZmWFRfopTwGj9 +# QbzMUO6cby0vTfP/4Mn2UI603aPDCIt96YavP5mbGk2oIHe51CZLRkVZyv2dO0l4 +# McDfHEbRYUQ7Ya9FEfpF9FJ5sieT8hKbqkj0ajqLAHEmW6kVmioXqj0xQya3j5zI +# 7t2WnMIDsUNLWYI3dlLo50rPd87ZVxWnDIE2IVhyMMtsK5urrL4WYcgGjT8jihVE +# FbQo9nL5y1hWd0ZSGMfLwCoVmDq4wVki9f5WjT/gPkrS/F+TrP+GZZPvyrhf0PTN +# R0BJPgugbrZr/lfPpPfb8r367uJYNIq0ChMNLrUdmAUWLQn23aGCE7owghO2Bgor +# BgEEAYI3AwMBMYITpjCCE6IGCSqGSIb3DQEHAqCCE5MwghOPAgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFYBgsqhkiG9w0BCRABBKCCAUcEggFDMIIBPwIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCARzTf7SSdAq/qlhyAN9oDwFAkk/oxC+YnX +# h2AQyOBq8gIGXno7qpjuGBMyMDIwMDQxNjIyMTM0MC45NDFaMAcCAQGAAgH0oIHU +# pIHRMIHOMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYD +# VQQLEyBNaWNyb3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMd +# VGhhbGVzIFRTUyBFU046NTg0Ny1GNzYxLTRGNzAxJTAjBgNVBAMTHE1pY3Jvc29m +# dCBUaW1lLVN0YW1wIFNlcnZpY2Wggg8iMIIE9TCCA92gAwIBAgITMwAAAQUHOepZ +# 81W/KgAAAAABBTANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UE +# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ +# Q0EgMjAxMDAeFw0xOTA5MDYyMDQxMThaFw0yMDEyMDQyMDQxMThaMIHOMQswCQYD +# VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe +# MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQLEyBNaWNyb3Nv +# ZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMdVGhhbGVzIFRTUyBF +# U046NTg0Ny1GNzYxLTRGNzAxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFNlcnZpY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMIpZjVUiL +# WQGqDFLLaeGfhc9bxCwi8HQx+gcaF5Zz2GodhM71oyjal6uqnRM8QHxj49uKFmY/ +# SWEhlV+so3IrmEHVLmskeEQaio5PxVgUWRm+sBIJpS9GjwKrGPZ2ub4ST2J9fu5F +# xbfTmJyB2AL6W7WcSUON8tyuz2/NRAII6YuojdMa6mjVXamL2AS7PBo1GW4Pa4Xb +# NhEQoA4/siS4JGbcfAwVMGv87bhKapDqpXLbDq6LbFdLAv7Q7eUHiHS4eccXRNGA +# npkdhHOK7s1O9FqpRZYsbx/UpkaoyqiQe/JFTA+1keYZsZgaQqgPNpGYD50SDDyQ +# Z2vtNx7KVgXtAgMBAAGjggEbMIIBFzAdBgNVHQ4EFgQUPXQb/rp3KEzK6DYOy3Fn +# /QIzNyIwHwYDVR0jBBgwFoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8w +# TTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVj +# dHMvTWljVGltU3RhUENBXzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBK +# BggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9N +# aWNUaW1TdGFQQ0FfMjAxMC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUE +# DDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAQEAp85hd3trAVfmVAPmcOAq +# nM47TbWB9S0ySGG/eNvIfhgYC0YjCLEZhiiQyOeRTws0lIOWGv7tM5tr70RGzNo1 +# /C7SQadqQ2dT5sUj7Ga6LHO2excdzRvUIwdeOaVuaj4VpiXnhjPBRu2CVNGXPe1d +# 7Zzw7di8xh2D6ooZBjhHLh7yGf2ZFjBjLcDVjrfaLwd4YqefJgg42s8EMUoXzsTp +# PlS0IBKWeX+RbBycOUhXpK9qlvFbBQGp4N+uLEV6haG33oVOtWwrbhu5F0E4UDzs +# FUaZ8OALyKraR1dIo+ZU+zjpn3Na7KUkrT/1UFYdnWYwoUDm9e+DmBhqdhUlxIhR +# nzCCBnEwggRZoAMCAQICCmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJ +# BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k +# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jv +# c29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIx +# MzY1NVoXDTI1MDcwMTIxNDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh +# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD +# b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw +# MTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX +# 9fp/aZRrdFQQ1aUKAIKF++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkT +# jnxhMFmxMEQP8WCIhFRDDNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG +# 8lhHhjKEHnRhZ5FfgVSxz5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGK +# r0tkiVBisV39dx898Fd1rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6 +# Kgox8NpOBpG2iAg16HgcsOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEF +# TyJNAgMBAAGjggHmMIIB4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6 +# XIoxkPNDe3xGG8UzaFqFbVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYD +# VR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxi +# aNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3Nv +# ZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMu +# Y3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNy +# b3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQw +# gaAGA1UdIAEB/wSBlTCBkjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFo +# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRt +# MEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0 +# AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/ +# gXEDPZ2joSFvs+umzPUxvs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtU +# VwgrUYJEEvu5U4zM9GASinbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9 +# Wj8c8pl5SpFSAK84Dxf1L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9 +# BOFwnzJKJ/1Vry/+tuWOM7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOd +# eyFtw5yjojz6f32WapB4pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1 +# JeVk7Pf0v35jWSUPei45V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4Ttx +# Cd9ddJgiCGHasFAeb73x4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5 +# u+zGy9iCtHLNHfS4hQEegPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9U +# JyH3yKxO2ii4sanblrKnQqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Z +# ta7cRDyXUHHXodLFVeNp3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa +# 7wknHNWzfjUeCLraNtvTX4/edIhJEqGCA7AwggKYAgEBMIH+oYHUpIHRMIHOMQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQLEyBNaWNy +# b3NvZnQgT3BlcmF0aW9ucyBQdWVydG8gUmljbzEmMCQGA1UECxMdVGhhbGVzIFRT +# UyBFU046NTg0Ny1GNzYxLTRGNzAxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0 +# YW1wIFNlcnZpY2WiJQoBATAJBgUrDgMCGgUAAxUA0nmc7MiH2Pr0x33n13Zg4RlV +# 9qqggd4wgdukgdgwgdUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u +# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp +# b24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMScw +# JQYDVQQLEx5uQ2lwaGVyIE5UUyBFU046NERFOS0wQzVFLTNFMDkxKzApBgNVBAMT +# Ik1pY3Jvc29mdCBUaW1lIFNvdXJjZSBNYXN0ZXIgQ2xvY2swDQYJKoZIhvcNAQEF +# BQACBQDiQwziMCIYDzIwMjAwNDE3MDA1NzA2WhgPMjAyMDA0MTgwMDU3MDZaMHcw +# PQYKKwYBBAGEWQoEATEvMC0wCgIFAOJDDOICAQAwCgIBAAICGcICAf8wBwIBAAIC +# GH4wCgIFAOJEXmICAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAaAK +# MAgCAQACAxbjYKEKMAgCAQACAwehIDANBgkqhkiG9w0BAQUFAAOCAQEATA6xpN+7 +# +epEr0I3lwl33d7P6eYuhfTZxDtgP5dr9jnFv/10jXgI47Qs0KHY4jwkeLZ9ExCM +# muBD0RcyOx/T0xkUANz57TNPssoqTztK5hHmt6ZmwTNyzUYxVJ8ARFPp62WhWiJ9 +# Tt9vKtuPrDIuVuHzxjY63QEPhZ1+UYAnQwu+DT1XPG1rikQOEXBM9MkzTgD/8AxY +# prHt87u+g7MObUd0t1sAyJI+0lzgJRlqeEAw5pW4CfkzGfEGXPgT/HfjWVIc176l +# C0ntYiOma8s4znFps5hAgnxSApopGy9c9QuuNuOfiSNa3/L5ws6RYulq/qHTuifW +# gZ90UMQ7TrA2VjGCAvUwggLxAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAABBQc56lnzVb8qAAAAAAEFMA0GCWCGSAFlAwQCAQUAoIIBMjAa +# BgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIEIjFCBe +# 4MtXOBW+4EQjXEL8OLx5+eGw0ZT8w0o9gW4DMIHiBgsqhkiG9w0BCRACDDGB0jCB +# zzCBzDCBsQQU0nmc7MiH2Pr0x33n13Zg4RlV9qowgZgwgYCkfjB8MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg +# VGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAQUHOepZ81W/KgAAAAABBTAWBBS6OC+C +# 8E5t3KIl3SZn6YRcv4X++TANBgkqhkiG9w0BAQsFAASCAQBtzHRroeehPY5IFmFC +# 0CCu+fgjt2iyDYX1P1rHZUyU1YseSFj4GEaOj5vSW2VKxlJzVl0C5/xZjQCZ73+j +# xRFZaUKSVkh5rPDV7++x6wUcCYAfj+b0QwRh5XH3HYMB8HUwusbG2WRnZCpjmrB6 +# EQfRZcvyWiD+Lcc+QXgt0/JyOEtVpMIfwWclbYX3wltt9H3Q1PXQy5pf26A5Yu6Q +# 58h3xsTXCXyJZ3jUrP6qImMS4KrsXrgh6OQWczyL3E+dzOm2OvF8QfErkK0ooXGh +# zbodmkxNfq4WhN/BpRMKsRi8QdURQ1q3qLB2GJ4JjgLBzkhXvEtWD1xqF9AINmTe +# 3n5C +# SIG # End signature block diff --git a/packages/EntityFramework.6.4.4/tools/about_EntityFramework6.help.txt b/packages/EntityFramework.6.4.4/tools/about_EntityFramework6.help.txt new file mode 100644 index 0000000..c65be46 --- /dev/null +++ b/packages/EntityFramework.6.4.4/tools/about_EntityFramework6.help.txt @@ -0,0 +1,52 @@ + + ___ + / __| + ___ ___ | |__ + | __|| __| | _ \ + | _| | _| | |_| | + |___||_| \___/ + +TOPIC + about_EntityFramework6 + +SHORT DESCRIPTION + Provides information about Entity Framework commands. + +LONG DESCRIPTION + This topic describes the Entity Framework commands. Entity Framework is + Microsoft's recommended data access technology for new applications. + + The following Entity Framework cmdlets are used with Entity Framework + Migrations. + + Cmdlet Description + ----------------- --------------------------------------------------- + Enable-Migrations Enables Code First Migrations in a project. + + Add-Migration Scaffolds a migration script for any pending model + changes. + + Update-Database Applies any pending migrations to the database. + + Get-Migrations Displays the migrations that have been applied to + the target database. + + The following Entity Framework cmdlets are used by NuGet packages that + install Entity Framework providers. These commands are not usually used as + part of normal application development. + + Cmdlet Description + ------------------------------ --------------------------------------- + Add-EFProvider Adds or updates an Entity Framework + provider entry in the project config + file. + + Add-EFDefaultConnectionFactory Adds or updates an Entity Framework + default connection factory in the + project config file. + +SEE ALSO + Enable-Migrations + Add-Migration + Update-Database + Get-Migrations diff --git a/packages/EntityFramework.6.4.4/tools/init.ps1 b/packages/EntityFramework.6.4.4/tools/init.ps1 new file mode 100644 index 0000000..1a0750a --- /dev/null +++ b/packages/EntityFramework.6.4.4/tools/init.ps1 @@ -0,0 +1,231 @@ +param($installPath, $toolsPath, $package, $project) + +# NB: Not set for scripts in PowerShell 2.0 +if (!$PSScriptRoot) +{ + $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent +} + +if ($PSVersionTable.PSVersion -lt '3.0') +{ + Import-Module (Join-Path $PSScriptRoot 'EntityFramework6.PS2.psd1') + + return +} + +$importedModule = Get-Module 'EntityFramework6' +$moduleToImport = Test-ModuleManifest (Join-Path $PSScriptRoot 'EntityFramework6.psd1') +$import = $true +if ($importedModule) +{ + if ($importedModule.Version -le $moduleToImport.Version) + { + Remove-Module 'EntityFramework6' + } + else + { + $import = $false + } +} + +if ($import) +{ + Import-Module $moduleToImport +} + +# SIG # Begin signature block +# MIIkWwYJKoZIhvcNAQcCoIIkTDCCJEgCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAWXs44Wb6F5hXF +# Tnl/wiBkO/u4wSvVRemf0sjDnTNTeqCCDYEwggX/MIID56ADAgECAhMzAAABUZ6N +# j0Bxow5BAAAAAAFRMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQCVWsaGaUcdNB7xVcNmdfZiVBhYFGcn8KMqxgNIvOZWNH9JYQLuhHhmJ5RWISy1 +# oey3zTuxqLbkHAdmbeU8NFMo49Pv71MgIS9IG/EtqwOH7upan+lIq6NOcw5fO6Os +# +12R0Q28MzGn+3y7F2mKDnopVu0sEufy453gxz16M8bAw4+QXuv7+fR9WzRJ2CpU +# 62wQKYiFQMfew6Vh5fuPoXloN3k6+Qlz7zgcT4YRmxzx7jMVpP/uvK6sZcBxQ3Wg +# B/WkyXHgxaY19IAzLq2QiPiX2YryiR5EsYBq35BP7U15DlZtpSs2wIYTkkDBxhPJ +# IDJgowZu5GyhHdqrst3OjkSRAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUV4Iarkq57esagu6FUBb270Zijc8w +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU0MTM1MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAWg+A +# rS4Anq7KrogslIQnoMHSXUPr/RqOIhJX+32ObuY3MFvdlRElbSsSJxrRy/OCCZdS +# se+f2AqQ+F/2aYwBDmUQbeMB8n0pYLZnOPifqe78RBH2fVZsvXxyfizbHubWWoUf +# NW/FJlZlLXwJmF3BoL8E2p09K3hagwz/otcKtQ1+Q4+DaOYXWleqJrJUsnHs9UiL +# crVF0leL/Q1V5bshob2OTlZq0qzSdrMDLWdhyrUOxnZ+ojZ7UdTY4VnCuogbZ9Zs +# 9syJbg7ZUS9SVgYkowRsWv5jV4lbqTD+tG4FzhOwcRQwdb6A8zp2Nnd+s7VdCuYF +# sGgI41ucD8oxVfcAMjF9YX5N2s4mltkqnUe3/htVrnxKKDAwSYliaux2L7gKw+bD +# 1kEZ/5ozLRnJ3jjDkomTrPctokY/KaZ1qub0NUnmOKH+3xUK/plWJK8BOQYuU7gK +# YH7Yy9WSKNlP7pKj6i417+3Na/frInjnBkKRCJ/eYTvBH+s5guezpfQWtU4bNo/j +# 8Qw2vpTQ9w7flhH78Rmwd319+YTmhv7TcxDbWlyteaj4RK2wk3pY1oSz2JPE5PNu +# Nmd9Gmf6oePZgy7Ii9JLLq8SnULV7b+IP0UXRY9q+GdRjM2AEX6msZvvPCIoG0aY +# HQu9wZsKEK2jqvWi8/xdeeeSI9FN6K1w4oVQM4Mwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIWMDCCFiwCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAVGejY9AcaMOQQAAAAABUTAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgq4QMk5E8 +# PVNKR1iqur8cR7NUPVJFuHBNDkH4tmrt+acwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQCUbemaYV+Cnthc3mcHucXERj1gFbL8I+5eZeP2iIK8 +# atd29VDDMFhOP7Im3KiSeJXjk9rqPJoFELotc/TjrJzKs/2zUotLmTOrFtQZJHW6 +# kHJLR0JrkI6SEHHatb88vTGGl6eXNSe7Dyvy0uFYREZUH/KPP7mIr2uqFR7HHXkO +# 0f2l/MC/UmeYXFAr//PPcJx+hcJnnbtTCwW7zqVIAZaSDrM2BzfoAS4KHIte0cvm +# dGxE6G6bcemiSS6Khl2yAKN0cUWXyGiUBlPK+cpTWu1mpECF7V72KLTbyGeK6UZF +# b7biJg5tvqloTBG60yz4u7SSkSU7yh6iq0d9QKQRoebHoYITujCCE7YGCisGAQQB +# gjcDAwExghOmMIITogYJKoZIhvcNAQcCoIITkzCCE48CAQMxDzANBglghkgBZQME +# AgEFADCCAVgGCyqGSIb3DQEJEAEEoIIBRwSCAUMwggE/AgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIATn/vF0Muh20ZK+H3p3DUuI8FQwKzcqRQWc7kLf +# uxneAgZeeiZ4Qd0YEzIwMjAwNDE2MjIxMzQxLjEzOVowBwIBAYACAfSggdSkgdEw +# gc4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsT +# IE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFs +# ZXMgVFNTIEVTTjpCMUI3LUY2N0YtRkVDMjElMCMGA1UEAxMcTWljcm9zb2Z0IFRp +# bWUtU3RhbXAgU2VydmljZaCCDyIwggT1MIID3aADAgECAhMzAAABA+pOK3i2KieT +# AAAAAAEDMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX +# YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg +# Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy +# MDEwMB4XDTE5MDkwNjIwNDExN1oXDTIwMTIwNDIwNDExN1owgc4xCzAJBgNVBAYT +# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD +# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBP +# cGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpC +# MUI3LUY2N0YtRkVDMjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALCRV96uFMhQPoee +# fQrvxbzOW3Y7LKElUOxYoMR9HW2+DOgS3ECplmsQJZbcXZJ1686/7CV7skdSO95r +# G7k9cnI9tvX4OW0WDRjtcaFOvmDdENyBUYmIf+kuPHwA8Edbzeg7OPkBCtvM5nUJ +# 5xVnQuiT9R5NF9axjwoYkHaIcaj9GWQgW5h+awLofbWyY0rWyXYk8GndPVK3MkT3 +# FnFPWLGY6OB2lRMEgpBLw1uKpCUHqp4Fpff5gnvb93EVSliLr11lwfYwEF5RjNDe +# gi9P39MjpnuXGwI2LjGKUsF66VGaVw4rdaUKQlPKJ0P/h/b9LCcVZyBVfwAD/Xap +# Woo2JEsCAwEAAaOCARswggEXMB0GA1UdDgQWBBTiNi2Y/aGPja1lJu2PPODMEW9a +# CDAfBgNVHSMEGDAWgBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEug +# SaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N +# aWNUaW1TdGFQQ0FfMjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsG +# AQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Rp +# bVN0YVBDQV8yMDEwLTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG +# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4IBAQB8Naig5oqAZfKHIUhs99mL2pqt +# Va6yca9TwUyeM9yC/Soduk4CXbtGtn+/j7yMpQldXXFefBh9PIg3bdlLchCtL8RX +# VxdmxDQYcjyxYtEmxCxxS+6EOBfl9I1ouXDj8Aq8wGZZ9PbAraJDeqxgVqd9W/YC +# rC4la3tg4HzF1hot6L0oxNlTnu+RyXmZ7f6f/Vq6KZAZPyaKbI5P6qHBG3REPAgr +# 45+GySpbWAQhZjUNZ9pJ3NcePbuaa8N2xiIJsc9t8/FTSCj1xoiK9q2YvXoA64/h +# kyUIn/fBFY3BD6meMnQCG500ruiAm0GujHYOmZxAbosMOxtLPahmQUkcbQCPMIIG +# cTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UE +# BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc +# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0 +# IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAwNzAxMjEzNjU1 +# WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu +# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv +# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCC +# ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKkdDbx3EYo6IOz8E5f1+n9p +# lGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vwFVMnBDEfQRsalR3OCROOfGEw +# WbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeG +# MoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC732H8RsEnHSRnEnIaIYqvS2SJ +# UGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOWRH7v0Ev9buWayrGo8noqCjHw +# 2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJk3jN/LzAyURdXhacAQVPIk0C +# AwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ +# 80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8E +# BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2U +# kFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5j +# b20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmww +# WgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29m +# dC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDCBoAYD +# VR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6 +# Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9DUFMvZGVmYXVsdC5odG0wQAYI +# KwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0 +# AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAAfmiFEN4sbgmD+BcQM9 +# naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/15/B4vceoniXj+bzta1RXCCtR +# gkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRWS3TvQhDIr79/xn/yN31aPxzy +# mXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBEJCI8z+0DpZaPWSm8tv0E4XCf +# Mkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/3cVKC5Em4jnsGUpxY517IW3D +# nKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9nhquBEKDuLWAmyI4ILUl5WTs +# 9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5HmoDF0M2n0O99g/DhO3EJ3110 +# mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv33nJ+YWtvd6mBy6cJrDm77MbL +# 2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI5pgt6o3gMy4SKfXAL1QnIffI +# rE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0MkvfY3v1mYovG8chr1m1rtxE +# PJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc +# 1bN+NR4Iuto229Nfj950iEkSoYIDsDCCApgCAQEwgf6hgdSkgdEwgc4xCzAJBgNV +# BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w +# HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29m +# dCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVT +# TjpCMUI3LUY2N0YtRkVDMjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg +# U2VydmljZaIlCgEBMAkGBSsOAwIaBQADFQBrXDo2eDr68GRJRlXYVs3aqGzas6CB +# 3jCB26SB2DCB1TELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO +# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEp +# MCcGA1UECxMgTWljcm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRvIFJpY28xJzAlBgNV +# BAsTHm5DaXBoZXIgTlRTIEVTTjo0REU5LTBDNUUtM0UwOTErMCkGA1UEAxMiTWlj +# cm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0BAQUFAAIF +# AOJDDLIwIhgPMjAyMDA0MTcwMDU2MThaGA8yMDIwMDQxODAwNTYxOFowdzA9Bgor +# BgEEAYRZCgQBMS8wLTAKAgUA4kMMsgIBADAKAgEAAgIkJgIB/zAHAgEAAgIYujAK +# AgUA4kReMgIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMBoAowCAIB +# AAIDFuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUAA4IBAQATjVw32hwIjvFS +# agZUTduGeimyeurvcx4sOzWAV5mEm48saShHCjoq6IGBdIi08Ow2BqXWq0nmAzs3 +# M2az+HtNijXHfUNDlg8mB8iceGigOeg59EwcF2uRdGXr3PFgHtSSbBiEOWCDO02w +# q3Pl+jfQ0wDxKsg1d6yRKMuaEGMvDRLI0byRU63vUMIYG1KhWxbnjOzyLLqNAigG +# RfJfzS/VUGe8VUR4YLNdPWtZyXKIykeOd/JdNwlcU2WrauMOrwz7gWhmFS5WygTR +# zuzpxwz58gyxhFZkNri24e8MQC5QG4drTBaULmbMLc4Bro4rlv3rRHZFem816/R7 +# ELyU6MWLMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh +# c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD +# b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw +# MTACEzMAAAED6k4reLYqJ5MAAAAAAQMwDQYJYIZIAWUDBAIBBQCgggEyMBoGCSqG +# SIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQg0TG1rBHplgOK +# 7L3AfY2xi3Kf+/XG7C3t4t0jQ+AiY6owgeIGCyqGSIb3DQEJEAIMMYHSMIHPMIHM +# MIGxBBRrXDo2eDr68GRJRlXYVs3aqGzaszCBmDCBgKR+MHwxCzAJBgNVBAYTAlVT +# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK +# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l +# LVN0YW1wIFBDQSAyMDEwAhMzAAABA+pOK3i2KieTAAAAAAEDMBYEFPRqdmYGpXMF +# K/nz1xrwrVH/SicLMA0GCSqGSIb3DQEBCwUABIIBAD95lLQdmSib58P6fV8RnD2Q +# OkK9eO7FmOdDrcq4l228tMVftnJVr7o0PhITJQogBpTMpzGRAK2zwxtwOXVRuRrK +# is1rTPKfc8+280VusNXHzJ1PxNDIuxtpkb4AhFIMcEAGWAGfZSMspIT2MKHUL59i +# fnBErvjcz0F4eiVPR7I5sHoA6CD8rPLvgLxkzB3BFUUus2KxuBkpVwXPxYT9g4Wt +# qDz/Lwsf4/m5hftNLDpOtiuYvq61/kPlsJ/OVkKwVHKnM9XhybFAJfixgMJzOg9u +# +y6hDWYX4HRtqZIdfJ6fcqqyyOdZU7gCpTtEhUaQbCmW7CqnZyh5L0WYxUnV574= +# SIG # End signature block diff --git a/packages/EntityFramework.6.4.4/tools/install.ps1 b/packages/EntityFramework.6.4.4/tools/install.ps1 new file mode 100644 index 0000000..690fbf0 --- /dev/null +++ b/packages/EntityFramework.6.4.4/tools/install.ps1 @@ -0,0 +1,223 @@ +param($installPath, $toolsPath, $package, $project) + +if (Get-Service | ?{ $_.Name -eq 'MSSQL$SQLEXPRESS' -and $_.Status -eq 'Running' }) +{ + Add-EFDefaultConnectionFactory $project 'System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework' +} +else +{ + $localDbVersion = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server Local DB\Installed Versions' -ErrorAction SilentlyContinue | + %{ $_.PSChildName } | + sort -Descending | + select -First 1 + if (!$localDbVersion -or $localDbVersion -ge '12.0') + { + $localDbVersion = 'mssqllocaldb' + } + else + { + $localDbVersion = "v$localDbVersion" + } + + Add-EFDefaultConnectionFactory $project 'System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework' -ConstructorArguments $localDbVersion +} + +$project.Object.References | + ?{ $_.Identity -eq 'System.Data.Entity' } | + %{ $_.Remove() } + +Write-Host +Write-Host "Type 'get-help EntityFramework6' to see all available Entity Framework commands." + +# SIG # Begin signature block +# MIIjigYJKoZIhvcNAQcCoIIjezCCI3cCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAyC8P3Y/ONSqHQ +# 3OLSABCdTniNaBaTHx45JvdAACyBm6CCDYUwggYDMIID66ADAgECAhMzAAABUptA +# n1BWmXWIAAAAAAFSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQCxp4nT9qfu9O10iJyewYXHlN+WEh79Noor9nhM6enUNbCbhX9vS+8c/3eIVazS +# YnVBTqLzW7xWN1bCcItDbsEzKEE2BswSun7J9xCaLwcGHKFr+qWUlz7hh9RcmjYS +# kOGNybOfrgj3sm0DStoK8ljwEyUVeRfMHx9E/7Ca/OEq2cXBT3L0fVnlEkfal310 +# EFCLDo2BrE35NGRjG+/nnZiqKqEh5lWNk33JV8/I0fIcUKrLEmUGrv0CgC7w2cjm +# bBhBIJ+0KzSnSWingXol/3iUdBBy4QQNH767kYGunJeY08RjHMIgjJCdAoEM+2mX +# v1phaV7j+M3dNzZ/cdsz3oDfAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQU3f8Aw1sW72WcJ2bo/QSYGzVrRYcw +# VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzQ1NDEzNjAfBgNVHSMEGDAW +# gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v +# d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw +# MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov +# L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx +# XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB +# AJTwROaHvogXgixWjyjvLfiRgqI2QK8GoG23eqAgNjX7V/WdUWBbs0aIC3k49cd0 +# zdq+JJImixcX6UOTpz2LZPFSh23l0/Mo35wG7JXUxgO0U+5drbQht5xoMl1n7/TQ +# 4iKcmAYSAPxTq5lFnoV2+fAeljVA7O43szjs7LR09D0wFHwzZco/iE8Hlakl23ZT +# 7FnB5AfU2hwfv87y3q3a5qFiugSykILpK0/vqnlEVB0KAdQVzYULQ/U4eFEjnis3 +# Js9UrAvtIhIs26445Rj3UP6U4GgOjgQonlRA+mDlsh78wFSGbASIvK+fkONUhvj8 +# B8ZHNn4TFfnct+a0ZueY4f6aRPxr8beNSUKn7QW/FQmn422bE7KfnqWncsH7vbNh +# G929prVHPsaa7J22i9wyHj7m0oATXJ+YjfyoEAtd5/NyIYaE4Uu0j1EhuYUo5VaJ +# JnMaTER0qX8+/YZRWrFN/heps41XNVjiAawpbAa0fUa3R9RNBjPiBnM0gvNPorM4 +# dsV2VJ8GluIQOrJlOvuCrOYDGirGnadOmQ21wPBoGFCWpK56PxzliKsy5NNmAXcE +# x7Qb9vUjY1WlYtrdwOXTpxN4slzIht69BaZlLIjLVWwqIfuNrhHKNDM9K+v7vgrI +# bf7l5/665g0gjQCDCN6Q5sxuttTAEKtJeS/pkpI+DbZ/MIIHejCCBWKgAwIBAgIK +# YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm +# aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw +# OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD +# VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG +# 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la +# UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc +# 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D +# dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ +# lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk +# kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 +# A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd +# X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL +# 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd +# sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 +# T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS +# 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI +# bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL +# BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD +# uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv +# c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf +# MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF +# BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h +# cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA +# YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn +# 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 +# v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b +# pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ +# KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy +# CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp +# mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi +# hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb +# BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS +# oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL +# gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX +# cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCFVswghVXAgEBMIGVMH4x +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p +# Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAFSm0CfUFaZdYgAAAAA +# AVIwDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw +# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIJDm +# 6u3fKNHhSVdXwhZL2U0SggUob53btFQTpjz0w19vMEIGCisGAQQBgjcCAQwxNDAy +# oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20wDQYJKoZIhvcNAQEBBQAEggEAhEzKUz8+6D1eB34MxfDcSMWHaaMTM6p+z30c +# DT9MYmOUS51Sl5wINphWTUI48Mk5oKgT/gLg64UmIUcWHicfZC9f9XFrvFHthh+6 +# y4iulP3BhH34iXHyOqr39GcigQIUPkuQsZUqm9ZKV8QcWXBu4yOqF+aR28qq9czs +# b38Z03LW3Paeaf+PNDVjek66QZj0+nR/nBpfAVp+BomzZqa0jQ2yekxDNPLaRmJB +# hG57RJxEznVOpwB/fuCnnAH8lH0JHAmGJuJAimIDx6meei2kFk/AHMkW46vSGDww +# A+1DL9Sjy7UhCnkCjYvgQBe4eJUAgD5aEmxn6t55QZ7+wKlDI6GCEuUwghLhBgor +# BgEEAYI3AwMBMYIS0TCCEs0GCSqGSIb3DQEHAqCCEr4wghK6AgEDMQ8wDQYJYIZI +# AWUDBAIBBQAwggFRBgsqhkiG9w0BCRABBKCCAUAEggE8MIIBOAIBAQYKKwYBBAGE +# WQoDATAxMA0GCWCGSAFlAwQCAQUABCAgrqGTkQYbZFjHoXeplz13S4sXHhfN25+b +# YqXYRW1EJwIGXoIPTMYpGBMyMDIwMDQxNjIyMTM0MS43MTJaMASAAgH0oIHQpIHN +# MIHKMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z +# b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg +# VFNTIEVTTjo4RDQxLTRCRjctQjNCNzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt +# U3RhbXAgU2VydmljZaCCDjwwggTxMIID2aADAgECAhMzAAABClLIOQFS0XBLAAAA +# AAEKMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo +# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y +# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw +# MB4XDTE5MTAyMzIzMTkxNVoXDTIxMDEyMTIzMTkxNVowgcoxCzAJBgNVBAYTAlVT +# MQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z +# b2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVy +# YXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjhENDEtNEJG +# Ny1CM0I3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIIB +# IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuz4brZShcMWfhnj1P1dKTJHt +# teR0l/D3C19YY2FG8ghEQRbO/8BMK28DCGXTqOzQ6nCFIV17d5MYNTqgScbqM1XA +# ifCcEcv1SO/adWXi20r92jDMaLjs6KmjS/w5m/Ak/VBHKqtzxdfLzL9XGX5PGaYb +# lUhjzNHlrCbxNZHz1wibGM7Gbbq6tIxCOlwYfYabikKvCkl76KghN+xGVq2Fst7o +# USZ7K3eE6tmIGLMlkP2kBdtHW+92VsCLVxuE1JcuCENKXEIvf1B937FbtOqvP8jb +# 3OzHyHJp2DlDzshTAYdBFudfSv5oP8WIDIbZmZZ85rx56+Z6cyU4sGwboZ8FJwID +# AQABo4IBGzCCARcwHQYDVR0OBBYEFPhElKX9OkxNUN6R+DqtAaKRcYUoMB8GA1Ud +# IwQYMBaAFNVjOlyKMZDzQ3t8RhvFM2hahW1VMFYGA1UdHwRPME0wS6BJoEeGRWh0 +# dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1RpbVN0 +# YVBDQV8yMDEwLTA3LTAxLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKG +# Pmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljVGltU3RhUENB +# XzIwMTAtMDctMDEuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUH +# AwgwDQYJKoZIhvcNAQELBQADggEBAFSXrnzUFfLd03MlqtErt51WGX3UXFeorE6d +# GY+YIwSmfFRKRNwEe8cmLt0EOxezyTV6+/fdYTyrPcPDvgR3k6F5sHeKExohjrqc +# jxAa3yVQ9SJZakXZVKzaHWzbvMuA8kcmzj0J/Y6/pk57aFsp/kr+lu5aNdw5V3Wg +# itJYpwE6foZQsBrTTPNRhIXVMHnPEk6s2+7nC6Ty9ZLIJhYeMyqLuitJGKvEiRhD +# 8PYzkGJnLkjp61ICDk/00ZVZvvlXLonth32ZooeZ9/+760o9g2lUhF8oaLHCB1i8 +# 2dUChXdzZulUEwQ5CZWh8WIjQZSUuvOO1vV0FfOqdNwcDyXuFdIwggZxMIIEWaAD +# AgECAgphCYEqAAAAAAACMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzET +# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV +# TWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBD +# ZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0xMDA3MDEyMTM2NTVaFw0yNTA3 +# MDEyMTQ2NTVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw +# DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x +# JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIBIjANBgkq +# hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqR0NvHcRijog7PwTl/X6f2mUa3RUENWl +# CgCChfvtfGhLLF/Fw+Vhwna3PmYrW/AVUycEMR9BGxqVHc4JE458YTBZsTBED/Fg +# iIRUQwzXTbg4CLNC3ZOs1nMwVyaCo0UN0Or1R4HNvyRgMlhgRvJYR4YyhB50YWeR +# X4FUsc+TTJLBxKZd0WETbijGGvmGgLvfYfxGwScdJGcSchohiq9LZIlQYrFd/Xcf +# PfBXday9ikJNQFHRD5wGPmd/9WbAA5ZEfu/QS/1u5ZrKsajyeioKMfDaTgaRtogI +# Neh4HLDpmc085y9Euqf03GS9pAHBIAmTeM38vMDJRF1eFpwBBU8iTQIDAQABo4IB +# 5jCCAeIwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFNVjOlyKMZDzQ3t8RhvF +# M2hahW1VMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAP +# BgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjE +# MFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kv +# Y3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEF +# BQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w +# a2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MIGgBgNVHSABAf8E +# gZUwgZIwgY8GCSsGAQQBgjcuAzCBgTA9BggrBgEFBQcCARYxaHR0cDovL3d3dy5t +# aWNyb3NvZnQuY29tL1BLSS9kb2NzL0NQUy9kZWZhdWx0Lmh0bTBABggrBgEFBQcC +# AjA0HjIgHQBMAGUAZwBhAGwAXwBQAG8AbABpAGMAeQBfAFMAdABhAHQAZQBtAGUA +# bgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEAB+aIUQ3ixuCYP4FxAz2do6Ehb7Pr +# psz1Mb7PBeKp/vpXbRkws8LFZslq3/Xn8Hi9x6ieJeP5vO1rVFcIK1GCRBL7uVOM +# zPRgEop2zEBAQZvcXBf/XPleFzWYJFZLdO9CEMivv3/Gf/I3fVo/HPKZeUqRUgCv +# OA8X9S95gWXZqbVr5MfO9sp6AG9LMEQkIjzP7QOllo9ZKby2/QThcJ8ySif9Va8v +# /rbljjO7Yl+a21dA6fHOmWaQjP9qYn/dxUoLkSbiOewZSnFjnXshbcOco6I8+n99 +# lmqQeKZt0uGc+R38ONiU9MalCpaGpL2eGq4EQoO4tYCbIjggtSXlZOz39L9+Y1kl +# D3ouOVd2onGqBooPiRa6YacRy5rYDkeagMXQzafQ732D8OE7cQnfXXSYIghh2rBQ +# Hm+98eEA3+cxB6STOvdlR3jo+KhIq/fecn5ha293qYHLpwmsObvsxsvYgrRyzR30 +# uIUBHoD7G4kqVDmyW9rIDVWZeodzOwjmmC3qjeAzLhIp9cAvVCch98isTtoouLGp +# 25ayp0Kiyc8ZQU3ghvkqmqMRZjDTu3QyS99je/WZii8bxyGvWbWu3EQ8l1Bx16HS +# xVXjad5XwdHeMMD9zOZN+w2/XU/pnR4ZOC+8z1gFLu8NoFA12u8JJxzVs341Hgi6 +# 2jbb01+P3nSISRKhggLOMIICNwIBATCB+KGB0KSBzTCByjELMAkGA1UEBhMCVVMx +# CzAJBgNVBAgTAldBMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046OEQ0MS00QkY3 +# LUIzQjcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB +# ATAHBgUrDgMCGgMVADm9dqVx0X/uUa0VckV24hpoY975oIGDMIGApH4wfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDiQvb4MCIY +# DzIwMjAwNDE2MjMyMzM2WhgPMjAyMDA0MTcyMzIzMzZaMHcwPQYKKwYBBAGEWQoE +# ATEvMC0wCgIFAOJC9vgCAQAwCgIBAAICDVECAf8wBwIBAAICEdcwCgIFAOJESHgC +# AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK +# MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQCi9Yk47yOs+idHtqxf1Bztg/7t +# gjK5JhDICmMIF+/qBZpZjCOSXowpqjO8GOCln5uOs73GNu2XVbQ2NzT1EUrfkK+6 +# CsrmOXP2ZtAKja7RY7FH9IoYD4bsUmp3aOaM76bMJSm3d+J7Jqcblwd9cU4kii+K +# daCFk5Zz9brYA+itbjGCAw0wggMJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAABClLIOQFS0XBLAAAAAAEKMA0GCWCGSAFlAwQCAQUAoIIB +# SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIJBr +# lX3RMPnzDsT2OwSFdV+nSMcRwf6GO3VnFpU82HDoMIH6BgsqhkiG9w0BCRACLzGB +# 6jCB5zCB5DCBvQQgVwM2JDO6oQwoDehG8V22bUdxzZDWWhkjGB83y+TSrKowgZgw +# gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD +# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAQpSyDkBUtFw +# SwAAAAABCjAiBCAPcA2FUPvx4YVbNm4dewSIE482jr5eh5w3As4qnw+bGjANBgkq +# hkiG9w0BAQsFAASCAQAjsYHBCGmxsZTzdg7kleQ0b44SH5aFvErimvb/0Ues1/K3 +# yW4lHf2Fo7VMXMQ4Yh6QPcaHt5th75b4X7XF3XRXr7mZ5YvKlNQI9z+x92y8CzGm +# bmHPK1HXro0MCcyzDDlNgMwKoeixvhS4xDUWdJEKZkL7U/KbgEBWabys82WnkMgB +# 8Z6UDGULt0NPKd3CPQrJ4CbX3YEUr2jJzbEEv7DFsmdjqEngImndMw8Fs2JaUCVj +# +Z+kaWU4TQNqocF7tt3NS4lo1xv5E9eWlxJ3VO9T3uPTSat5Q0XHwcULL1kONqIO +# VPUIwIBu1SzO7zrG3HTS54NQG1k7LkR5M+2gco5B +# SIG # End signature block diff --git a/packages/EntityFramework.6.4.4/tools/net40/any/ef6.exe b/packages/EntityFramework.6.4.4/tools/net40/any/ef6.exe new file mode 100644 index 0000000..7044333 Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/net40/any/ef6.exe differ diff --git a/packages/EntityFramework.6.4.4/tools/net40/any/ef6.pdb b/packages/EntityFramework.6.4.4/tools/net40/any/ef6.pdb new file mode 100644 index 0000000..dfcefa9 Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/net40/any/ef6.pdb differ diff --git a/packages/EntityFramework.6.4.4/tools/net40/win-x86/ef6.exe b/packages/EntityFramework.6.4.4/tools/net40/win-x86/ef6.exe new file mode 100644 index 0000000..4d3399f Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/net40/win-x86/ef6.exe differ diff --git a/packages/EntityFramework.6.4.4/tools/net40/win-x86/ef6.pdb b/packages/EntityFramework.6.4.4/tools/net40/win-x86/ef6.pdb new file mode 100644 index 0000000..b573d26 Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/net40/win-x86/ef6.pdb differ diff --git a/packages/EntityFramework.6.4.4/tools/net45/any/ef6.exe b/packages/EntityFramework.6.4.4/tools/net45/any/ef6.exe new file mode 100644 index 0000000..595aa40 Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/net45/any/ef6.exe differ diff --git a/packages/EntityFramework.6.4.4/tools/net45/any/ef6.pdb b/packages/EntityFramework.6.4.4/tools/net45/any/ef6.pdb new file mode 100644 index 0000000..f0a6877 Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/net45/any/ef6.pdb differ diff --git a/packages/EntityFramework.6.4.4/tools/net45/win-x86/ef6.exe b/packages/EntityFramework.6.4.4/tools/net45/win-x86/ef6.exe new file mode 100644 index 0000000..30fdd35 Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/net45/win-x86/ef6.exe differ diff --git a/packages/EntityFramework.6.4.4/tools/net45/win-x86/ef6.pdb b/packages/EntityFramework.6.4.4/tools/net45/win-x86/ef6.pdb new file mode 100644 index 0000000..8ca93ad Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/net45/win-x86/ef6.pdb differ diff --git a/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.dll b/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.dll new file mode 100644 index 0000000..7fc6c50 Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.dll differ diff --git a/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.pdb b/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.pdb new file mode 100644 index 0000000..3fb35ee Binary files /dev/null and b/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.pdb differ diff --git a/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.runtimeconfig.json b/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.runtimeconfig.json new file mode 100644 index 0000000..33ec9d0 --- /dev/null +++ b/packages/EntityFramework.6.4.4/tools/netcoreapp3.0/any/ef6.runtimeconfig.json @@ -0,0 +1,9 @@ +{ + "runtimeOptions": { + "tfm": "netcoreapp3.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "3.0.0" + } + } +} \ No newline at end of file diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/.signature.p7s b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/.signature.p7s new file mode 100644 index 0000000..5449159 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/.signature.p7s differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0.nupkg b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0.nupkg new file mode 100644 index 0000000..3dca320 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0.nupkg differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..d2f779c --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/x64/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/x64/SQLite.Interop.dll new file mode 100644 index 0000000..47cd598 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/x64/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/x86/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/x86/SQLite.Interop.dll new file mode 100644 index 0000000..1eefa55 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net20/x86/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..d2f779c --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/x64/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/x64/SQLite.Interop.dll new file mode 100644 index 0000000..59a191a Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/x64/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/x86/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/x86/SQLite.Interop.dll new file mode 100644 index 0000000..ba2d4df Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net40/x86/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..d2f779c --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/x64/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/x64/SQLite.Interop.dll new file mode 100644 index 0000000..29cafec Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/x64/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/x86/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/x86/SQLite.Interop.dll new file mode 100644 index 0000000..ddbe65a Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net45/x86/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..d2f779c --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/x64/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/x64/SQLite.Interop.dll new file mode 100644 index 0000000..efd5bc7 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/x64/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/x86/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/x86/SQLite.Interop.dll new file mode 100644 index 0000000..23a9134 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net451/x86/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..d2f779c --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/x64/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/x64/SQLite.Interop.dll new file mode 100644 index 0000000..ceb3d76 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/x64/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/x86/SQLite.Interop.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/x86/SQLite.Interop.dll new file mode 100644 index 0000000..62af692 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/build/net46/x86/SQLite.Interop.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net20/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net20/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..5f4545a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net20/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,165 @@ + + + + + + + + + + + + $([MSBuild]::MakeRelative('$(MSBuildThisFileDirectory)..', '$(MSBuildThisFileDirectory)')) + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net40/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net40/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..5f4545a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net40/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,165 @@ + + + + + + + + + + + + $([MSBuild]::MakeRelative('$(MSBuildThisFileDirectory)..', '$(MSBuildThisFileDirectory)')) + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net45/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net45/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..5f4545a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net45/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,165 @@ + + + + + + + + + + + + $([MSBuild]::MakeRelative('$(MSBuildThisFileDirectory)..', '$(MSBuildThisFileDirectory)')) + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net451/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net451/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..5f4545a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net451/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,165 @@ + + + + + + + + + + + + $([MSBuild]::MakeRelative('$(MSBuildThisFileDirectory)..', '$(MSBuildThisFileDirectory)')) + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net46/Stub.System.Data.SQLite.Core.NetFramework.targets b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net46/Stub.System.Data.SQLite.Core.NetFramework.targets new file mode 100644 index 0000000..5f4545a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/buildTransitive/net46/Stub.System.Data.SQLite.Core.NetFramework.targets @@ -0,0 +1,165 @@ + + + + + + + + + + + + $([MSBuild]::MakeRelative('$(MSBuildThisFileDirectory)..', '$(MSBuildThisFileDirectory)')) + + + + + + + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + $(PostBuildEventDependsOn); + CopySQLiteInteropFiles; + + + $(BuildDependsOn); + CopySQLiteInteropFiles; + + + $(CleanDependsOn); + CleanSQLiteInteropFiles; + + + + + + + + CollectSQLiteInteropFiles; + $(PipelineCollectFilesPhaseDependsOn); + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.dll new file mode 100644 index 0000000..4969916 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.dll.altconfig b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.dll.altconfig new file mode 100644 index 0000000..ad8b7c5 --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.dll.altconfig @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.xml b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.xml new file mode 100644 index 0000000..f89ea1a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net20/System.Data.SQLite.xml @@ -0,0 +1,21684 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Non-zero to log all calls to prepare a SQL query. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogLifecycle" environment variable has been queried. If + so, it will only be non-zero if the environment variable was present. + + + + + Determines if calls into key members pertaining to the lifecycle of + connections and their associated classes will be logged, regardless + of the flags for the associated connection. + + + Non-zero to log calls into key members pertaining to the lifecycle of + connections and their associated classes (e.g. LINQ, EF6, etc). + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + Skip adding the extension functions provided by the native interop + assembly if they would conflict with a function provided by the + SQLite core library. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + TextPassword + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + This will be non-zero if the "TextPassword" connection string property + was used. When this value is non-zero, + will retain treatment of the password as a NUL-terminated text string. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes user-settable properties with their default values. + This method is only intended to be used from the constructor. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/sets the database encryption textual password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + Data read from the file system appears to be incorrect. + + + + + File system corruption was detected during a read or write. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + An internal timeout was encountered while waiting for a database lock. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A database file already exists and cannot be created. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + An index entry that should be present is missing. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Value does not conform to specified data type. + + + + + Method called without an appropriate license. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This method is called to perform preliminary static initialization + necessary for this class. + + + + + This method is called to perform some of the static initialization + necessary for this class. + + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Maximum number of milliseconds a non-primary thread should wait + for the method to be completed. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + This will be signaled when the + method has been completed. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + method has been called when the logging subystem was actually + eligible to be initialized (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + The number of times that the method + has been called. + + + + + The number of times that the + method has been completed (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Creates the that will be used to + signal completion of the method, + if necessary, and then returns it. + + + The that will be used to signal + completion of the method. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities -OR- waits for the + SQLite logging facilities to be initialized by another thread. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if everything was fully initialized successfully. + + + + + Uninitializes the SQLite logging facilities. + + + + + Uninitializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if the native SQLite library should be shutdown prior + to attempting to unset its logging callback. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + For internal use only. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The primary file extension used for the XML configuration file. + + + + + The secondary file extension used for the XML configuration file. + + + + + This is the name of the primary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the name of the secondary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + Non-zero to replace any special token references contained in the + setting value to be returned. This has no effect on the .NET Compact + Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the output idxNum field or idxStr content. + + + For the LIKE, GLOB, REGEXP, and MATCH operators, the + aConstraint[].iColumn value is the virtual table column that + is the left operand of the operator. However, if these operators + are expressed as function calls instead of operators, then + the aConstraint[].iColumn value references the virtual table + column that is the second argument to that function: + + + LIKE(EXPR, column)]]> + GLOB(EXPR, column)]]> + REGEXP(EXPR, column)]]> + MATCH(EXPR, column)]]> + + + Hence, as far as the xBestIndex() method is concerned, the following + two forms are equivalent: + + + column LIKE EXPR]]> + LIKE(EXPR,column) + + + This special behavior of looking at the second argument of a function + only occurs for the LIKE, GLOB, REGEXP, and MATCH functions. For all + other functions, the aConstraint[].iColumn value references the first + argument of the function. + + + This special feature of LIKE, GLOB, REGEXP, and MATCH does not + apply to the xFindFunction() method, however. The + xFindFunction() method always keys off of the left operand of an + LIKE, GLOB, REGEXP, or MATCH operator but off of the first argument + to function-call equivalents of those operators. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method conveys an indexing strategy to the xFilter + method through the idxNum and idxStr fields. The idxNum value and + idxStr string content are arbitrary as far as the SQLite core is + concerned and can have any meaning as long as xBestIndex and xFilter + agree on what that meaning is. The SQLite core just copies the + information from xBestIndex through to the xFilter method, assuming + only that the char sequence referenced via idxStr is NUL terminated. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified is insufficient for the virtual table + to do its job. + This is logically the same as setting the estimatedCost to infinity. + If every call to xBestIndex for a particular query plan returns + SQLITE_CONSTRAINT, that means there is no way for the virtual table + to be safely used, and the sqlite3_prepare() call will fail with + a "no query solution" error. + + + The SQLITE_CONSTRAINT return from xBestIndex + is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. If a required field does not appear in + the aConstraint[] array at all, that means that the corresponding + parameter is omitted from the input SQL. In that case, xBestIndex + should set an error message in pVTab->zErrMsg and return + SQLITE_ERROR. To summarize: + + ]]> + ]]> + The aConstraint[].usable value for a required parameter is + false return SQLITE_CONSTRAINT. + ]]>]]> + A required parameter does not appears anywhere in + the aConstraint[] array + Set an error message in pVTab->zErrMsg and return + SQLITE_ERROR + ]]>]]> + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" would normally work the same + as "B like A". + However, xFindFunction() always looks a the left-most argument, not + the first logical argument. + Hence, for the form "B like A", SQLite looks at the + left operand "B" and if that operand is a virtual table column + it invokes the xFindFunction() method on that virtual table. + But if the form "like(A,B)" is used instead, then SQLite checks + the A term to see if it is column of a virtual table and if so + it invokes the xFindFunction() method for the virtual table of + column A. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + Number of bytes used by the session -OR- negative one if its value + cannot be obtained. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + The number of bytes used by the session. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+
diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.dll new file mode 100644 index 0000000..13ded2a Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.dll.altconfig b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.dll.altconfig new file mode 100644 index 0000000..ad8b7c5 --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.dll.altconfig @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.xml b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.xml new file mode 100644 index 0000000..f89ea1a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net40/System.Data.SQLite.xml @@ -0,0 +1,21684 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Non-zero to log all calls to prepare a SQL query. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogLifecycle" environment variable has been queried. If + so, it will only be non-zero if the environment variable was present. + + + + + Determines if calls into key members pertaining to the lifecycle of + connections and their associated classes will be logged, regardless + of the flags for the associated connection. + + + Non-zero to log calls into key members pertaining to the lifecycle of + connections and their associated classes (e.g. LINQ, EF6, etc). + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + Skip adding the extension functions provided by the native interop + assembly if they would conflict with a function provided by the + SQLite core library. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + TextPassword + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + This will be non-zero if the "TextPassword" connection string property + was used. When this value is non-zero, + will retain treatment of the password as a NUL-terminated text string. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes user-settable properties with their default values. + This method is only intended to be used from the constructor. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/sets the database encryption textual password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + Data read from the file system appears to be incorrect. + + + + + File system corruption was detected during a read or write. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + An internal timeout was encountered while waiting for a database lock. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A database file already exists and cannot be created. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + An index entry that should be present is missing. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Value does not conform to specified data type. + + + + + Method called without an appropriate license. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This method is called to perform preliminary static initialization + necessary for this class. + + + + + This method is called to perform some of the static initialization + necessary for this class. + + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Maximum number of milliseconds a non-primary thread should wait + for the method to be completed. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + This will be signaled when the + method has been completed. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + method has been called when the logging subystem was actually + eligible to be initialized (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + The number of times that the method + has been called. + + + + + The number of times that the + method has been completed (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Creates the that will be used to + signal completion of the method, + if necessary, and then returns it. + + + The that will be used to signal + completion of the method. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities -OR- waits for the + SQLite logging facilities to be initialized by another thread. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if everything was fully initialized successfully. + + + + + Uninitializes the SQLite logging facilities. + + + + + Uninitializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if the native SQLite library should be shutdown prior + to attempting to unset its logging callback. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + For internal use only. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The primary file extension used for the XML configuration file. + + + + + The secondary file extension used for the XML configuration file. + + + + + This is the name of the primary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the name of the secondary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + Non-zero to replace any special token references contained in the + setting value to be returned. This has no effect on the .NET Compact + Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the output idxNum field or idxStr content. + + + For the LIKE, GLOB, REGEXP, and MATCH operators, the + aConstraint[].iColumn value is the virtual table column that + is the left operand of the operator. However, if these operators + are expressed as function calls instead of operators, then + the aConstraint[].iColumn value references the virtual table + column that is the second argument to that function: + + + LIKE(EXPR, column)]]> + GLOB(EXPR, column)]]> + REGEXP(EXPR, column)]]> + MATCH(EXPR, column)]]> + + + Hence, as far as the xBestIndex() method is concerned, the following + two forms are equivalent: + + + column LIKE EXPR]]> + LIKE(EXPR,column) + + + This special behavior of looking at the second argument of a function + only occurs for the LIKE, GLOB, REGEXP, and MATCH functions. For all + other functions, the aConstraint[].iColumn value references the first + argument of the function. + + + This special feature of LIKE, GLOB, REGEXP, and MATCH does not + apply to the xFindFunction() method, however. The + xFindFunction() method always keys off of the left operand of an + LIKE, GLOB, REGEXP, or MATCH operator but off of the first argument + to function-call equivalents of those operators. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method conveys an indexing strategy to the xFilter + method through the idxNum and idxStr fields. The idxNum value and + idxStr string content are arbitrary as far as the SQLite core is + concerned and can have any meaning as long as xBestIndex and xFilter + agree on what that meaning is. The SQLite core just copies the + information from xBestIndex through to the xFilter method, assuming + only that the char sequence referenced via idxStr is NUL terminated. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified is insufficient for the virtual table + to do its job. + This is logically the same as setting the estimatedCost to infinity. + If every call to xBestIndex for a particular query plan returns + SQLITE_CONSTRAINT, that means there is no way for the virtual table + to be safely used, and the sqlite3_prepare() call will fail with + a "no query solution" error. + + + The SQLITE_CONSTRAINT return from xBestIndex + is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. If a required field does not appear in + the aConstraint[] array at all, that means that the corresponding + parameter is omitted from the input SQL. In that case, xBestIndex + should set an error message in pVTab->zErrMsg and return + SQLITE_ERROR. To summarize: + + ]]> + ]]> + The aConstraint[].usable value for a required parameter is + false return SQLITE_CONSTRAINT. + ]]>]]> + A required parameter does not appears anywhere in + the aConstraint[] array + Set an error message in pVTab->zErrMsg and return + SQLITE_ERROR + ]]>]]> + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" would normally work the same + as "B like A". + However, xFindFunction() always looks a the left-most argument, not + the first logical argument. + Hence, for the form "B like A", SQLite looks at the + left operand "B" and if that operand is a virtual table column + it invokes the xFindFunction() method on that virtual table. + But if the form "like(A,B)" is used instead, then SQLite checks + the A term to see if it is column of a virtual table and if so + it invokes the xFindFunction() method for the virtual table of + column A. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + Number of bytes used by the session -OR- negative one if its value + cannot be obtained. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + The number of bytes used by the session. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+
diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.dll new file mode 100644 index 0000000..86691e4 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.dll.altconfig b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.dll.altconfig new file mode 100644 index 0000000..ad8b7c5 --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.dll.altconfig @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.xml b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.xml new file mode 100644 index 0000000..f89ea1a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net45/System.Data.SQLite.xml @@ -0,0 +1,21684 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Non-zero to log all calls to prepare a SQL query. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogLifecycle" environment variable has been queried. If + so, it will only be non-zero if the environment variable was present. + + + + + Determines if calls into key members pertaining to the lifecycle of + connections and their associated classes will be logged, regardless + of the flags for the associated connection. + + + Non-zero to log calls into key members pertaining to the lifecycle of + connections and their associated classes (e.g. LINQ, EF6, etc). + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + Skip adding the extension functions provided by the native interop + assembly if they would conflict with a function provided by the + SQLite core library. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + TextPassword + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + This will be non-zero if the "TextPassword" connection string property + was used. When this value is non-zero, + will retain treatment of the password as a NUL-terminated text string. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes user-settable properties with their default values. + This method is only intended to be used from the constructor. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/sets the database encryption textual password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + Data read from the file system appears to be incorrect. + + + + + File system corruption was detected during a read or write. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + An internal timeout was encountered while waiting for a database lock. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A database file already exists and cannot be created. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + An index entry that should be present is missing. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Value does not conform to specified data type. + + + + + Method called without an appropriate license. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This method is called to perform preliminary static initialization + necessary for this class. + + + + + This method is called to perform some of the static initialization + necessary for this class. + + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Maximum number of milliseconds a non-primary thread should wait + for the method to be completed. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + This will be signaled when the + method has been completed. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + method has been called when the logging subystem was actually + eligible to be initialized (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + The number of times that the method + has been called. + + + + + The number of times that the + method has been completed (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Creates the that will be used to + signal completion of the method, + if necessary, and then returns it. + + + The that will be used to signal + completion of the method. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities -OR- waits for the + SQLite logging facilities to be initialized by another thread. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if everything was fully initialized successfully. + + + + + Uninitializes the SQLite logging facilities. + + + + + Uninitializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if the native SQLite library should be shutdown prior + to attempting to unset its logging callback. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + For internal use only. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The primary file extension used for the XML configuration file. + + + + + The secondary file extension used for the XML configuration file. + + + + + This is the name of the primary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the name of the secondary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + Non-zero to replace any special token references contained in the + setting value to be returned. This has no effect on the .NET Compact + Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the output idxNum field or idxStr content. + + + For the LIKE, GLOB, REGEXP, and MATCH operators, the + aConstraint[].iColumn value is the virtual table column that + is the left operand of the operator. However, if these operators + are expressed as function calls instead of operators, then + the aConstraint[].iColumn value references the virtual table + column that is the second argument to that function: + + + LIKE(EXPR, column)]]> + GLOB(EXPR, column)]]> + REGEXP(EXPR, column)]]> + MATCH(EXPR, column)]]> + + + Hence, as far as the xBestIndex() method is concerned, the following + two forms are equivalent: + + + column LIKE EXPR]]> + LIKE(EXPR,column) + + + This special behavior of looking at the second argument of a function + only occurs for the LIKE, GLOB, REGEXP, and MATCH functions. For all + other functions, the aConstraint[].iColumn value references the first + argument of the function. + + + This special feature of LIKE, GLOB, REGEXP, and MATCH does not + apply to the xFindFunction() method, however. The + xFindFunction() method always keys off of the left operand of an + LIKE, GLOB, REGEXP, or MATCH operator but off of the first argument + to function-call equivalents of those operators. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method conveys an indexing strategy to the xFilter + method through the idxNum and idxStr fields. The idxNum value and + idxStr string content are arbitrary as far as the SQLite core is + concerned and can have any meaning as long as xBestIndex and xFilter + agree on what that meaning is. The SQLite core just copies the + information from xBestIndex through to the xFilter method, assuming + only that the char sequence referenced via idxStr is NUL terminated. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified is insufficient for the virtual table + to do its job. + This is logically the same as setting the estimatedCost to infinity. + If every call to xBestIndex for a particular query plan returns + SQLITE_CONSTRAINT, that means there is no way for the virtual table + to be safely used, and the sqlite3_prepare() call will fail with + a "no query solution" error. + + + The SQLITE_CONSTRAINT return from xBestIndex + is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. If a required field does not appear in + the aConstraint[] array at all, that means that the corresponding + parameter is omitted from the input SQL. In that case, xBestIndex + should set an error message in pVTab->zErrMsg and return + SQLITE_ERROR. To summarize: + + ]]> + ]]> + The aConstraint[].usable value for a required parameter is + false return SQLITE_CONSTRAINT. + ]]>]]> + A required parameter does not appears anywhere in + the aConstraint[] array + Set an error message in pVTab->zErrMsg and return + SQLITE_ERROR + ]]>]]> + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" would normally work the same + as "B like A". + However, xFindFunction() always looks a the left-most argument, not + the first logical argument. + Hence, for the form "B like A", SQLite looks at the + left operand "B" and if that operand is a virtual table column + it invokes the xFindFunction() method on that virtual table. + But if the form "like(A,B)" is used instead, then SQLite checks + the A term to see if it is column of a virtual table and if so + it invokes the xFindFunction() method for the virtual table of + column A. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + Number of bytes used by the session -OR- negative one if its value + cannot be obtained. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + The number of bytes used by the session. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+
diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.dll new file mode 100644 index 0000000..82a4384 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.dll.altconfig b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.dll.altconfig new file mode 100644 index 0000000..ad8b7c5 --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.dll.altconfig @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.xml b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.xml new file mode 100644 index 0000000..f89ea1a --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net451/System.Data.SQLite.xml @@ -0,0 +1,21684 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Non-zero to log all calls to prepare a SQL query. + + + + + Returns the logical list of functions associated with this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogLifecycle" environment variable has been queried. If + so, it will only be non-zero if the environment variable was present. + + + + + Determines if calls into key members pertaining to the lifecycle of + connections and their associated classes will be logged, regardless + of the flags for the associated connection. + + + Non-zero to log calls into key members pertaining to the lifecycle of + connections and their associated classes (e.g. LINQ, EF6, etc). + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + Skip adding the extension functions provided by the native interop + assembly if they would conflict with a function provided by the + SQLite core library. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + TextPassword + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + This will be non-zero if the "TextPassword" connection string property + was used. When this value is non-zero, + will retain treatment of the password as a NUL-terminated text string. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes user-settable properties with their default values. + This method is only intended to be used from the constructor. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + Static variable to store the connection event handlers to call. + + + + + This event is raised whenever the database is opened or closed. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/sets the database encryption textual password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Row updating event handler + + + + + Row updated event handler + + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + Data read from the file system appears to be incorrect. + + + + + File system corruption was detected during a read or write. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + An internal timeout was encountered while waiting for a database lock. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A database file already exists and cannot be created. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + An index entry that should be present is missing. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Value does not conform to specified data type. + + + + + Method called without an appropriate license. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This method is called to perform preliminary static initialization + necessary for this class. + + + + + This method is called to perform some of the static initialization + necessary for this class. + + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + How many additional columns of keyinfo we're holding + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Maximum number of milliseconds a non-primary thread should wait + for the method to be completed. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + This will be signaled when the + method has been completed. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + method has been called when the logging subystem was actually + eligible to be initialized (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + The number of times that the method + has been called. + + + + + The number of times that the + method has been completed (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Creates the that will be used to + signal completion of the method, + if necessary, and then returns it. + + + The that will be used to signal + completion of the method. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities -OR- waits for the + SQLite logging facilities to be initialized by another thread. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if everything was fully initialized successfully. + + + + + Uninitializes the SQLite logging facilities. + + + + + Uninitializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if the native SQLite library should be shutdown prior + to attempting to unset its logging callback. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + Member variable to store the application log handler to call. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + For internal use only. + + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The primary file extension used for the XML configuration file. + + + + + The secondary file extension used for the XML configuration file. + + + + + This is the name of the primary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the name of the secondary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + Non-zero to replace any special token references contained in the + setting value to be returned. This has no effect on the .NET Compact + Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the output idxNum field or idxStr content. + + + For the LIKE, GLOB, REGEXP, and MATCH operators, the + aConstraint[].iColumn value is the virtual table column that + is the left operand of the operator. However, if these operators + are expressed as function calls instead of operators, then + the aConstraint[].iColumn value references the virtual table + column that is the second argument to that function: + + + LIKE(EXPR, column)]]> + GLOB(EXPR, column)]]> + REGEXP(EXPR, column)]]> + MATCH(EXPR, column)]]> + + + Hence, as far as the xBestIndex() method is concerned, the following + two forms are equivalent: + + + column LIKE EXPR]]> + LIKE(EXPR,column) + + + This special behavior of looking at the second argument of a function + only occurs for the LIKE, GLOB, REGEXP, and MATCH functions. For all + other functions, the aConstraint[].iColumn value references the first + argument of the function. + + + This special feature of LIKE, GLOB, REGEXP, and MATCH does not + apply to the xFindFunction() method, however. The + xFindFunction() method always keys off of the left operand of an + LIKE, GLOB, REGEXP, or MATCH operator but off of the first argument + to function-call equivalents of those operators. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method conveys an indexing strategy to the xFilter + method through the idxNum and idxStr fields. The idxNum value and + idxStr string content are arbitrary as far as the SQLite core is + concerned and can have any meaning as long as xBestIndex and xFilter + agree on what that meaning is. The SQLite core just copies the + information from xBestIndex through to the xFilter method, assuming + only that the char sequence referenced via idxStr is NUL terminated. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified is insufficient for the virtual table + to do its job. + This is logically the same as setting the estimatedCost to infinity. + If every call to xBestIndex for a particular query plan returns + SQLITE_CONSTRAINT, that means there is no way for the virtual table + to be safely used, and the sqlite3_prepare() call will fail with + a "no query solution" error. + + + The SQLITE_CONSTRAINT return from xBestIndex + is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. If a required field does not appear in + the aConstraint[] array at all, that means that the corresponding + parameter is omitted from the input SQL. In that case, xBestIndex + should set an error message in pVTab->zErrMsg and return + SQLITE_ERROR. To summarize: + + ]]> + ]]> + The aConstraint[].usable value for a required parameter is + false return SQLITE_CONSTRAINT. + ]]>]]> + A required parameter does not appears anywhere in + the aConstraint[] array + Set an error message in pVTab->zErrMsg and return + SQLITE_ERROR + ]]>]]> + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" would normally work the same + as "B like A". + However, xFindFunction() always looks a the left-most argument, not + the first logical argument. + Hence, for the form "B like A", SQLite looks at the + left operand "B" and if that operand is a virtual table column + it invokes the xFindFunction() method on that virtual table. + But if the form "like(A,B)" is used instead, then SQLite checks + the A term to see if it is column of a virtual table and if so + it invokes the xFindFunction() method for the virtual table of + column A. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + Number of bytes used by the session -OR- negative one if its value + cannot be obtained. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + The number of bytes used by the session. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + +
+
diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.dll b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.dll new file mode 100644 index 0000000..58c2383 Binary files /dev/null and b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.dll differ diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.dll.altconfig b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.dll.altconfig new file mode 100644 index 0000000..ad8b7c5 --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.dll.altconfig @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.xml b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.xml new file mode 100644 index 0000000..3660598 --- /dev/null +++ b/packages/Stub.System.Data.SQLite.Core.NetFramework.1.0.115.0/lib/net46/System.Data.SQLite.xml @@ -0,0 +1,21684 @@ + + + + System.Data.SQLite + + + + + Defines a source code identifier custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code identifier value. + + + The source code identifier value to use. + + + + + Gets the source code identifier value. + + + + + Defines a source code time-stamp custom attribute for an assembly + manifest. + + + + + Constructs an instance of this attribute class using the specified + source code time-stamp value. + + + The source code time-stamp value to use. + + + + + Gets the source code time-stamp value. + + + + + This is the method signature for the SQLite core library logging callback + function for use with sqlite3_log() and the SQLITE_CONFIG_LOG. + + WARNING: This delegate is used more-or-less directly by native code, do + not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET + + + + + This field is used to refer to memory allocated for the + SQLITE_DBCONFIG_MAINDBNAME value used with the native + "sqlite3_db_config" API. If allocated, the associated + memeory will be freed when the underlying connection is + closed. + + + + + The opaque pointer returned to us by the sqlite provider + + + + + The user-defined functions registered on this connection + + + + + This is the name of the native library file that contains the + "vtshim" extension [wrapper]. + + + + + This is the flag indicate whether the native library file that + contains the "vtshim" extension must be dynamically loaded by + this class prior to use. + + + + + This is the name of the native entry point for the "vtshim" + extension [wrapper]. + + + + + The modules created using this connection. + + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogPrepare" environment variable has been queried. If so, + it will only be non-zero if the environment variable was present. + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Determines if all calls to prepare a SQL query will be logged, + regardless of the flags for the associated connection. + + + + + This method attempts to dispose of all the derived + object instances currently associated with the native database connection. + + + + + Returns the number of times the method has been + called. + + + + + This method determines whether or not a + with a return code of should + be thrown after making a call into the SQLite core library. + + + Non-zero if a to be thrown. This method + will only return non-zero if the method was called + one or more times during a call into the SQLite core library (e.g. when + the sqlite3_prepare*() or sqlite3_step() APIs are used). + + + + + Resets the value of the field. + + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound and removed. + + + + Returns non-zero if the underlying native connection handle is owned + by this instance. + + + + + Returns the logical list of functions associated with this connection. + + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + Returns a standard SQLite result code. + + + + Shutdown the SQLite engine so that it can be restarted with different + configuration options. We depend on auto initialization to recover. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. This parameter has no + effect on non-Windows operating systems. + + Returns a standard SQLite result code. + + + + Determines if the associated native connection handle is open. + + + Non-zero if the associated native connection handle is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + This method attempts to determine if a database connection opened + with the specified should be + allowed into the connection pool. + + + The that were specified when the + connection was opened. + + + Non-zero if the connection should (eventually) be allowed into the + connection pool; otherwise, zero. + + + + + Has the sqlite3_errstr() core library API been checked for yet? + If so, is it present? + + + + + Returns the error message for the specified SQLite return code using + the sqlite3_errstr() function, falling back to the internal lookup + table if necessary. + + WARNING: Do not remove this method, it is used via reflection. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Has the sqlite3_stmt_readonly() core library API been checked for yet? + If so, is it present? + + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + This field is used to keep track of whether or not the + "SQLite_ForceLogLifecycle" environment variable has been queried. If + so, it will only be non-zero if the environment variable was present. + + + + + Determines if calls into key members pertaining to the lifecycle of + connections and their associated classes will be logged, regardless + of the flags for the associated connection. + + + Non-zero to log calls into key members pertaining to the lifecycle of + connections and their associated classes (e.g. LINQ, EF6, etc). + + + + + Determines the file name of the native library containing the native + "vtshim" extension -AND- whether it should be dynamically loaded by + this class. + + + This output parameter will be set to non-zero if the returned native + library file name should be dynamically loaded prior to attempting + the creation of native disposable extension modules. + + + The file name of the native library containing the native "vtshim" + extension -OR- null if it cannot be determined. + + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Builds an error message string fragment containing the + defined values of the + enumeration. + + + The built string fragment. + + + + + Returns the current and/or highwater values for the specified + database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + Enables or disables extended result codes returned by SQLite + + + Gets the last SQLite error code + + + Gets the last SQLite extended error code + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Allows the setting of a logging callback invoked by SQLite when a + log event occurs. Only one callback may be set. If NULL is passed, + the logging callback is unregistered. + + The callback function to invoke. + Returns a result code + + + + Appends an error message and an appropriate line-ending to a + instance. This is useful because the .NET Compact Framework has a slightly different set + of supported methods for the class. + + + The instance to append to. + + + The message to append. It will be followed by an appropriate line-ending. + + + + + This method attempts to cause the SQLite native library to invalidate + its function pointers that refer to this instance. This is necessary + to prevent calls from native code into delegates that may have been + garbage collected. Normally, these types of issues can only arise for + connections that are added to the pool; howver, it is good practice to + unconditionally invalidate function pointers that may refer to objects + being disposed. + + + Non-zero to also invalidate global function pointers (i.e. those that + are not directly associated with this connection on the native side). + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + This method attempts to free the cached database name used with the + method. + + + Non-zero if this method is being executed within a context where it can + throw an exception in the event of failure; otherwise, zero. + + + Non-zero if this method was successful; otherwise, zero. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy, negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Determines if the SQLite core library has been initialized for the + current process. + + + A boolean indicating whether or not the SQLite core library has been + initialized for the current process. + + + + + Helper function to retrieve a column of data from an active statement. + + The statement being step()'d through + The flags associated with the connection. + The column index to retrieve + The type of data contained in the column. If Uninitialized, this function will retrieve the datatype information. + Returns the data in the column + + + + Alternate SQLite3 object, overriding many text behaviors to support UTF-16 (Unicode) + + + + + Constructs the object used to interact with the SQLite core library + using the UTF-8 text encoding. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + The native handle to be associated with the database connection. + + + The fully qualified file name associated with . + + + Non-zero if the newly created object instance will need to dispose + of when it is no longer needed. + + + + + Overrides SQLiteConvert.ToString() to marshal UTF-16 strings instead of UTF-8 + + A pointer to a UTF-16 string + The length (IN BYTES) of the string + A .NET string + + + + Represents a single SQL backup in SQLite. + + + + + The underlying SQLite object this backup is bound to. + + + + + The actual backup handle. + + + + + The destination database for the backup. + + + + + The destination database name for the backup. + + + + + The source database for the backup. + + + + + The source database name for the backup. + + + + + The last result from the StepBackup method of the SQLite3 class. + This is used to determine if the call to the FinishBackup method of + the SQLite3 class should throw an exception when it receives a non-Ok + return code from the core SQLite library. + + + + + Initializes the backup. + + The base SQLite object. + The backup handle. + The destination database for the backup. + The destination database name for the backup. + The source database for the backup. + The source database name for the backup. + + + + Disposes and finalizes the backup. + + + + + This internal class provides the foundation of SQLite support. It defines all the abstract members needed to implement + a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite. + + + + + The error code used for logging exceptions caught in user-provided + code. + + + + + Returns a string representing the active version of SQLite + + + + + Returns an integer representing the active version of SQLite + + + + + Returns non-zero if this connection to the database is read-only. + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + Returns the number of changes the last executing insert/update caused. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. This is not really a per-connection + value, it is global to the process. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + This is not really a per-connection value, it is global to the process. + + + + + Returns non-zero if the underlying native connection handle is owned by this instance. + + + + + Non-zero to log all calls to prepare a SQL query. + + + + + Returns the logical list of functions associated with this connection. + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Attempts to free as much heap memory as possible for the database connection. + + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Shutdown the SQLite engine so that it can be restarted with different config options. + We depend on auto initialization to recover. + + + + + Determines if the associated native connection handle is open. + + + Non-zero if a database connection is open. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + The name of the attached database to query. + + + The fully qualified path and file name for the currently open database, + if any. + + + + + Opens a database. + + + Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection + to bind all attributed user-defined functions and collating sequences to the new connection. + + The filename of the database to open. SQLite automatically creates it if it doesn't exist. + The name of the VFS to use -OR- null to use the default VFS. + The flags associated with the parent connection object + The open flags to use when creating the connection + The maximum size of the pool for the given filename + If true, the connection can be pulled from the connection pool + + + + Closes the currently-open database. + + + After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated + memory associated with the user-defined functions and collating sequences tied to the closed connection. + + Non-zero if connection is being disposed, zero otherwise. + + + + Sets the busy timeout on the connection. SQLiteCommand will call this before executing any command. + + The number of milliseconds to wait before returning SQLITE_BUSY + + + + Returns the text of the last error issued by SQLite + + + + + + Returns the text of the last error issued by SQLite -OR- the specified default error text if + none is available from the SQLite core library. + + + The error text to return in the event that one is not available from the SQLite core library. + + + The error text. + + + + + When pooling is enabled, force this connection to be disposed rather than returned to the pool + + + + + When pooling is enabled, returns the number of pool entries matching the current file name. + + The number of pool entries matching the current file name. + + + + Prepares a SQL statement for execution. + + The source connection preparing the command. Can be null for any caller except LINQ + The SQL command text to prepare + The previous statement in a multi-statement command, or null if no previous statement exists + The timeout to wait before aborting the prepare + The remainder of the statement that was not processed. Each call to prepare parses the + SQL up to to either the end of the text or to the first semi-colon delimiter. The remaining text is returned + here for a subsequent call to Prepare() until all the text has been processed. + Returns an initialized SQLiteStatement. + + + + Steps through a prepared statement. + + The SQLiteStatement to step through + True if a row was returned, False if not. + + + + Returns non-zero if the specified statement is read-only in nature. + + The statement to check. + True if the outer query is read-only. + + + + Resets a prepared statement so it can be executed again. If the error returned is SQLITE_SCHEMA, + transparently attempt to rebuild the SQL statement and throw an error if that was not possible. + + The statement to reset + Returns -1 if the schema changed while resetting, 0 if the reset was sucessful or 6 (SQLITE_LOCKED) if the reset failed due to a lock + + + + Attempts to interrupt the query currently executing on the associated + native database connection. + + + + + This function binds a user-defined function to the connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined function from the connection. + + + The object instance containing + the metadata for the function to be unbound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + Calls the native SQLite core library in order to create a disposable + module containing the implementation of a virtual table. + + + The module object to be used when creating the native disposable module. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to cleanup the resources + associated with a module containing the implementation of a virtual table. + + + The module object previously passed to the + method. + + + The flags for the associated object instance. + + + + + Calls the native SQLite core library in order to declare a virtual table + in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + being declared. + + + The string containing the SQL statement describing the virtual table to + be declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual table + function in response to a call into the + or virtual table methods. + + + The virtual table module that is to be responsible for the virtual table + function being declared. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon failure, + it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns the current and/or highwater values for the specified database status parameter. + + + The database status parameter to query. + + + Non-zero to reset the highwater value to the current value. + + + If applicable, receives the current value. + + + If applicable, receives the highwater value. + + + A standard SQLite return code. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + A standard SQLite return code. + + + + + Enables or disables extension loading by SQLite. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Enables or disables extened result codes returned by SQLite + + true to enable extended result codes, false to disable. + + + + + Returns the numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Result code + + + + Returns the extended numeric result code for the most recent failed SQLite API call + associated with the database connection. + + Extended result code + + + + Add a log message via the SQLite sqlite3_log interface. + + Error code to be logged with the message. + String to be logged. Unlike the SQLite sqlite3_log() + interface, this should be pre-formatted. Consider using the + String.Format() function. + + + + + Checks if the SQLite core library has been initialized in the current process. + + + Non-zero if the SQLite core library has been initialized in the current process, + zero otherwise. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Creates a new SQLite backup object based on the provided destination + database connection. The source database connection is the one + associated with this object. The source and destination database + connections cannot be the same. + + The destination database connection. + The destination database name. + The source database name. + The newly created backup object. + + + + Copies up to N pages from the source database to the destination + database associated with the specified backup object. + + The backup object to use. + + The number of pages to copy or negative to copy all remaining pages. + + + Set to true if the operation needs to be retried due to database + locking issues. + + + True if there are more pages to be copied, false otherwise. + + + + + Returns the number of pages remaining to be copied from the source + database to the destination database associated with the specified + backup object. + + The backup object to check. + The number of pages remaining to be copied. + + + + Returns the total number of pages in the source database associated + with the specified backup object. + + The backup object to check. + The total number of pages in the source database. + + + + Destroys the backup object, rolling back any backup that may be in + progess. + + The backup object to destroy. + + + + Returns the error message for the specified SQLite return code using + the internal static lookup table. + + The SQLite return code. + The error message or null if it cannot be found. + + + + + + + + + Creates temporary tables on the connection so schema information can be queried. + + + The connection upon which to build the schema tables. + + + + + The extra behavioral flags that can be applied to a connection. + + + + + No extra flags. + + + + + Enable logging of all SQL statements to be prepared. + + + + + Enable logging of all bound parameter types and raw values. + + + + + Enable logging of all bound parameter strongly typed values. + + + + + Enable logging of all exceptions caught from user-provided + managed code called from native code via delegates. + + + + + Enable logging of backup API errors. + + + + + Skip adding the extension functions provided by the native + interop assembly. + + + + + When binding parameter values with the + type, use the interop method that accepts an + value. + + + + + When binding parameter values, always bind them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + When returning column values, always return them as though they were + plain text (i.e. no numeric, date/time, or other conversions should + be attempted). + + + + + Prevent this object instance from + loading extensions. + + + + + Prevent this object instance from + creating virtual table modules. + + + + + Skip binding any functions provided by other managed assemblies when + opening the connection. + + + + + Skip setting the logging related properties of the + object instance that was passed to + the method. + + + + + Enable logging of all virtual table module errors seen by the + method. + + + + + Enable logging of certain virtual table module exceptions that cannot + be easily discovered via other means. + + + + + Enable tracing of potentially important [non-fatal] error conditions + that cannot be easily reported through other means. + + + + + When binding parameter values, always use the invariant culture when + converting their values from strings. + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings. + + + + + Disable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using the connection pool by default. If the "Pooling" + connection string property is specified, its value will override + this flag. The precise outcome of combining this flag with the + flag is unspecified; however, + one of the flags will be in effect. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. These + per-connection mappings, when present, override the corresponding + global mappings. + + + + + Disable using global mappings between type names and + values. This may be useful in some very narrow + cases; however, if there are no per-connection type mappings, the + fallback defaults will be used for both type names and their + associated values. Therefore, use of this flag + is not recommended. + + + + + When the property is used, it + should return non-zero if there were ever any rows in the associated + result sets. + + + + + Enable "strict" transaction enlistment semantics. Setting this flag + will cause an exception to be thrown if an attempt is made to enlist + in a transaction with an unavailable or unsupported isolation level. + In the future, more extensive checks may be enabled by this flag as + well. + + + + + Enable mapping of unsupported transaction isolation levels to the + closest supported transaction isolation level. + + + + + When returning column values, attempt to detect the affinity of + textual values by checking if they fully conform to those of the + , + , + , + or types. + + + + + When returning column values, attempt to detect the type of + string values by checking if they fully conform to those of + the , + , + , + or types. + + + + + Skip querying runtime configuration settings for use by the + class, including the default + value and default database type name. + NOTE: If the + and/or + properties are not set explicitly nor set via their connection + string properties and repeated calls to determine these runtime + configuration settings are seen to be a problem, this flag + should be set. + + + + + When binding parameter values with the + type, take their into account as + well as that of the associated . + + + + + If an exception is caught when raising the + event, the transaction + should be rolled back. If this is not specified, the transaction + will continue the commit process instead. + + + + + If an exception is caught when raising the + event, the action should + should be denied. If this is not specified, the action will be + allowed instead. + + + + + If an exception is caught when raising the + event, the operation + should be interrupted. If this is not specified, the operation + will simply continue. + + + + + Attempt to unbind all functions provided by other managed assemblies + when closing the connection. + + + + + When returning column values as a , skip + verifying their affinity. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + Enable using per-connection mappings between type names and + values. Also see the + , + , and + methods. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the parameter name. + + + + + If the database type name has not been explicitly set for the + parameter specified, fallback to using the database type name + associated with the value. + + + + + When returning column values, skip verifying their affinity. + + + + + Allow transactions to be nested. The outermost transaction still + controls whether or not any changes are ultimately committed or + rolled back. All non-outermost transactions are implemented using + the SAVEPOINT construct. + + + + + When binding parameter values, always bind + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When returning column values, always return + values as though they were plain text (i.e. not , + which is the legacy behavior). + + + + + When binding parameter values, always use + the invariant culture when converting their values to strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable waiting for the enlistment to be reset prior to attempting + to create a new enlistment. This may be necessary due to the + semantics used by distributed transactions, which complete + asynchronously. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + When returning column values, always use + the invariant culture when converting their values from strings. + + + + + EXPERIMENTAL -- + Enable strict conformance to the ADO.NET standard, e.g. use of + thrown exceptions to indicate common error conditions. + + + + + EXPERIMENTAL -- + When opening a connection, attempt to hide the password from the + connection string, etc. Given the memory architecture of the CLR, + (and P/Invoke) this is not 100% reliable and should not be relied + upon for security critical uses or applications. + + + + + Skip adding the extension functions provided by the native interop + assembly if they would conflict with a function provided by the + SQLite core library. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted). + + + + + When binding parameter values, always use the invariant culture when + converting their values to strings or from strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings. + + + + + When binding parameter values or returning column values, always + treat them as though they were plain text (i.e. no numeric, + date/time, or other conversions should be attempted) and always + use the invariant culture when converting their values to strings + or from strings. + + + + + Enables use of all per-connection value handling callbacks. + + + + + Enables use of all applicable + properties as fallbacks for the database type name. + + + + + Enable all logging. + + + + + The default logging related flags for new connections. + + + + + The default extra flags for new connections. + + + + + The default extra flags for new connections with all logging enabled. + + + + + These are the supported status parameters for use with the native + SQLite library. + + + + + This parameter returns the number of lookaside memory slots + currently checked out. + + + + + This parameter returns the approximate number of bytes of + heap memory used by all pager caches associated with the + database connection. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED is always 0. + + + + + This parameter returns the approximate number of bytes of + heap memory used to store the schema for all databases + associated with the connection - main, temp, and any ATTACH-ed + databases. The full amount of memory used by the schemas is + reported, even if the schema memory is shared with other + database connections due to shared cache mode being enabled. + The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED + is always 0. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + all lookaside memory already being in use. Only the high-water + value is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that were + satisfied using lookaside memory. Only the high-water value + is meaningful; the current value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number malloc attempts that might + have been satisfied using lookaside memory but failed due to + the amount of memory requested being larger than the lookaside + slot size. Only the high-water value is meaningful; the current + value is always zero. + + + + + This parameter returns the number of pager cache hits that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_HIT is always 0. + + + + + This parameter returns the number of pager cache misses that + have occurred. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_MISS is always 0. + + + + + This parameter returns the number of dirty cache entries that + have been written to disk. Specifically, the number of pages + written to the wal file in wal mode databases, or the number + of pages written to the database file in rollback mode + databases. Any pages written as part of transaction rollback + or database recovery operations are not included. If an IO or + other error occurs while writing a page to disk, the effect + on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is + undefined. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_WRITE is always 0. + + + + + This parameter returns zero for the current value if and only + if all foreign key constraints (deferred or immediate) have + been resolved. The highwater mark is always 0. + + + + + This parameter is similar to DBSTATUS_CACHE_USED, except that + if a pager cache is shared between two or more connections the + bytes of heap memory used by that pager cache is divided evenly + between the attached connections. In other words, if none of + the pager caches associated with the database connection are + shared, this request returns the same value as DBSTATUS_CACHE_USED. + Or, if one or more or the pager caches are shared, the value + returned by this call will be smaller than that returned by + DBSTATUS_CACHE_USED. The highwater mark associated with + SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. + + + + + This parameter returns the number of dirty cache entries that have + been written to disk in the middle of a transaction due to the page + cache overflowing. Transactions are more efficient if they are + written to disk all at once. When pages spill mid-transaction, that + introduces additional overhead. This parameter can be used help + identify inefficiencies that can be resolved by increasing the cache + size. + + + + + These are the supported configuration verbs for use with the native + SQLite library. They are used with the + method. + + + + + This value represents an unknown (or invalid) option, do not use it. + + + + + This option is used to change the name of the "main" database + schema. The sole argument is a pointer to a constant UTF8 string + which will become the new schema name in place of "main". + + + + + This option is used to configure the lookaside memory allocator. + The value must be an array with three elements. The second element + must be an containing the size of each buffer + slot. The third element must be an containing + the number of slots. The first element must be an + that points to a native memory buffer of bytes equal to or greater + than the product of the second and third element values. + + + + + This option is used to enable or disable the enforcement of + foreign key constraints. + + + + + This option is used to enable or disable triggers. + + + + + This option is used to enable or disable the two-argument version + of the fts3_tokenizer() function which is part of the FTS3 full-text + search engine extension. + + + + + This option is used to enable or disable the loading of extensions. + + + + + This option is used to enable or disable the automatic checkpointing + when a WAL database is closed. + + + + + This option is used to enable or disable the query planner stability + guarantee (QPSG). + + + + + This option is used to enable or disable the extra EXPLAIN QUERY PLAN + output for trigger programs. + + + + + This option is used as part of the process to reset a database back + to an empty state. Because resetting a database is destructive and + irreversible, the process requires the use of this obscure flag and + multiple steps to help ensure that it does not happen by accident. + + + + + This option activates or deactivates the "defensive" flag for a + database connection. When the defensive flag is enabled, language + features that allow ordinary SQL to deliberately corrupt the database + file are disabled. The disabled features include but are not limited + to the following: + ]]> + ]]> + The PRAGMA writable_schema=ON statement. + ]]> + ]]> + The PRAGMA journal_mode=OFF statement. + ]]> + ]]> + Writes to the sqlite_dbpage virtual table. + ]]> + ]]> + Direct writes to shadow tables. + ]]> + ]]> + + + + + This option activates or deactivates the "writable_schema" flag. + + + + + This option activates or deactivates the legacy behavior of the ALTER + TABLE RENAME command such it behaves as it did prior to version 3.24.0 + (2018-06-04). + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DML statement only, that is DELETE, INSERT, + SELECT, and UPDATE statements. + + + + + This option activates or deactivates the legacy double-quoted string + literal misfeature for DDL statements, such as CREATE TABLE and CREATE + INDEX. + + + + + This option is used to enable or disable CREATE VIEW. + + + + + This option activates or deactivates the legacy file format flag. + + + + + This option tells SQLite to assume that database schemas (i.e. the + contents of the sqlite_master tables) are untainted by malicious + content. When the trusted schema option is disabled, SQLite takes + additional defensive steps to protect the application from harm + including: + ]]> + ]]> + Prohibit the use of SQL functions inside triggers, views, CHECK + constraints, DEFAULT clauses, expression indexes, partial indexes, + or generated columns unless those functions are tagged with + SQLITE_INNOCUOUS. + ]]> + ]]> + Prohibit the use of virtual tables inside of triggers or views + unless those virtual tables are tagged with SQLITE_VTAB_INNOCUOUS. + ]]> + This setting defaults to "on" for legacy compatibility, however + all applications are advised to turn it off if possible. This + setting can also be controlled using the PRAGMA trusted_schema + statement. + + + + + These constants are used with the sqlite3_trace_v2() API and the + callbacks registered by it. + + + + + These constants are used with the sqlite3_limit() API. + + + + + This value represents an unknown (or invalid) limit, do not use it. + + + + + The maximum size of any string or BLOB or table row, in bytes. + + + + + The maximum length of an SQL statement, in bytes. + + + + + The maximum number of columns in a table definition or in the + result set of a SELECT or the maximum number of columns in an + index or in an ORDER BY or GROUP BY clause. + + + + + The maximum depth of the parse tree on any expression. + + + + + The maximum number of terms in a compound SELECT statement. + + + + + The maximum number of instructions in a virtual machine program + used to implement an SQL statement. If sqlite3_prepare_v2() or + the equivalent tries to allocate space for more than this many + opcodes in a single prepared statement, an SQLITE_NOMEM error + is returned. + + + + + The maximum number of arguments on a function. + + + + + The maximum number of attached databases. + + + + + The maximum length of the pattern argument to the LIKE or GLOB + operators. + + + + + The maximum index number of any parameter in an SQL statement. + + + + + The maximum depth of recursion for triggers. + + + + + The maximum number of auxiliary worker threads that a single + prepared statement may start. + + + + + Represents a single SQL blob in SQLite. + + + + + The underlying SQLite object this blob is bound to. + + + + + The actual blob handle. + + + + + Initializes the blob. + + The base SQLite object. + The blob handle. + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID -OR- if the query + does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The instance with a result set + containing the desired blob column. + + + The index of the blob column. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Creates a object. This will not work + for tables that were created WITHOUT ROWID. + + + The connection to use when opening the blob object. + + + The name of the database containing the blob object. + + + The name of the table containing the blob object. + + + The name of the column containing the blob object. + + + The integer identifier for the row associated with the desired + blob object. + + + Non-zero to open the blob object for read-only access. + + + The newly created instance -OR- null + if an error occurs. + + + + + Throws an exception if the blob object does not appear to be open. + + + + + Throws an exception if an invalid read/write parameter is detected. + + + When reading, this array will be populated with the bytes read from + the underlying database blob. When writing, this array contains new + values for the specified portion of the underlying database blob. + + + The number of bytes to read or write. + + + The byte offset, relative to the start of the underlying database + blob, where the read or write operation will begin. + + + + + Retargets this object to an underlying database blob for a + different row; the database, table, and column remain exactly + the same. If this operation fails for any reason, this blob + object is automatically disposed. + + + The integer identifier for the new row. + + + + + Queries the total number of bytes for the underlying database blob. + + + The total number of bytes for the underlying database blob. + + + + + Reads data from the underlying database blob. + + + This array will be populated with the bytes read from the + underlying database blob. + + + The number of bytes to read. + + + The byte offset, relative to the start of the underlying + database blob, where the read operation will begin. + + + + + Writes data into the underlying database blob. + + + This array contains the new values for the specified portion of + the underlying database blob. + + + The number of bytes to write. + + + The byte offset, relative to the start of the underlying + database blob, where the write operation will begin. + + + + + Closes the blob, freeing the associated resources. + + + + + Disposes and finalizes the blob. + + + + + The destructor. + + + + + SQLite implementation of DbCommand. + + + + + The default connection string to be used when creating a temporary + connection to execute a command via the static + or + + methods. + + + + + The command text this command is based on + + + + + The connection the command is associated with + + + + + The version of the connection the command is associated with + + + + + Indicates whether or not a DataReader is active on the command. + + + + + The timeout for the command, kludged because SQLite doesn't support per-command timeout values + + + + + Designer support + + + + + Used by DbDataAdapter to determine updating behavior + + + + + The collection of parameters for the command + + + + + The SQL command text, broken into individual SQL statements as they are executed + + + + + Unprocessed SQL text that has not been executed + + + + + Transaction associated with this command + + + + + Constructs a new SQLiteCommand + + + Default constructor + + + + + Initializes the command with the given command text + + The SQL command text + + + + Initializes the command with the given SQL command text and attach the command to the specified + connection. + + The SQL command text + The connection to associate with the command + + + + Initializes the command and associates it with the specified connection. + + The connection to associate with the command + + + + Initializes a command with the given SQL, connection and transaction + + The SQL command text + The connection to associate with the command + The transaction the command should be associated with + + + + Disposes of the command and clears all member variables + + Whether or not the class is being explicitly or implicitly disposed + + + + This method attempts to query the flags associated with the database + connection in use. If the database connection is disposed, the default + flags will be returned. + + + The command containing the databse connection to query the flags from. + + + The connection flags value. + + + + + Clears and destroys all statements currently prepared + + + + + Builds an array of prepared statements for each complete SQL statement in the command text + + + + + Not implemented + + + + + The SQL command text associated with the command + + + + + The amount of time to wait for the connection to become available before erroring out + + + + + The type of the command. SQLite only supports CommandType.Text + + + + + Forwards to the local CreateParameter() function + + + + + + Create a new parameter + + + + + + The connection associated with this command + + + + + Forwards to the local Connection property + + + + + Returns the SQLiteParameterCollection for the given command + + + + + Forwards to the local Parameters property + + + + + The transaction associated with this command. SQLite only supports one transaction per connection, so this property forwards to the + command's underlying connection. + + + + + Forwards to the local Transaction property + + + + + Verifies that all SQL queries associated with the current command text + can be successfully compiled. A will be + raised if any errors occur. + + + + + This function ensures there are no active readers, that we have a valid connection, + that the connection is open, that all statements are prepared and all parameters are assigned + in preparation for allocating a data reader. + + + + + Creates a new SQLiteDataReader to execute/iterate the array of SQLite prepared statements + + The behavior the data reader should adopt + Returns a SQLiteDataReader object + + + + This method creates a new connection, executes the query using the given + execution type, closes the connection, and returns the results. If the + connection string is null, a temporary in-memory database connection will + be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method creates a new connection, executes the query using the given + execution type and command behavior, closes the connection unless a data + reader is created, and returns the results. If the connection string is + null, a temporary in-memory database connection will be used. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection string to the database to be opened, used, and closed. If + this parameter is null, a temporary in-memory databse will be used. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + This method executes a query using the given execution type and command + behavior and returns the results. + + + The text of the command to be executed. + + + The execution type for the command. This is used to determine which method + of the command object to call, which then determines the type of results + returned, if any. + + + The command behavior flags for the command. + + + The connection used to create and execute the command. + + + The SQL parameter values to be used when building the command object to be + executed, if any. + + + The results of the query -OR- null if no results were produced from the + given execution type. + + + + + Overrides the default behavior to return a SQLiteDataReader specialization class + + The flags to be associated with the reader. + A SQLiteDataReader + + + + Overrides the default behavior of DbDataReader to return a specialized SQLiteDataReader class + + A SQLiteDataReader + + + + Called by the SQLiteDataReader when the data reader is closed. + + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The number of rows inserted/updated affected by it. + + + + Execute the command and return the number of rows inserted/updated affected by it. + + The flags to be associated with the reader. + The number of rows inserted/updated affected by it. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The first column of the first row of the first resultset from the query. + + + + Execute the command and return the first column of the first row of the resultset + (if present), or null if no resultset was returned. + + The flags to be associated with the reader. + The first column of the first row of the first resultset from the query. + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + + + This method resets all the prepared statements held by this instance + back to their initial states, ready to be re-executed. + + + Non-zero if the parameter bindings should be cleared as well. + + + If this is zero, a may be thrown for + any unsuccessful return codes from the native library; otherwise, a + will only be thrown if the connection + or its state is invalid. + + + + + Does nothing. Commands are prepared as they are executed the first time, and kept in prepared state afterwards. + + + + + Sets the method the SQLiteCommandBuilder uses to determine how to update inserted or updated rows in a DataTable. + + + + + Determines if the command is visible at design time. Defaults to True. + + + + + Clones a command, including all its parameters + + A new SQLiteCommand with the same commandtext, connection and parameters + + + + SQLite implementation of DbCommandBuilder. + + + + + Default constructor + + + + + Initializes the command builder and associates it with the specified data adapter. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Minimal amount of parameter processing. Primarily sets the DbType for the parameter equal to the provider type in the schema + + The parameter to use in applying custom behaviors to a row + The row to apply the parameter to + The type of statement + Whether the application of the parameter is part of a WHERE clause + + + + Returns a valid named parameter + + The name of the parameter + Error + + + + Returns a named parameter for the given ordinal + + The i of the parameter + Error + + + + Returns a placeholder character for the specified parameter i. + + The index of the parameter to provide a placeholder for + Returns a named parameter + + + + Sets the handler for receiving row updating events. Used by the DbCommandBuilder to autogenerate SQL + statements that may not have previously been generated. + + A data adapter to receive events on. + + + + Gets/sets the DataAdapter for this CommandBuilder + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + Returns the automatically-generated SQLite command to delete rows from the database + + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + Returns the automatically-generated SQLite command to update rows in the database + + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + Returns the automatically-generated SQLite command to insert rows into the database + + + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Overridden to hide its property from the designer + + + + + Places brackets around an identifier + + The identifier to quote + The bracketed identifier + + + + Removes brackets around an identifier + + The quoted (bracketed) identifier + The undecorated identifier + + + + Overridden to hide its property from the designer + + + + + Override helper, which can help the base command builder choose the right keys for the given query + + + + + + + This class represents a single value to be returned + from the class via + its , + , + , + , + , + , + , + , + , + , + , + , + , + , + , or + method. If the value of the + associated public field of this class is null upon returning from the + callback, the null value will only be used if the return type for the + method called is not a value type. + If the value to be returned from the + method is unsuitable (e.g. null with a value type), an exception will + be thrown. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method -OR- null to + indicate an error. + + + + + The value to be returned from the + method. + + + + + The value to be returned from the + method. + + + + + This class represents the parameters that are provided + to the methods, with + the exception of the column index (provided separately). + + + + + This class represents the parameters that are provided to + the method, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + The value that was originally specified for the "readOnly" + parameter to the method. + + + + + This class represents the parameters that are provided + to the and + methods, with + the exception of the column index (provided separately). + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + Constructs an instance of this class to pass into a user-defined + callback associated with the + method. + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + The value that was originally specified for the "dataOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "buffer" + parameter to the + method. + + + + + The value that was originally specified for the "bufferOffset" + parameter to the or + methods. + + + + + The value that was originally specified for the "length" + parameter to the or + methods. + + + + + This class represents the parameters and return values for the + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , and + methods. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs a new instance of this class. Depending on the method + being called, the and/or + parameters may be null. + + + The name of the method that was + responsible for invoking this callback. + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + This may be used by the callback to set the return value for the + called method. + + + + + The name of the method that was + responsible for invoking this callback. + + + + + If the or + method is being called, + this object will contain the array related parameters for that + method. If the method is + being called, this object will contain the blob related parameters + for that method. + + + + + This may be used by the callback to set the return value for the + called method. + + + + + This represents a method that will be called in response to a request to + bind a parameter to a command. If an exception is thrown, it will cause + the parameter binding operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The instance being bound to the command. + + + The database type name associated with this callback. + + + The ordinal of the parameter being bound to the command. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the parameter binding call should + be skipped (i.e. the parameter should not be bound at all). Great care + should be used when setting this to non-zero. + + + + + This represents a method that will be called in response to a request + to read a value from a data reader. If an exception is thrown, it will + cause the data reader operation to fail -AND- it will continue to unwind + the call stack. + + + The instance in use. + + + The instance in use. + + + The flags associated with the instance + in use. + + + The parameter and return type data for the column being read from the + data reader. + + + The database type name associated with this callback. + + + The zero based index of the column being read from the data reader. + + + The data originally used when registering this callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + This class represents the custom data type handling callbacks + for a single type name. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Provides the underlying storage for the + property. + + + + + Constructs an instance of this class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + Creates an instance of the class. + + + The custom paramater binding callback. This parameter may be null. + + + The custom data reader value callback. This parameter may be null. + + + The extra data to pass into the parameter binding callback. This + parameter may be null. + + + The extra data to pass into the data reader value callback. This + parameter may be null. + + + + + The database type name that the callbacks contained in this class + will apply to. This value may not be null. + + + + + The custom paramater binding callback. This value may be null. + + + + + The custom data reader value callback. This value may be null. + + + + + The extra data to pass into the parameter binding callback. This + value may be null. + + + + + The extra data to pass into the data reader value callback. This + value may be null. + + + + + This class represents the mappings between database type names + and their associated custom data type handling callbacks. + + + + + Constructs an (empty) instance of this class. + + + + + Event data for connection event handlers. + + + + + The type of event being raised. + + + + + The associated with this event, if any. + + + + + The transaction associated with this event, if any. + + + + + The command associated with this event, if any. + + + + + The data reader associated with this event, if any. + + + + + The critical handle associated with this event, if any. + + + + + Command or message text associated with this event, if any. + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + The type of event being raised. + The base associated + with this event, if any. + The transaction associated with this event, if any. + The command associated with this event, if any. + The data reader associated with this event, if any. + The critical handle associated with this event, if any. + The command or message text, if any. + The extra data, if any. + + + + Raised when an event pertaining to a connection occurs. + + The connection involved. + Extra information about the event. + + + + SQLite implentation of DbConnection. + + + The property can contain the following parameter(s), delimited with a semi-colon: + + + Parameter + Values + Required + Default + + + Data Source + + This may be a file name, the string ":memory:", or any supported URI (starting with SQLite 3.7.7). + Starting with release 1.0.86.0, in order to use more than one consecutive backslash (e.g. for a + UNC path), each of the adjoining backslash characters must be doubled (e.g. "\\Network\Share\test.db" + would become "\\\\Network\Share\test.db"). + + Y + + + + Uri + + If specified, this must be a file name that starts with "file://", "file:", or "/". Any leading + "file://" or "file:" prefix will be stripped off and the resulting file name will be used to open + the database. + + N + null + + + FullUri + + If specified, this must be a URI in a format recognized by the SQLite core library (starting with + SQLite 3.7.7). It will be passed verbatim to the SQLite core library. + + N + null + + + Version + 3 + N + 3 + + + UseUTF16Encoding + + True - The UTF-16 encoding should be used. +
+ False - The UTF-8 encoding should be used. +
+ N + False +
+ + DefaultDbType + + This is the default to use when one cannot be determined based on the + column metadata and the configured type mappings. + + N + null + + + DefaultTypeName + + This is the default type name to use when one cannot be determined based on the column metadata + and the configured type mappings. + + N + null + + + NoDefaultFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + NoSharedFlags + + True - Do not combine the specified (or existing) connection flags with the value of the + property. +
+ False - Combine the specified (or existing) connection flags with the value of the + property. +
+ N + False +
+ + VfsName + + The name of the VFS to use when opening the database connection. + If this is not specified, the default VFS will be used. + + N + null + + + ZipVfsVersion + + If non-null, this is the "version" of ZipVFS to use. This requires + the System.Data.SQLite interop assembly -AND- primary managed assembly + to be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. The valid values are "v2" and "v3". Using + anyother value will cause an exception to be thrown. Please see the + ZipVFS documentation for more information on how to use this parameter. + + N + null + + + DateTimeFormat + + Ticks - Use the value of DateTime.Ticks.
+ ISO8601 - Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC + DateTime values and "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values).
+ JulianDay - The interval of time in days and fractions of a day since January 1, 4713 BC.
+ UnixEpoch - The whole number of seconds since the Unix epoch (January 1, 1970).
+ InvariantCulture - Any culture-independent string value that the .NET Framework can interpret as a valid DateTime.
+ CurrentCulture - Any string value that the .NET Framework can interpret as a valid DateTime using the current culture.
+ N + ISO8601 +
+ + DateTimeKind + + Unspecified - Not specified as either UTC or local time. +
+ Utc - The time represented is UTC. +
+ Local - The time represented is local time. +
+ N + Unspecified +
+ + DateTimeFormatString + + The exact DateTime format string to use for all formatting and parsing of all DateTime + values for this connection. + + N + null + + + BaseSchemaName + + Some base data classes in the framework (e.g. those that build SQL queries dynamically) + assume that an ADO.NET provider cannot support an alternate catalog (i.e. database) without supporting + alternate schemas as well; however, SQLite does not fit into this model. Therefore, this value is used + as a placeholder and removed prior to preparing any SQL statements that may contain it. + + N + sqlite_default_schema + + + BinaryGUID + + True - Store GUID columns in binary form +
+ False - Store GUID columns as text +
+ N + True +
+ + Cache Size + + If the argument N is positive then the suggested cache size is set to N. + If the argument N is negative, then the number of cache pages is adjusted + to use approximately abs(N*4096) bytes of memory. Backwards compatibility + note: The behavior of cache_size with a negative N was different in SQLite + versions prior to 3.7.10. In version 3.7.9 and earlier, the number of + pages in the cache was set to the absolute value of N. + + N + -2000 + + + Synchronous + + Normal - Normal file flushing behavior +
+ Full - Full flushing after all writes +
+ Off - Underlying OS flushes I/O's +
+ N + Full +
+ + Page Size + {size in bytes} + N + 4096 + + + Password + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + HexPassword + + {hexPassword} - Must contain a sequence of zero or more hexadecimal encoded + byte values without a leading "0x" prefix. Using this parameter requires + that the legacy CryptoAPI based codec (or the SQLite Encryption Extension) + be enabled at compile-time for both the native interop assembly and the + core managed assemblies; otherwise, using this parameter may result in an + exception being thrown when attempting to open the connection. + + N + + + + TextPassword + + {password} - Using this parameter requires that the legacy CryptoAPI based + codec (or the SQLite Encryption Extension) be enabled at compile-time for + both the native interop assembly and the core managed assemblies; otherwise, + using this parameter may result in an exception being thrown when attempting + to open the connection. + + N + + + + Enlist + + Y - Automatically enlist in distributed transactions +
+ N - No automatic enlistment +
+ N + Y +
+ + Pooling + + True - Use connection pooling.
+ False - Do not use connection pooling.

+ WARNING: When using the default connection pool implementation, + setting this property to True should be avoided by applications that make + use of COM (either directly or indirectly) due to possible deadlocks that + can occur during the finalization of some COM objects. +
+ N + False +
+ + FailIfMissing + + True - Don't create the database if it does not exist, throw an error instead +
+ False - Automatically create the database if it does not exist +
+ N + False +
+ + Max Page Count + {size in pages} - Limits the maximum number of pages (limits the size) of the database + N + 0 + + + Legacy Format + + True - Use the more compatible legacy 3.x database format +
+ False - Use the newer 3.3x database format which compresses numbers more effectively +
+ N + False +
+ + Default Timeout + {time in seconds}
The default command timeout
+ N + 30 +
+ + BusyTimeout + {time in milliseconds}
Sets the busy timeout for the core library.
+ N + 0 +
+ + WaitTimeout + {time in milliseconds}
+ EXPERIMENTAL -- The wait timeout to use with + method. This is only used when + waiting for the enlistment to be reset prior to enlisting in a transaction, + and then only when the appropriate connection flag is set.
+ N + 30000 +
+ + Journal Mode + + Delete - Delete the journal file after a commit. +
+ Persist - Zero out and leave the journal file on disk after a + commit. +
+ Off - Disable the rollback journal entirely. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Truncate - Truncate the journal file to zero-length instead of + deleting it. +
+ Memory - Store the journal in volatile RAM. This saves disk I/O + but at the expense of database safety and integrity. If the application + using SQLite crashes in the middle of a transaction when this journaling + mode is set, then the database file will very likely go corrupt. +
+ Wal - Use a write-ahead log instead of a rollback journal. +
+ N + Delete +
+ + Read Only + + True - Open the database for read only access +
+ False - Open the database for normal read/write access +
+ N + False +
+ + Max Pool Size + The maximum number of connections for the given connection string that can be in the connection pool + N + 100 + + + Default IsolationLevel + The default transaciton isolation level + N + Serializable + + + Foreign Keys + Enable foreign key constraints + N + False + + + Flags + Extra behavioral flags for the connection. See the enumeration for possible values. + N + Default + + + SetDefaults + + True - Apply the default connection settings to the opened database.
+ False - Skip applying the default connection settings to the opened database. +
+ N + True +
+ + ToFullPath + + True - Attempt to expand the data source file name to a fully qualified path before opening. +
+ False - Skip attempting to expand the data source file name to a fully qualified path before opening. +
+ N + True +
+ + PrepareRetries + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + N + 3 + + + ProgressOps + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as well. + + N + 0 + + + Recursive Triggers + + True - Enable the recursive trigger capability. + False - Disable the recursive trigger capability. + + N + False + +
+
+
+ + + The "invalid value" for the enumeration used + by the property. This constant is shared + by this class and the SQLiteConnectionStringBuilder class. + + + + + The default "stub" (i.e. placeholder) base schema name to use when + returning column schema information. Used as the initial value of + the BaseSchemaName property. This should start with "sqlite_*" + because those names are reserved for use by SQLite (i.e. they cannot + be confused with the names of user objects). + + + + + The managed assembly containing this type. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + Static variable to store the connection event handlers to call. + + + + + The extra connection flags to be used for all opened connections. + + + + + The instance (for this thread) that + had the most recent call to . + + + + + State of the current connection + + + + + The connection string + + + + + Nesting level of the transactions open on the connection + + + + + Transaction counter for the connection. Currently, this is only used + to build SAVEPOINT names. + + + + + If this flag is non-zero, the method will have + no effect; however, the method will continue to + behave as normal. + + + + + If set, then the connection is currently being disposed. + + + + + The default isolation level for new transactions + + + + + This object is used with lock statements to synchronize access to the + field, below. + + + + + Whether or not the connection is enlisted in a distrubuted transaction + + + + + The per-connection mappings between type names and + values. These mappings override the corresponding global mappings. + + + + + The per-connection mappings between type names and optional callbacks + for parameter binding and value reading. + + + + + The base SQLite object to interop with + + + + + The database filename minus path and extension + + + + + Temporary password storage, emptied after the database has been opened + + + + + This will be non-zero if the "TextPassword" connection string property + was used. When this value is non-zero, + will retain treatment of the password as a NUL-terminated text string. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. + + + + + The extra behavioral flags for this connection, if any. See the + enumeration for a list of + possible values. + + + + + The cached values for all settings that have been fetched on behalf + of this connection. This cache may be cleared by calling the + method. + + + + + The default databse type for this connection. This value will only + be used if the + flag is set. + + + + + The default databse type name for this connection. This value will only + be used if the + flag is set. + + + + + The name of the VFS to be used when opening the database connection. + + + + + Default command timeout + + + + + The default busy timeout to use with the SQLite core library. This is + only used when opening a connection. + + + + + The default wait timeout to use with + method. This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the appropriate + connection flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when opening the database. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + This event is raised whenever the database is opened or closed. + + + + + Constructs a new SQLiteConnection object + + + Default constructor + + + + + Initializes the connection with the specified connection string. + + The connection string to use. + + + + Initializes the connection with a pre-existing native connection handle. + This constructor overload is intended to be used only by the private + method. + + + The native connection handle to use. + + + The file name corresponding to the native connection handle. + + + Non-zero if this instance owns the native connection handle and + should dispose of it when it is no longer needed. + + + + + Initializes user-settable properties with their default values. + This method is only intended to be used from the constructor. + + + + + Initializes the connection with the specified connection string. + + + The connection string to use. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Clones the settings and connection string from an existing connection. If the existing connection is already open, this + function will open its own connection, enumerate any attached databases of the original connection, and automatically + attach to them. + + The connection to copy the settings from. + + + + Attempts to lookup the native handle associated with the connection. An exception will + be thrown if this cannot be accomplished. + + + The connection associated with the desired native handle. + + + The native handle associated with the connection or if it + cannot be determined. + + + + + Raises the event. + + + The connection associated with this event. If this parameter is not + null and the specified connection cannot raise events, then the + registered event handlers will not be invoked. + + + A that contains the event data. + + + + + This event is raised when events related to the lifecycle of a + SQLiteConnection object occur. + + + + + This property is used to obtain or set the custom connection pool + implementation to use, if any. Setting this property to null will + cause the default connection pool implementation to be used. + + + + + Creates and returns a new managed database connection handle. This + method is intended to be used by implementations of the + interface only. In theory, it + could be used by other classes; however, that usage is not supported. + + + This must be a native database connection handle returned by the + SQLite core library and it must remain valid and open during the + entire duration of the calling method. + + + The new managed database connection handle or null if it cannot be + created. + + + + + Backs up the database, using the specified database connection as the + destination. + + The destination database connection. + The destination database name. + The source database name. + + The number of pages to copy at a time -OR- a negative value to copy all + pages. When a negative value is used, the + may never be invoked. + + + The method to invoke between each step of the backup process. This + parameter may be null (i.e. no callbacks will be performed). If the + callback returns false -OR- throws an exception, the backup is canceled. + + + The number of milliseconds to sleep after encountering a locking error + during the backup process. A value less than zero means that no sleep + should be performed. + + + + + Clears the per-connection cached settings. + + + The total number of per-connection settings cleared. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for this connection, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by . + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + Clears the per-connection type mappings. + + + The total number of per-connection type mappings cleared. + + + + + Returns the per-connection type mappings. + + + The per-connection type mappings -OR- null if they are unavailable. + + + + + Adds a per-connection type mapping, possibly replacing one or more + that already exist. + + + The case-insensitive database type name (e.g. "MYDATE"). The value + of this parameter cannot be null. Using an empty string value (or + a string value consisting entirely of whitespace) for this parameter + is not recommended. + + + The value that should be associated with the + specified type name. + + + Non-zero if this mapping should be considered to be the primary one + for the specified . + + + A negative value if nothing was done. Zero if no per-connection type + mappings were replaced (i.e. it was a pure add operation). More than + zero if some per-connection type mappings were replaced. + + + + + Clears the per-connection type callbacks. + + + The total number of per-connection type callbacks cleared. + + + + + Attempts to get the per-connection type callbacks for the specified + database type name. + + + The database type name. + + + Upon success, this parameter will contain the object holding the + callbacks for the database type name. Upon failure, this parameter + will be null. + + + Non-zero upon success; otherwise, zero. + + + + + Sets, resets, or clears the per-connection type callbacks for the + specified database type name. + + + The database type name. + + + The object holding the callbacks for the database type name. If + this parameter is null, any callbacks for the database type name + will be removed if they are present. + + + Non-zero if callbacks were set or removed; otherwise, zero. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + + + Attempts to bind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be bound. + + + A object instance that helps implement the + function to be bound. For scalar functions, this corresponds to the + type. For aggregate functions, + this corresponds to the type. For + collation functions, this corresponds to the + type. + + + A object instance that helps implement the + function to be bound. For aggregate functions, this corresponds to the + type. For other callback types, it + is not used and must be null. + + + + + Attempts to unbind the specified object + instance to this connection. + + + The object instance containing + the metadata for the function to be unbound. + + Non-zero if the function was unbound. + + + + This method unbinds all registered (known) functions -OR- all previously + bound user-defined functions from this connection. + + + Non-zero to unbind all registered (known) functions -OR- zero to unbind + all functions currently bound to the connection. + + + Non-zero if all the specified user-defined functions were unbound. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to parse the connection string using the algorithm provided + by the framework itself. This is not applicable when running on the + .NET Compact Framework. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Attempts to escape the specified connection string property name or + value in a way that is compatible with the connection string parser. + + + The connection string property name or value to escape. + + + Non-zero if the equals sign is permitted in the string. If this is + zero and the string contains an equals sign, an exception will be + thrown. + + + The original string, with all special characters escaped. If the + original string contains equals signs, they will not be escaped. + Instead, they will be preserved verbatim. + + + + + Builds a connection string from a list of key/value pairs. + + + The list of key/value pairs corresponding to the parameters to be + specified within the connection string. + + + The connection string. Depending on how the connection string was + originally parsed, the returned connection string value may not be + usable in a subsequent call to the method. + + + + + Disposes and finalizes the connection, if applicable. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Creates a clone of the connection. All attached databases and user-defined functions are cloned. If the existing connection is open, the cloned connection + will also be opened. + + + + + + Creates a database file. This just creates a zero-byte file which SQLite + will turn into a database when the file is opened properly. + + The file to create + + + + Raises the state change event when the state of the connection changes + + The new connection state. If this is different + from the previous state, the event is + raised. + The event data created for the raised event, if + it was actually raised. + + + + Determines and returns the fallback default isolation level when one cannot be + obtained from an existing connection instance. + + + The fallback default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + Determines and returns the default isolation level for this connection instance. + + + The default isolation level for this connection instance -OR- + if it cannot be determined. + + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + This parameter is ignored. + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is TRUE, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + OBSOLETE. Creates a new SQLiteTransaction if one isn't already active on the connection. + + When TRUE, SQLite defers obtaining a write lock until a write operation is requested. + When FALSE, a writelock is obtained immediately. The default is false, but in a multi-threaded multi-writer + environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock. + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already active on the connection. + + Supported isolation levels are Serializable, ReadCommitted and Unspecified. + + Unspecified will use the default isolation level specified in the connection string. If no isolation level is specified in the + connection string, Serializable is used. + Serializable transactions are the default. In this mode, the engine gets an immediate lock on the database, and no other threads + may begin a transaction. Other threads may read from the database, but not write. + With a ReadCommitted isolation level, locks are deferred and elevated as needed. It is possible for multiple threads to start + a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread + has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached. + + Returns a SQLiteTransaction object. + + + + Creates a new if one isn't already + active on the connection. + + Returns the new transaction object. + + + + Forwards to the local function + + Supported isolation levels are Unspecified, Serializable, and ReadCommitted + + + + + This method is not implemented; however, the + event will still be raised. + + + + + + When the database connection is closed, all commands linked to this connection are automatically reset. + + + + + Returns the number of pool entries for the file name associated with this connection. + + + + + Clears the connection pool associated with the connection. Any other active connections using the same database file + will be discarded instead of returned to the pool when they are closed. + + + + + + Clears all connection pools. Any active connections will be discarded instead of sent to the pool when they are closed. + + + + + The connection string containing the parameters for the connection + + + For the complete list of supported connection string properties, + please see . + + + + + Create a new and associate it with this connection. + + Returns a new command object already assigned to this connection. + + + + Forwards to the local function. + + + + + + Attempts to create a new object instance + using this connection and the specified database name. + + + The name of the database for the newly created session. + + + The newly created session -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified raw data. + + + The raw data that contains a change set (or patch set). + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object instance + using this connection and the specified stream. + + + The stream where the raw data that contains a change set (or patch set) + may be read. + + + The stream where the raw data that contains a change set (or patch set) + may be written. + + + The flags used to create the change set iterator. + + + The newly created change set -OR- null if it cannot be created. + + + + + Attempts to create a new object + instance using this connection. + + + The newly created change group -OR- null if it cannot be created. + + + + + Returns the data source file name without extension or path. + + + + + Returns the fully qualified path and file name for the currently open + database, if any. + + + + + Returns the string "main". + + + + + Determines if the legacy connection string parser should be used. + + + The connection that will be using the parsed connection string. + + + Non-zero if the legacy connection string parser should be used. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string into component parts using the custom + connection string parser. An exception may be thrown if the syntax + of the connection string is incorrect. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero if names are allowed without values. + + + The list of key/value pairs corresponding to the parameters specified + within the connection string. + + + + + Parses a connection string using the built-in (i.e. framework provided) + connection string parser class and returns the key/value pairs. An + exception may be thrown if the connection string is invalid or cannot be + parsed. When compiled for the .NET Compact Framework, the custom + connection string parser is always used instead because the framework + provided one is unavailable there. + + + The connection that will be using the parsed connection string. + + + The connection string to parse. + + + Non-zero to throw an exception if any connection string values are not of + the type. This is not applicable when running on + the .NET Compact Framework. + + The list of key/value pairs. + + + + Manual distributed transaction enlistment support + + The distributed transaction to enlist in + + + + EXPERIMENTAL -- + Waits for the enlistment associated with this connection to be reset. + This method always throws when + running on the .NET Compact Framework. + + + The approximate maximum number of milliseconds to wait before timing + out the wait operation. + + + The return value to use if the connection has been disposed; if this + value is null, will be raised + if the connection has been disposed. + + + Non-zero if the enlistment assciated with this connection was reset; + otherwise, zero. It should be noted that this method returning a + non-zero value does not necessarily guarantee that the connection + can enlist in a new transaction (i.e. due to potentical race with + other threads); therefore, callers should generally use try/catch + when calling the method. + + + + + Looks for a key in the array of key/values of the parameter string. If not found, return the specified default value + + The list to look in + The key to find + The default value to return if the key is not found + The value corresponding to the specified key, or the default value if not found. + + + + Attempts to convert the string value to an enumerated value of the specified type. + + The enumerated type to convert the string value to. + The string value to be converted. + Non-zero to make the conversion case-insensitive. + The enumerated value upon success or null upon error. + + + + Attempts to convert an input string into a byte value. + + + The string value to be converted. + + + The number styles to use for the conversion. + + + Upon sucess, this will contain the parsed byte value. + Upon failure, the value of this parameter is undefined. + + + Non-zero upon success; zero on failure. + + + + + Change a limit value for the database. + + + The database limit to change. + + + The new value for the specified limit. + + + The old value for the specified limit -OR- negative one if an error + occurs. + + + + + Change a configuration option value for the database. + + + The database configuration option to change. + + + The new value for the specified configuration option. + + + + + Enables or disables extension loading. + + + True to enable loading of extensions, false to disable. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + + + Loads a SQLite extension library from the named dynamic link library file. + + + The name of the dynamic link library file containing the extension. + + + The name of the exported function used to initialize the extension. + If null, the default "sqlite3_extension_init" will be used. + + + + + Creates a disposable module containing the implementation of a virtual + table. + + + The module object to be used when creating the disposable module. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + Creates and returns a string containing the hexadecimal encoded byte + values from the input array. + + + The input array of bytes. + + + The resulting string or null upon failure. + + + + + Parses a string containing a sequence of zero or more hexadecimal + encoded byte values and returns the resulting byte array. The + "0x" prefix is not allowed on the input string. + + + The input string containing zero or more hexadecimal encoded byte + values. + + + Upon failure, this will contain an appropriate error message. + + + A byte array containing the parsed byte values or null if an error + was encountered. + + + + + This method figures out what the default connection pool setting should + be based on the connection flags. When present, the "Pooling" connection + string property value always overrides the value returned by this method. + + + Non-zero if the connection pool should be enabled by default; otherwise, + zero. + + + + + Determines the transaction isolation level that should be used by + the caller, primarily based upon the one specified by the caller. + If mapping of transaction isolation levels is enabled, the returned + transaction isolation level may be significantly different than the + originally specified one. + + + The originally specified transaction isolation level. + + + The transaction isolation level that should be used. + + + + + Opens the connection using the parameters found in the . + + + + + Opens the connection using the parameters found in the and then returns it. + + The current connection object. + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + This can also be set in the ConnectionString with "Default Timeout" + + + + + Gets/sets the default busy timeout to use with the SQLite core library. This is only used when + opening a connection. + + + + + EXPERIMENTAL -- + The wait timeout to use with method. + This is only used when waiting for the enlistment to be reset prior to + enlisting in a transaction, and then only when the appropriate connection + flag is set. + + + + + The maximum number of retries when preparing SQL to be executed. This + normally only applies to preparation errors resulting from the database + schema being changed. + + + + + The approximate number of virtual machine instructions between progress + events. In order for progress events to actually fire, the event handler + must be added to the event as + well. This value will only be used when the underlying native progress + callback needs to be changed. + + + + + Non-zero if the built-in (i.e. framework provided) connection string + parser should be used when opening the connection. + + + + + Gets/sets the extra behavioral flags for this connection. See the + enumeration for a list of + possible values. + + + + + Gets/sets the default database type for this connection. This value + will only be used when not null. + + + + + Gets/sets the default database type name for this connection. This + value will only be used when not null. + + + + + Gets/sets the VFS name for this connection. This value will only be + used when opening the database. + + + + + Returns non-zero if the underlying native connection handle is + owned by this instance. + + + + + Returns the version of the underlying SQLite database engine + + + + + Returns the rowid of the most recent successful INSERT into the database from this connection. + + + + + This method causes any pending database operation to abort and return at + its earliest opportunity. This routine is typically called in response + to a user action such as pressing "Cancel" or Ctrl-C where the user wants + a long query operation to halt immediately. It is safe to call this + routine from any thread. However, it is not safe to call this routine + with a database connection that is closed or might close before this method + returns. + + + + + Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on + this connection. + + + + + Checks if this connection to the specified database should be considered + read-only. An exception will be thrown if the database name specified + via cannot be found. + + + The name of a database associated with this connection -OR- null for the + main database. + + + Non-zero if this connection to the specified database should be considered + read-only. + + + + + Returns non-zero if the given database connection is in autocommit mode. + Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN + statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK. + + + + + Returns the amount of memory (in bytes) currently in use by the SQLite core library. + + + + + Returns the maximum amount of memory (in bytes) used by the SQLite core library since the high-water mark was last reset. + + + + + Returns various global memory statistics for the SQLite core library via + a dictionary of key/value pairs. Currently, only the "MemoryUsed" and + "MemoryHighwater" keys are returned and they have values that correspond + to the values that could be obtained via the + and connection properties. + + + This dictionary will be populated with the global memory statistics. It + will be created if necessary. + + + + + Attempts to free as much heap memory as possible for this database connection. + + + + + Attempts to free N bytes of heap memory by deallocating non-essential memory + allocations held by the database library. Memory used to cache database pages + to improve performance is an example of non-essential memory. This is a no-op + returning zero if the SQLite core library was not compiled with the compile-time + option SQLITE_ENABLE_MEMORY_MANAGEMENT. Optionally, attempts to reset and/or + compact the Win32 native heap, if applicable. + + + The requested number of bytes to free. + + + Non-zero to attempt a heap reset. + + + Non-zero to attempt heap compaction. + + + The number of bytes actually freed. This value may be zero. + + + This value will be non-zero if the heap reset was successful. + + + The size of the largest committed free block in the heap, in bytes. + This value will be zero unless heap compaction is enabled. + + + A standard SQLite return code (i.e. zero for success and non-zero + for failure). + + + + + Sets the status of the memory usage tracking subsystem in the SQLite core library. By default, this is enabled. + If this is disabled, memory usage tracking will not be performed. This is not really a per-connection value, it is + global to the process. + + Non-zero to enable memory usage tracking, zero otherwise. + A standard SQLite return code (i.e. zero for success and non-zero for failure). + + + + Returns a string containing the define constants (i.e. compile-time + options) used to compile the core managed assembly, delimited with + spaces. + + + + + Returns the version of the underlying SQLite core library. + + + + + This method returns the string whose value is the same as the + SQLITE_SOURCE_ID C preprocessor macro used when compiling the + SQLite core library. + + + + + Returns a string containing the compile-time options used to + compile the SQLite core native library, delimited with spaces. + + + + + This method returns the version of the interop SQLite assembly + used. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the interop + assembly. If the SQLite interop assembly is not in use or the + necessary information cannot be obtained for any reason, a null + value may be returned. + + + + + Returns a string containing the compile-time options used to + compile the SQLite interop assembly, delimited with spaces. + + + + + This method returns the version of the managed components used + to interact with the SQLite core library. If the necessary + information cannot be obtained for any reason, a null value may + be returned. + + + + + This method returns the string whose value contains the unique + identifier for the source checkout used to build the managed + components currently executing. If the necessary information + cannot be obtained for any reason, a null value may be returned. + + + + + Queries and returns the value of the specified setting, using the + cached setting names and values for the last connection that used + the method, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the cached setting is stored here if found; otherwise, + the value of is stored here. + + + Non-zero if the cached setting was found; otherwise, zero. + + + + + Adds or sets the cached setting specified by + to the value specified by using the cached + setting names and values for the last connection that used the + method, when available. + + + The name of the cached setting to add or replace. + + + The new value of the cached setting. + + + + + The default connection flags to be used for all opened connections + when they are not present in the connection string. + + + + + The extra connection flags to be used for all opened connections. + + + + + Returns the state of the connection. + + + + + Passes a shutdown request to the SQLite core library. Does not throw + an exception if the shutdown request fails. + + + A standard SQLite return code (i.e. zero for success and non-zero for + failure). + + + + + Passes a shutdown request to the SQLite core library. Throws an + exception if the shutdown request fails and the no-throw parameter + is non-zero. + + + Non-zero to reset the database and temporary directories to their + default values, which should be null for both. + + + When non-zero, throw an exception if the shutdown request fails. + + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Enables or disables extended result codes returned by SQLite + + + Add a log message via the SQLite sqlite3_log interface. + + + Add a log message via the SQLite sqlite3_log interface. + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Change the password (or assign a password) to an open database. + + + No readers or writers may be active for this process. The database must already be open + and if it already was password protected, the existing password must already have been supplied. + + The new password to assign to the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Sets the password for a password-protected database. A password-protected database is + unusable for any operation until the password has been set. + + The password for the database + + + + Queries or modifies the number of retries or the retry interval (in milliseconds) for + certain I/O operations that may fail due to anti-virus software. + + The number of times to retry the I/O operation. A negative value + will cause the current count to be queried and replace that negative value. + The number of milliseconds to wait before retrying the I/O + operation. This number is multiplied by the number of retry attempts so far to come + up with the final number of milliseconds to wait. A negative value will cause the + current interval to be queried and replace that negative value. + Zero for success, non-zero for error. + + + + Sets the chunk size for the primary file associated with this database + connection. + + + The new chunk size for the main database, in bytes. + + + Zero for success, non-zero for error. + + + + + Removes one set of surrounding single -OR- double quotes from the string + value and returns the resulting string value. If the string is null, empty, + or contains quotes that are not balanced, nothing is done and the original + string value will be returned. + + The string value to process. + + The string value, modified to remove one set of surrounding single -OR- + double quotes, if applicable. + + + + + Determines the directory to be used when dealing with the "|DataDirectory|" + macro in a database file name. + + + The directory to use in place of the "|DataDirectory|" macro -OR- null if it + cannot be determined. + + + + + Expand the filename of the data source, resolving the |DataDirectory| + macro as appropriate. + + The database filename to expand + + Non-zero if the returned file name should be converted to a full path + (except when using the .NET Compact Framework). + + The expanded path and filename of the filename + + + + The following commands are used to extract schema information out of the database. Valid schema types are: + + + MetaDataCollections + + + DataSourceInformation + + + Catalogs + + + Columns + + + ForeignKeys + + + Indexes + + + IndexColumns + + + Tables + + + Views + + + ViewColumns + + + + + Returns the MetaDataCollections schema + + A DataTable of the MetaDataCollections schema + + + + Returns schema information of the specified collection + + The schema collection to retrieve + A DataTable of the specified collection + + + + Retrieves schema information using the specified constraint(s) for the specified collection + + The collection to retrieve. + + The restrictions to impose. Typically, this may include: + + + restrictionValues element index + usage + + + 0 + The database (or catalog) name, if applicable. + + + 1 + The schema name. This is not used by this provider. + + + 2 + The table name, if applicable. + + + 3 + + Depends on . + When "IndexColumns", it is the index name; otherwise, it is the column name. + + + + 4 + + Depends on . + When "IndexColumns", it is the column name; otherwise, it is not used. + + + + + A DataTable of the specified collection + + + + Builds a MetaDataCollections schema datatable + + DataTable + + + + Builds a DataSourceInformation datatable + + DataTable + + + + Build a Columns schema + + The catalog (attached database) to query, can be null + The table to retrieve schema information for, can be null + The column to retrieve schema information for, can be null + DataTable + + + + Returns index information for the given database and catalog + + The catalog (attached database) to query, can be null + The name of the index to retrieve information for, can be null + The table to retrieve index information for, can be null + DataTable + + + + Retrieves table schema information for the database and catalog + + The catalog (attached database) to retrieve tables on + The table to retrieve, can be null + The table type, can be null + DataTable + + + + Retrieves view schema information for the database + + The catalog (attached database) to retrieve views on + The view name, can be null + DataTable + + + + Retrieves catalog (attached databases) schema information for the database + + The catalog to retrieve, can be null + DataTable + + + + Returns the base column information for indexes in a database + + The catalog to retrieve indexes for (can be null) + The table to restrict index information by (can be null) + The index to restrict index information by (can be null) + The source column to restrict index information by (can be null) + A DataTable containing the results + + + + Returns detailed column information for a specified view + + The catalog to retrieve columns for (can be null) + The view to restrict column information by (can be null) + The source column to restrict column information by (can be null) + A DataTable containing the results + + + + Retrieves foreign key information from the specified set of filters + + An optional catalog to restrict results on + An optional table to restrict results on + An optional foreign key name to restrict results on + A DataTable with the results of the query + + + + This event is raised periodically during long running queries. Changing + the value of the property will + determine if the operation in progress will continue or be interrupted. + For the entire duration of the event, the associated connection and + statement objects must not be modified, either directly or indirectly, by + the called code. + + + + + This event is raised whenever SQLite encounters an action covered by the + authorizer during query preparation. Changing the value of the + property will determine if + the specific action will be allowed, ignored, or denied. For the entire + duration of the event, the associated connection and statement objects + must not be modified, either directly or indirectly, by the called code. + + + + + This event is raised whenever SQLite makes an update/delete/insert into the database on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is committing a transaction. + Return non-zero to trigger a rollback. + + + + + This event is raised whenever SQLite statement first begins executing on + this connection. It only applies to the given connection. + + + + + This event is raised whenever SQLite is rolling back a transaction. + + + + + Returns the instance. + + + + + The I/O file cache flushing behavior for the connection + + + + + Normal file flushing at critical sections of the code + + + + + Full file flushing after every write operation + + + + + Use the default operating system's file flushing, SQLite does not explicitly flush the file buffers after writing + + + + + Raised each time the number of virtual machine instructions is + approximately equal to the value of the + property. + + The connection performing the operation. + A that contains the + event data. + + + + Raised when authorization is required to perform an action contained + within a SQL query. + + The connection performing the action. + A that contains the + event data. + + + + Raised when a transaction is about to be committed. To roll back a transaction, set the + rollbackTrans boolean value to true. + + The connection committing the transaction + Event arguments on the transaction + + + + Raised when data is inserted, updated and deleted on a given connection + + The connection committing the transaction + The event parameters which triggered the event + + + + Raised when a statement first begins executing on a given connection + + The connection executing the statement + Event arguments of the trace + + + + Raised between each backup step. + + + The source database connection. + + + The source database name. + + + The destination database connection. + + + The destination database name. + + + The number of pages copied with each step. + + + The number of pages remaining to be copied. + + + The total number of pages in the source database. + + + Set to true if the operation needs to be retried due to database + locking issues; otherwise, set to false. + + + True to continue with the backup process or false to halt the backup + process, rolling back any changes that have been made so far. + + + + + The event data associated with progress reporting events. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The return code for the current call into the progress callback. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The progress return code. + + + + + The data associated with a call into the authorizer. + + + + + The user-defined native data associated with this event. Currently, + this will always contain the value of . + + + + + The action code responsible for the current call into the authorizer. + + + + + The first string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The second string argument for the current call into the authorizer. + The exact value will vary based on the action code, see the + enumeration for possible + values. + + + + + The database name for the current call into the authorizer, if + applicable. + + + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + + + The return code for the current call into the authorizer. + + + + + Constructs an instance of this class with default property values. + + + + + Constructs an instance of this class with specific property values. + + + The user-defined native data associated with this event. + + + The authorizer action code. + + + The first authorizer argument. + + + The second authorizer argument. + + + The database name, if applicable. + + + The name of the inner-most trigger or view that is responsible for + the access attempt or a null value if this access attempt is directly + from top-level SQL code. + + + The authorizer return code. + + + + + Whenever an update event is triggered on a connection, this enum will indicate + exactly what type of operation is being performed. + + + + + A row is being deleted from the given database and table + + + + + A row is being inserted into the table. + + + + + A row is being updated in the table. + + + + + Passed during an Update callback, these event arguments detail the type of update operation being performed + on the given connection. + + + + + The name of the database being updated (usually "main" but can be any attached or temporary database) + + + + + The name of the table being updated + + + + + The type of update being performed (insert/update/delete) + + + + + The RowId affected by this update. + + + + + Event arguments raised when a transaction is being committed + + + + + Set to true to abort the transaction and trigger a rollback + + + + + Passed during an Trace callback, these event arguments contain the UTF-8 rendering of the SQL statement text + + + + + SQL statement text as the statement first begins executing + + + + + This interface represents a custom connection pool implementation + usable by System.Data.SQLite. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This default method implementations in this class should not be used by + applications that make use of COM (either directly or indirectly) due + to possible deadlocks that can occur during finalization of some COM + objects. + + + + + Keeps track of connections made on a specified file. The PoolVersion + dictates whether old objects get returned to the pool or discarded + when no longer in use. + + + + + The queue of weak references to the actual database connection + handles. + + + + + This pool version associated with the database connection + handles in this pool queue. + + + + + The maximum size of this pool queue. + + + + + Constructs a connection pool queue using the specified version + and maximum size. Normally, all the database connection + handles in this pool are associated with a single database file + name. + + + The initial pool version for this connection pool queue. + + + The initial maximum size for this connection pool queue. + + + + + This field is used to synchronize access to the private static data + in this class. + + + + + When this field is non-null, it will be used to provide the + implementation of all the connection pool methods; otherwise, + the default method implementations will be used. + + + + + The dictionary of connection pools, based on the normalized file + name of the SQLite database. + + + + + The default version number new pools will get. + + + + + The number of connections successfully opened from any pool. + This value is incremented by the Remove method. + + + + + The number of connections successfully closed from any pool. + This value is incremented by the Add method. + + + + + Counts the number of pool entries matching the specified file name. + + + The file name to match or null to match all files. + + + The pool entry counts for each matching file. + + + The total number of connections successfully opened from any pool. + + + The total number of connections successfully closed from any pool. + + + The total number of pool entries for all matching files. + + + + + Disposes of all pooled connections associated with the specified + database file name. + + + The database file name. + + + + + Disposes of all pooled connections. + + + + + Adds a connection to the pool of those associated with the + specified database file name. + + + The database file name. + + + The database connection handle. + + + The connection pool version at the point the database connection + handle was received from the connection pool. This is also the + connection pool version that the database connection handle was + created under. + + + + + Removes a connection from the pool of those associated with the + specified database file name with the intent of using it to + interact with the database. + + + The database file name. + + + The new maximum size of the connection pool for the specified + database file name. + + + The connection pool version associated with the returned database + connection handle, if any. + + + The database connection handle associated with the specified + database file name or null if it cannot be obtained. + + + + + This method is used to obtain a reference to the custom connection + pool implementation currently in use, if any. + + + The custom connection pool implementation or null if the default + connection pool implementation should be used. + + + + + This method is used to set the reference to the custom connection + pool implementation to use, if any. + + + The custom connection pool implementation to use or null if the + default connection pool implementation should be used. + + + + + We do not have to thread-lock anything in this function, because it + is only called by other functions above which already take the lock. + + + The pool queue to resize. + + + If a function intends to add to the pool, this is true, which + forces the resize to take one more than it needs from the pool. + + + + + SQLite implementation of DbConnectionStringBuilder. + + + + + Properties of this class + + + + + Constructs a new instance of the class + + + Default constructor + + + + + Constructs a new instance of the class using the specified connection string. + + The connection string to parse + + + + Private initializer, which assigns the connection string and resets the builder + + The connection string to assign + + + + Gets/Sets the default version of the SQLite engine to instantiate. Currently the only valid value is 3, indicating version 3 of the sqlite library. + + + + + Gets/Sets the synchronization mode (file flushing) of the connection string. Default is "Normal". + + + + + Gets/Sets the encoding for the connection string. The default is "False" which indicates UTF-8 encoding. + + + + + Gets/Sets whether or not to use connection pooling. The default is "False" + + + + + Gets/Sets whethor not to store GUID's in binary format. The default is True + which saves space in the database. + + + + + Gets/Sets the filename to open on the connection string. + + + + + An alternate to the data source property + + + + + An alternate to the data source property that uses the SQLite URI syntax. + + + + + Gets/sets the default command timeout for newly-created commands. This is especially useful for + commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible. + + + + + Gets/sets the busy timeout to use with the SQLite core library. + + + + + EXPERIMENTAL -- + The wait timeout to use with + method. + This is only used when waiting for the enlistment to be reset + prior to enlisting in a transaction, and then only when the + appropriate connection flag is set. + + + + + Gets/sets the maximum number of retries when preparing SQL to be executed. + This normally only applies to preparation errors resulting from the database + schema being changed. + + + + + Gets/sets the approximate number of virtual machine instructions between + progress events. In order for progress events to actually fire, the event + handler must be added to the event + as well. + + + + + Determines whether or not the connection will automatically participate + in the current distributed transaction (if one exists) + + + + + If set to true, will throw an exception if the database specified in the connection + string does not exist. If false, the database will be created automatically. + + + + + If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger + database sizes. + + + + + When enabled, the database will be opened for read-only access and writing will be disabled. + + + + + Gets/sets the database encryption password + + + + + Gets/sets the database encryption hexadecimal password + + + + + Gets/sets the database encryption textual password + + + + + Gets/Sets the page size for the connection. + + + + + Gets/Sets the maximum number of pages the database may hold + + + + + Gets/Sets the cache size for the connection. + + + + + Gets/Sets the DateTime format for the connection. + + + + + Gets/Sets the DateTime kind for the connection. + + + + + Gets/sets the DateTime format string used for formatting + and parsing purposes. + + + + + Gets/Sets the placeholder base schema name used for + .NET Framework compatibility purposes. + + + + + Determines how SQLite handles the transaction journal file. + + + + + Sets the default isolation level for transactions on the connection. + + + + + Gets/sets the default database type for the connection. + + + + + Gets/sets the default type name for the connection. + + + + + Gets/sets the VFS name for the connection. + + + + + If enabled, use foreign key constraints + + + + + Enable or disable the recursive trigger capability. + + + + + If non-null, this is the version of ZipVFS to use. This requires the + System.Data.SQLite interop assembly -AND- primary managed assembly to + be compiled with the INTEROP_INCLUDE_ZIPVFS option; otherwise, this + property does nothing. + + + + + Gets/Sets the extra behavioral flags. + + + + + If enabled, apply the default connection settings to opened databases. + + + + + If enabled, attempt to resolve the provided data source file name to a + full path before opening. + + + + + If enabled, skip using the configured default connection flags. + + + + + If enabled, skip using the configured shared connection flags. + + + + + Helper function for retrieving values from the connectionstring + + The keyword to retrieve settings for + The resulting parameter value + Returns true if the value was found and returned + + + + Fallback method for MONO, which doesn't implement DbConnectionStringBuilder.GetProperties() + + The hashtable to fill with property descriptors + + + + This base class provides datatype conversion services for the SQLite provider. + + + + + This character is used to escape other characters, including itself, in + connection string property names and values. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + This character can be used to wrap connection string property names and + values. Normally, it is optional; however, when used, it must be the + first -AND- last character of that connection string property name -OR- + value. + + + + + The character is used to separate the name and value for a connection + string property. This character cannot be present in any connection + string property name. This character can be present in a connection + string property value; however, this should be avoided unless deemed + absolutely necessary. + + + + + This character is used to separate connection string properties. When + the "No_SQLiteConnectionNewParser" setting is enabled, this character + may not appear in connection string property names -OR- values. + + + + + These are the characters that are special to the connection string + parser. + + + + + The fallback default database type when one cannot be obtained from an + existing connection instance. + + + + + The fallback default database type name when one cannot be obtained from + an existing connection instance. + + + + + The value for the Unix epoch (e.g. January 1, 1970 at midnight, in UTC). + + + + + The value of the OLE Automation epoch represented as a Julian day. This + field cannot be removed as the test suite relies upon it. + + + + + The format string for DateTime values when using the InvariantCulture or CurrentCulture formats. + + + + + This is the minimum Julian Day value supported by this library + (148731163200000). + + + + + This is the maximum Julian Day value supported by this library + (464269060799000). + + + + + An array of ISO-8601 DateTime formats that we support parsing. + + + + + The internal default format for UTC DateTime values when converting + to a string. + + + + + The internal default format for local DateTime values when converting + to a string. + + + + + An UTF-8 Encoding instance, so we can convert strings to and from UTF-8 + + + + + The default DateTime format for this instance. + + + + + The default DateTimeKind for this instance. + + + + + The default DateTime format string for this instance. + + + + + Initializes the conversion class + + The default date/time format to use for this instance + The DateTimeKind to use. + The DateTime format string to use. + + + + Converts a string to a UTF-8 encoded byte array sized to include a null-terminating character. + + The string to convert to UTF-8 + A byte array containing the converted string plus an extra 0 terminating byte at the end of the array. + + + + Convert a DateTime to a UTF-8 encoded, zero-terminated byte array. + + + This function is a convenience function, which first calls ToString() on the DateTime, and then calls ToUTF8() with the + string result. + + The DateTime to convert. + The UTF-8 encoded string, including a 0 terminating byte at the end of the array. + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Converts a UTF-8 encoded IntPtr of the specified length into a .NET string + + The pointer to the memory where the UTF-8 string is encoded + The number of bytes to decode + A string containing the translated character(s) + + + + Checks if the specified is within the + supported range for a Julian Day value. + + + The Julian Day value to check. + + + Non-zero if the specified Julian Day value is in the supported + range; otherwise, zero. + + + + + Converts a Julian Day value from a to an + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value from an to a + . + + + The Julian Day value to convert. + + + The resulting Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeYMD" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day is out of the supported range. If this value is null, + an exception will be thrown instead. + + + A value that contains the year, month, and + day values that are closest to the specified Julian Day value. + + + + + Converts a Julian Day value to a . + This method was translated from the "computeHMS" function in the + "date.c" file belonging to the SQLite core library. + + + The Julian Day value to convert. + + + The value to return in the event that the + Julian Day value is out of the supported range. If this value is + null, an exception will be thrown instead. + + + A value that contains the hour, minute, and + second, and millisecond values that are closest to the specified + Julian Day value. + + + + + Converts a to a Julian Day value. + This method was translated from the "computeJD" function in + the "date.c" file belonging to the SQLite core library. + Since the range of Julian Day values supported by this method + includes all possible (valid) values of a + value, it should be extremely difficult for this method to + raise an exception or return an undefined result. + + + The value to convert. This value + will be within the range of + (00:00:00.0000000, January 1, 0001) to + (23:59:59.9999999, December + 31, 9999). + + + The nearest Julian Day value corresponding to the specified + value. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + A DateTime value + + + + Converts a string into a DateTime, using the specified DateTimeFormat, + DateTimeKind and DateTimeFormatString. + + + Acceptable ISO8601 DateTime formats are: + + THHmmssK + THHmmK + HH:mm:ss.FFFFFFFK + HH:mm:ssK + HH:mmK + yyyy-MM-dd HH:mm:ss.FFFFFFFK + yyyy-MM-dd HH:mm:ssK + yyyy-MM-dd HH:mmK + yyyy-MM-ddTHH:mm:ss.FFFFFFFK + yyyy-MM-ddTHH:mmK + yyyy-MM-ddTHH:mm:ssK + yyyyMMddHHmmssK + yyyyMMddHHmmK + yyyyMMddTHHmmssFFFFFFFK + THHmmss + THHmm + HH:mm:ss.FFFFFFF + HH:mm:ss + HH:mm + yyyy-MM-dd HH:mm:ss.FFFFFFF + yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm + yyyy-MM-ddTHH:mm:ss.FFFFFFF + yyyy-MM-ddTHH:mm + yyyy-MM-ddTHH:mm:ss + yyyyMMddHHmmss + yyyyMMddHHmm + yyyyMMddTHHmmssFFFFFFF + yyyy-MM-dd + yyyyMMdd + yy-MM-dd + + If the string cannot be matched to one of the above formats -OR- + the DateTimeFormatString if one was provided, an exception will + be thrown. + + The string containing either a long integer number of 100-nanosecond units since + System.DateTime.MinValue, a Julian day double, an integer number of seconds since the Unix epoch, a + culture-independent formatted date and time string, a formatted date and time string in the current + culture, or an ISO8601-format string. + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + A DateTime value + + + + Converts a julianday value into a DateTime + + The value to convert + A .NET DateTime + + + + Converts a julianday value into a DateTime + + The value to convert + The DateTimeKind to use. + A .NET DateTime + + + + Converts the specified number of seconds from the Unix epoch into a + value. + + + The number of whole seconds since the Unix epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts the specified number of ticks since the epoch into a + value. + + + The number of whole ticks since the epoch. + + + Either Utc or Local time. + + + The new value. + + + + + Converts a DateTime struct to a JulianDay double + + The DateTime to convert + The JulianDay value the Datetime represents + + + + Converts a DateTime struct to the whole number of seconds since the + Unix epoch. + + The DateTime to convert + The whole number of seconds since the Unix epoch + + + + Returns the DateTime format string to use for the specified DateTimeKind. + If is not null, it will be returned verbatim. + + The DateTimeKind to use. + The DateTime format string to use. + + The DateTime format string to use for the specified DateTimeKind. + + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Converts a string into a DateTime, using the DateTimeFormat, DateTimeKind, + and DateTimeFormatString specified for the connection when it was opened. + + The DateTime value to convert + The SQLiteDateFormats to use. + The DateTimeKind to use. + The DateTime format string to use. + Either a string containing the long integer number of 100-nanosecond units since System.DateTime.MinValue, a + Julian day double, an integer number of seconds since the Unix epoch, a culture-independent formatted date and time + string, a formatted date and time string in the current culture, or an ISO8601-format date/time string. + + + + Internal function to convert a UTF-8 encoded IntPtr of the specified length to a DateTime. + + + This is a convenience function, which first calls ToString() on the IntPtr to convert it to a string, then calls + ToDateTime() on the string to return a DateTime. + + A pointer to the UTF-8 encoded string + The length in bytes of the string + The parsed DateTime value + + + + Smart method of splitting a string. Skips quoted elements, removes the quotes. + + + This split function works somewhat like the String.Split() function in that it breaks apart a string into + pieces and returns the pieces as an array. The primary differences are: + + Only one character can be provided as a separator character + Quoted text inside the string is skipped over when searching for the separator, and the quotes are removed. + + Thus, if splitting the following string looking for a comma:
+ One,Two, "Three, Four", Five
+
+ The resulting array would contain
+ [0] One
+ [1] Two
+ [2] Three, Four
+ [3] Five
+
+ Note that the leading and trailing spaces were removed from each item during the split. +
+ Source string to split apart + Separator character + A string array of the split up elements +
+ + + Splits the specified string into multiple strings based on a separator + and returns the result as an array of strings. + + + The string to split into pieces based on the separator character. If + this string is null, null will always be returned. If this string is + empty, an array of zero strings will always be returned. + + + The character used to divide the original string into sub-strings. + This character cannot be a backslash or a double-quote; otherwise, no + work will be performed and null will be returned. + + + If this parameter is non-zero, all double-quote characters will be + retained in the returned list of strings; otherwise, they will be + dropped. + + + Upon failure, this parameter will be modified to contain an appropriate + error message. + + + The new array of strings or null if the input string is null -OR- the + separator character is a backslash or a double-quote -OR- the string + contains an unbalanced backslash or double-quote character. + + + + + Queries and returns the string representation for an object, using the + specified (or current) format provider. + + + The object instance to return the string representation for. + + + The format provider to use -OR- null if the current format provider for + the thread should be used instead. + + + The string representation for the object instance -OR- null if the + object instance is also null. + + + + + Attempts to convert an arbitrary object to the Boolean data type. + Null object values are converted to false. Throws an exception + upon failure. + + + The object value to convert. + + + The format provider to use. + + + If non-zero, a string value will be converted using the + + method; otherwise, the + method will be used. + + + The converted boolean value. + + + + + Convert a value to true or false. + + A string or number representing true or false + + + + + Converts an integer to a string that can be round-tripped using the + invariant culture. + + + The integer value to return the string representation for. + + + The string representation of the specified integer value, using the + invariant culture. + + + + + Attempts to convert a into a . + + + The to convert, cannot be null. + + + The converted value. + + + The supported strings are "yes", "no", "y", "n", "on", "off", "0", "1", + as well as any prefix of the strings + and . All strings are treated in a + case-insensitive manner. + + + + + Converts a SQLiteType to a .NET Type object + + The SQLiteType to convert + Returns a .NET Type object + + + + For a given intrinsic type, return a DbType + + The native type to convert + The corresponding (closest match) DbType + + + + Returns the ColumnSize for the given DbType + + The DbType to get the size of + + + + + Determines the default database type name to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default database type name to use. + + + + + If applicable, issues a trace log message warning about falling back to + the default database type name. + + + The database value type. + + + The flags associated with the parent connection object. + + + The textual name of the database type. + + + + + If applicable, issues a trace log message warning about falling back to + the default database value type. + + + The textual name of the database type. + + + The flags associated with the parent connection object. + + + The database value type. + + + + + For a given database value type, return the "closest-match" textual database type name. + + The connection context for custom type mappings, if any. + The database value type. + The flags associated with the parent connection object. + The type name or an empty string if it cannot be determined. + + + + Convert a DbType to a Type + + The DbType to convert from + The closest-match .NET type + + + + For a given type, return the closest-match SQLite TypeAffinity, which only understands a very limited subset of types. + + The type to evaluate + The flags associated with the connection. + The SQLite type affinity for that type. + + + + Builds and returns a map containing the database column types + recognized by this provider. + + + A map containing the database column types recognized by this + provider. + + + + + Determines if a database type is considered to be a string. + + + The database type to check. + + + Non-zero if the database type is considered to be a string, zero + otherwise. + + + + + Determines and returns the runtime configuration setting string that + should be used in place of the specified object value. + + + The object value to convert to a string. + + + Either the string to use in place of the object value -OR- null if it + cannot be determined. + + + + + Determines the default value to be used when a + per-connection value is not available. + + + The connection context for type mappings, if any. + + + The default value to use. + + + + + Converts the object value, which is assumed to have originated + from a , to a string value. + + + The value to be converted to a string. + + + A null value will be returned if the original value is null -OR- + the original value is . Otherwise, + the original value will be converted to a string, using its + (possibly overridden) method and + then returned. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be an + value. + + + The textual value to inspect. + + + Non-zero if the text looks like an value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The textual value to inspect. + + + Non-zero if the text looks like a value, + zero otherwise. + + + + + Determines if the specified textual value appears to be a + value. + + + The object instance configured with + the chosen format. + + + The textual value to inspect. + + + Non-zero if the text looks like a in the + configured format, zero otherwise. + + + + + For a given textual database type name, return the "closest-match" database type. + This method is called during query result processing; therefore, its performance + is critical. + + The connection context for custom type mappings, if any. + The textual name of the database type to match. + The flags associated with the parent connection object. + The .NET DBType the text evaluates to. + + + + SQLite has very limited types, and is inherently text-based. The first 5 types below represent the sum of all types SQLite + understands. The DateTime extension to the spec is for internal use only. + + + + + Not used + + + + + All integers in SQLite default to Int64 + + + + + All floating point numbers in SQLite default to double + + + + + The default data type of SQLite is text + + + + + Typically blob types are only seen when returned from a function + + + + + Null types can be returned from functions + + + + + Used internally by this provider + + + + + Used internally by this provider + + + + + These are the event types associated with the + + delegate (and its corresponding event) and the + class. + + + + + Not used. + + + + + Not used. + + + + + The connection is being opened. + + + + + The connection string has been parsed. + + + + + The connection was opened. + + + + + The method was called on the + connection. + + + + + A transaction was created using the connection. + + + + + The connection was enlisted into a transaction. + + + + + A command was created using the connection. + + + + + A data reader was created using the connection. + + + + + An instance of a derived class has + been created to wrap a native resource. + + + + + The connection is being closed. + + + + + The connection was closed. + + + + + A command is being disposed. + + + + + A data reader is being disposed. + + + + + A data reader is being closed. + + + + + A native resource was opened (i.e. obtained) from the pool. + + + + + A native resource was closed (i.e. released) to the pool. + + + + + This implementation of SQLite for ADO.NET can process date/time fields in + databases in one of six formats. + + + ISO8601 format is more compatible, readable, fully-processable, but less + accurate as it does not provide time down to fractions of a second. + JulianDay is the numeric format the SQLite uses internally and is arguably + the most compatible with 3rd party tools. It is not readable as text + without post-processing. Ticks less compatible with 3rd party tools that + query the database, and renders the DateTime field unreadable as text + without post-processing. UnixEpoch is more compatible with Unix systems. + InvariantCulture allows the configured format for the invariant culture + format to be used and is human readable. CurrentCulture allows the + configured format for the current culture to be used and is also human + readable. + + The preferred order of choosing a DateTime format is JulianDay, ISO8601, + and then Ticks. Ticks is mainly present for legacy code support. + + + + + Use the value of DateTime.Ticks. This value is not recommended and is not well supported with LINQ. + + + + + Use the ISO-8601 format. Uses the "yyyy-MM-dd HH:mm:ss.FFFFFFFK" format for UTC DateTime values and + "yyyy-MM-dd HH:mm:ss.FFFFFFF" format for local DateTime values). + + + + + The interval of time in days and fractions of a day since January 1, 4713 BC. + + + + + The whole number of seconds since the Unix epoch (January 1, 1970). + + + + + Any culture-independent string value that the .NET Framework can interpret as a valid DateTime. + + + + + Any string value that the .NET Framework can interpret as a valid DateTime using the current culture. + + + + + The default format for this provider. + + + + + This enum determines how SQLite treats its journal file. + + + By default SQLite will create and delete the journal file when needed during a transaction. + However, for some computers running certain filesystem monitoring tools, the rapid + creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite. + + If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file" + when starting a transaction. If this is happening, you may want to change the default journal mode to Persist. + + + + + The default mode, this causes SQLite to use the existing journaling mode for the database. + + + + + SQLite will create and destroy the journal file as-needed. + + + + + When this is set, SQLite will keep the journal file even after a transaction has completed. It's contents will be erased, + and the journal re-used as often as needed. If it is deleted, it will be recreated the next time it is needed. + + + + + This option disables the rollback journal entirely. Interrupted transactions or a program crash can cause database + corruption in this mode! + + + + + SQLite will truncate the journal file to zero-length instead of deleting it. + + + + + SQLite will store the journal in volatile RAM. This saves disk I/O but at the expense of database safety and integrity. + If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the + database file will very likely go corrupt. + + + + + SQLite uses a write-ahead log instead of a rollback journal to implement transactions. The WAL journaling mode is persistent; + after being set it stays in effect across multiple database connections and after closing and reopening the database. A database + in WAL journaling mode can only be accessed by SQLite version 3.7.0 or later. + + + + + Possible values for the "synchronous" database setting. This setting determines + how often the database engine calls the xSync method of the VFS. + + + + + Use the default "synchronous" database setting. Currently, this should be + the same as using the FULL mode. + + + + + The database engine continues without syncing as soon as it has handed + data off to the operating system. If the application running SQLite + crashes, the data will be safe, but the database might become corrupted + if the operating system crashes or the computer loses power before that + data has been written to the disk surface. + + + + + The database engine will still sync at the most critical moments, but + less often than in FULL mode. There is a very small (though non-zero) + chance that a power failure at just the wrong time could corrupt the + database in NORMAL mode. + + + + + The database engine will use the xSync method of the VFS to ensure that + all content is safely written to the disk surface prior to continuing. + This ensures that an operating system crash or power failure will not + corrupt the database. FULL synchronous is very safe, but it is also + slower. + + + + + The requested command execution type. This controls which method of the + object will be called. + + + + + Do nothing. No method will be called. + + + + + The command is not expected to return a result -OR- the result is not + needed. The or + method + will be called. + + + + + The command is expected to return a scalar result -OR- the result should + be limited to a scalar result. The + or method will + be called. + + + + + The command is expected to return result. + The or + method will + be called. + + + + + Use the default command execution type. Using this value is the same + as using the value. + + + + + The action code responsible for the current call into the authorizer. + + + + + No action is being performed. This value should not be used from + external code. + + + + + No longer used. + + + + + An index will be created. The action-specific arguments are the + index name and the table name. + + + + + + A table will be created. The action-specific arguments are the + table name and a null value. + + + + + A temporary index will be created. The action-specific arguments + are the index name and the table name. + + + + + A temporary table will be created. The action-specific arguments + are the table name and a null value. + + + + + A temporary trigger will be created. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be created. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be created. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be created. The action-specific arguments are the view + name and a null value. + + + + + A DELETE statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + An index will be dropped. The action-specific arguments are the + index name and the table name. + + + + + A table will be dropped. The action-specific arguments are the tables + name and a null value. + + + + + A temporary index will be dropped. The action-specific arguments are + the index name and the table name. + + + + + A temporary table will be dropped. The action-specific arguments are + the table name and a null value. + + + + + A temporary trigger will be dropped. The action-specific arguments + are the trigger name and the table name. + + + + + A temporary view will be dropped. The action-specific arguments are + the view name and a null value. + + + + + A trigger will be dropped. The action-specific arguments are the + trigger name and the table name. + + + + + A view will be dropped. The action-specific arguments are the view + name and a null value. + + + + + An INSERT statement will be executed. The action-specific arguments + are the table name and a null value. + + + + + A PRAGMA statement will be executed. The action-specific arguments + are the name of the PRAGMA and the new value or a null value. + + + + + A table column will be read. The action-specific arguments are the + table name and the column name. + + + + + A SELECT statement will be executed. The action-specific arguments + are both null values. + + + + + A transaction will be started, committed, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + COMMIT, or ROLLBACK) and a null value. + + + + + An UPDATE statement will be executed. The action-specific arguments + are the table name and the column name. + + + + + A database will be attached to the connection. The action-specific + arguments are the database file name and a null value. + + + + + A database will be detached from the connection. The action-specific + arguments are the database name and a null value. + + + + + The schema of a table will be altered. The action-specific arguments + are the database name and the table name. + + + + + An index will be deleted and then recreated. The action-specific + arguments are the index name and a null value. + + + + + A table will be analyzed to gathers statistics about it. The + action-specific arguments are the table name and a null value. + + + + + A virtual table will be created. The action-specific arguments are + the table name and the module name. + + + + + A virtual table will be dropped. The action-specific arguments are + the table name and the module name. + + + + + A SQL function will be called. The action-specific arguments are a + null value and the function name. + + + + + A savepoint will be created, released, or rolled back. The + action-specific arguments are the name of the operation (BEGIN, + RELEASE, or ROLLBACK) and the savepoint name. + + + + + A recursive query will be executed. The action-specific arguments + are two null values. + + + + + The possible return codes for the progress callback. + + + + + The operation should continue. + + + + + The operation should be interrupted. + + + + + The return code for the current call into the authorizer. + + + + + The action will be allowed. + + + + + The overall action will be disallowed and an error message will be + returned from the query preparation method. + + + + + The specific action will be disallowed; however, the overall action + will continue. The exact effects of this return code vary depending + on the specific action, please refer to the SQLite core library + documentation for futher details. + + + + + Class used internally to determine the datatype of a column in a resultset + + + + + The DbType of the column, or DbType.Object if it cannot be determined + + + + + The affinity of a column, used for expressions or when Type is DbType.Object + + + + + Constructs a default instance of this type. + + + + + Constructs an instance of this type with the specified field values. + + + The type affinity to use for the new instance. + + + The database type to use for the new instance. + + + + + SQLite implementation of DbDataAdapter. + + + + + This class is just a shell around the DbDataAdapter. Nothing from + DbDataAdapter is overridden here, just a few constructors are defined. + + + Default constructor. + + + + + Constructs a data adapter using the specified select command. + + + The select command to associate with the adapter. + + + + + Constructs a data adapter with the supplied select command text and + associated with the specified connection. + + + The select command text to associate with the data adapter. + + + The connection to associate with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + + + Constructs a data adapter with the specified select command text, + and using the specified database connection string. + + + The select command text to use to construct a select command. + + + A connection string suitable for passing to a new SQLiteConnection, + which is associated with the select command. + + + Non-zero to parse the connection string using the built-in (i.e. + framework provided) parser when opening the connection. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + Row updating event handler + + + + + Row updated event handler + + + + + Raised by the underlying DbDataAdapter when a row is being updated + + The event's specifics + + + + Raised by DbDataAdapter after a row is updated + + The event's specifics + + + + Gets/sets the select command for this DataAdapter + + + + + Gets/sets the insert command for this DataAdapter + + + + + Gets/sets the update command for this DataAdapter + + + + + Gets/sets the delete command for this DataAdapter + + + + + SQLite implementation of DbDataReader. + + + + + Underlying command this reader is attached to + + + + + The flags pertaining to the associated connection (via the command). + + + + + Index of the current statement in the command being processed + + + + + Current statement being Read() + + + + + State of the current statement being processed. + -1 = First Step() executed, so the first Read() will be ignored + 0 = Actively reading + 1 = Finished reading + 2 = Non-row-returning statement, no records + + + + + Number of records affected by the insert/update statements executed on the command + + + + + Count of fields (columns) in the row-returning statement currently being processed + + + + + The number of calls to Step() that have returned true (i.e. the number of rows that + have been read in the current result set). + + + + + Maps the field (column) names to their corresponding indexes within the results. + + + + + Datatypes of active fields (columns) in the current statement, used for type-restricting data + + + + + The behavior of the datareader + + + + + If set, then dispose of the command object when the reader is finished + + + + + If set, then raise an exception when the object is accessed after being disposed. + + + + + An array of rowid's for the active statement if CommandBehavior.KeyInfo is specified + + + + + Matches the version of the connection. + + + + + The "stub" (i.e. placeholder) base schema name to use when returning + column schema information. Matches the base schema name used by the + associated connection. + + + + + Internal constructor, initializes the datareader and sets up to begin executing statements + + The SQLiteCommand this data reader is for + The expected behavior of the data reader + + + + Dispose of all resources used by this datareader. + + + + + + Closes the datareader, potentially closing the connection as well if CommandBehavior.CloseConnection was specified. + + + + + Throw an error if the datareader is closed + + + + + Throw an error if a row is not loaded + + + + + Enumerator support + + Returns a DbEnumerator object. + + + + Not implemented. Returns 0 + + + + + Returns the number of columns in the current resultset + + + + + Forces the connection flags cached by this data reader to be refreshed + from the underlying connection. + + + + + Returns the number of rows seen so far in the current result set. + + + + + Returns the number of visible fields in the current resultset + + + + + This method is used to make sure the result set is open and a row is currently available. + + + + + SQLite is inherently un-typed. All datatypes in SQLite are natively strings. The definition of the columns of a table + and the affinity of returned types are all we have to go on to type-restrict data in the reader. + + This function attempts to verify that the type of data being requested of a column matches the datatype of the column. In + the case of columns that are not backed into a table definition, we attempt to match up the affinity of a column (int, double, string or blob) + to a set of known types that closely match that affinity. It's not an exact science, but its the best we can do. + + + This function throws an InvalidTypeCast() exception if the requested type doesn't match the column's definition or affinity. + + The index of the column to type-check + The type we want to get out of the column + + + + Invokes the data reader value callback configured for the database + type name associated with the specified column. If no data reader + value callback is available for the database type name, do nothing. + + + The index of the column being read. + + + The extra event data to pass into the callback. + + + Non-zero if the default handling for the data reader call should be + skipped. If this is set to non-zero and the necessary return value + is unavailable or unsuitable, an exception will be thrown. + + + + + Attempts to query the integer identifier for the current row. This + will not work for tables that were created WITHOUT ROWID -OR- if the + query does not include the "rowid" column or one of its aliases -OR- + if the was not created with the + flag. + + + The index of the BLOB column. + + + The integer identifier for the current row -OR- null if it could not + be determined. + + + + + Retrieves the column as a object. + This will not work for tables that were created WITHOUT ROWID + -OR- if the query does not include the "rowid" column or one + of its aliases -OR- if the was + not created with the + flag. + + The index of the column. + + Non-zero to open the blob object for read-only access. + + A new object. + + + + Retrieves the column as a boolean value + + The index of the column. + bool + + + + Retrieves the column as a single byte value + + The index of the column. + byte + + + + Retrieves a column as an array of bytes (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the bytes into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of bytes written into the array + + To determine the number of bytes in the column, pass a null value for the buffer. The total length will be returned. + + + + + Returns the column as a single character + + The index of the column. + char + + + + Retrieves a column as an array of chars (blob) + + The index of the column. + The zero-based index of where to begin reading the data + The buffer to write the characters into + The zero-based index of where to begin writing into the array + The number of bytes to retrieve + The actual number of characters written into the array + + To determine the number of characters in the column, pass a null value for the buffer. The total length will be returned. + + + + + Retrieves the name of the back-end datatype of the column + + The index of the column. + string + + + + Retrieve the column as a date/time value + + The index of the column. + DateTime + + + + Retrieve the column as a decimal value + + The index of the column. + decimal + + + + Returns the column as a double + + The index of the column. + double + + + + Determines and returns the of the + specified column. + + + The index of the column. + + + The associated with the specified + column, if any. + + + + + Returns the .NET type of a given column + + The index of the column. + Type + + + + Returns a column as a float value + + The index of the column. + float + + + + Returns the column as a Guid + + The index of the column. + Guid + + + + Returns the column as a short + + The index of the column. + Int16 + + + + Retrieves the column as an int + + The index of the column. + Int32 + + + + Retrieves the column as a long + + The index of the column. + Int64 + + + + Retrieves the name of the column + + The index of the column. + string + + + + Returns the name of the database associated with the specified column. + + The index of the column. + string + + + + Returns the name of the table associated with the specified column. + + The index of the column. + string + + + + Returns the original name of the specified column. + + The index of the column. + string + + + + Retrieves the i of a column, given its name + + The name of the column to retrieve + The int i of the column + + + + Schema information in SQLite is difficult to map into .NET conventions, so a lot of work must be done + to gather the necessary information so it can be represented in an ADO.NET manner. + + Returns a DataTable containing the schema information for the active SELECT statement being processed. + + + + Retrieves the column as a string + + The index of the column. + string + + + + Retrieves the column as an object corresponding to the underlying datatype of the column + + The index of the column. + object + + + + Retreives the values of multiple columns, up to the size of the supplied array + + The array to fill with values from the columns in the current resultset + The number of columns retrieved + + + + Returns a collection containing all the column names and values for the + current row of data in the current resultset, if any. If there is no + current row or no current resultset, an exception may be thrown. + + + The collection containing the column name and value information for the + current row of data in the current resultset or null if this information + cannot be obtained. + + + + + Returns True if the resultset has rows that can be fetched + + + + + Returns True if the data reader is closed + + + + + Returns True if the specified column is null + + The index of the column. + True or False + + + + Moves to the next resultset in multiple row-returning SQL command. + + True if the command was successful and a new resultset is available, False otherwise. + + + + This method attempts to query the database connection associated with + the data reader in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Retrieves the SQLiteType for a given column and row value. + + + The original SQLiteType structure, based only on the column. + + + The textual value of the column for a given row. + + + The SQLiteType structure. + + + + + Retrieves the SQLiteType for a given column, and caches it to avoid repetetive interop calls. + + The flags associated with the parent connection object. + The index of the column. + A SQLiteType structure + + + + Reads the next row from the resultset + + True if a new row was successfully loaded and is ready for processing + + + + Returns the number of rows affected by the statement being executed. + The value returned may not be accurate for DDL statements. Also, it + will be -1 for any statement that does not modify the database (e.g. + SELECT). If an otherwise read-only statement modifies the database + indirectly (e.g. via a virtual table or user-defined function), the + value returned is undefined. + + + + + Indexer to retrieve data from a column given its name + + The name of the column to retrieve data for + The value contained in the column + + + + Indexer to retrieve data from a column given its i + + The index of the column. + The value contained in the column + + + + SQLite exception class. + + + + + This value was copied from the "WinError.h" file included with the + Platform SDK for Windows 10. + + + + + Private constructor for use with serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Public constructor for generating a SQLite exception given the error + code and message. + + + The SQLite return code to report. + + + Message text to go along with the return code message text. + + + + + Public constructor that uses the base class constructor for the error + message. + + Error message text. + + + + Public constructor that uses the default base class constructor. + + + + + Public constructor that uses the base class constructor for the error + message and inner exception. + + Error message text. + The original (inner) exception. + + + + Adds extra information to the serialized object data specific to this + class type. This is only used for serialization. + + + Holds the serialized object data about the exception being thrown. + + + Contains contextual information about the source or destination. + + + + + Gets the associated SQLite result code for this exception as a + . This property returns the same + underlying value as the property. + + + + + Gets the associated SQLite return code for this exception as an + . For desktop versions of the .NET Framework, + this property overrides the property of the same name within the + + class. This property returns the same underlying value as the + property. + + + + + This method performs extra initialization tasks. It may be called by + any of the constructors of this class. It must not throw exceptions. + + + + + Maps a Win32 error code to an HRESULT. + + + The specified Win32 error code. It must be within the range of zero + (0) to 0xFFFF (65535). + + + Non-zero if the HRESULT should indicate success; otherwise, zero. + + + The integer value of the HRESULT. + + + + + Attempts to map the specified onto an + existing HRESULT -OR- a Win32 error code wrapped in an HRESULT. The + mappings may not have perfectly matching semantics; however, they do + have the benefit of being unique within the context of this exception + type. + + + The to map. + + + The integer HRESULT value -OR- null if there is no known mapping. + + + + + Returns the error message for the specified SQLite return code. + + The SQLite return code. + The error message or null if it cannot be found. + + + + Returns the composite error message based on the SQLite return code + and the optional detailed error message. + + The SQLite return code. + Optional detailed error message. + Error message text for the return code. + + + + SQLite error codes. Actually, this enumeration represents a return code, + which may also indicate success in one of several ways (e.g. SQLITE_OK, + SQLITE_ROW, and SQLITE_DONE). Therefore, the name of this enumeration is + something of a misnomer. + + + + + The error code is unknown. This error code + is only used by the managed wrapper itself. + + + + + Successful result + + + + + SQL error or missing database + + + + + Internal logic error in SQLite + + + + + Access permission denied + + + + + Callback routine requested an abort + + + + + The database file is locked + + + + + A table in the database is locked + + + + + A malloc() failed + + + + + Attempt to write a readonly database + + + + + Operation terminated by sqlite3_interrupt() + + + + + Some kind of disk I/O error occurred + + + + + The database disk image is malformed + + + + + Unknown opcode in sqlite3_file_control() + + + + + Insertion failed because database is full + + + + + Unable to open the database file + + + + + Database lock protocol error + + + + + Database is empty + + + + + The database schema changed + + + + + String or BLOB exceeds size limit + + + + + Abort due to constraint violation + + + + + Data type mismatch + + + + + Library used incorrectly + + + + + Uses OS features not supported on host + + + + + Authorization denied + + + + + Auxiliary database format error + + + + + 2nd parameter to sqlite3_bind out of range + + + + + File opened that is not a database file + + + + + Notifications from sqlite3_log() + + + + + Warnings from sqlite3_log() + + + + + sqlite3_step() has another row ready + + + + + sqlite3_step() has finished executing + + + + + Used to mask off extended result codes + + + + + A collation sequence was referenced by a schema and it cannot be + found. + + + + + An internal operation failed and it may succeed if retried. + + + + + The specified snapshot has been overwritten by a checkpoint. + + + + + A file read operation failed. + + + + + A file read operation returned less data than requested. + + + + + A file write operation failed. + + + + + A file synchronization operation failed. + + + + + A directory synchronization operation failed. + + + + + A file truncate operation failed. + + + + + A file metadata operation failed. + + + + + A file unlock operation failed. + + + + + A file lock operation failed. + + + + + A file delete operation failed. + + + + + Not currently used. + + + + + Out-of-memory during a file operation. + + + + + A file existence/status operation failed. + + + + + A check for a reserved lock failed. + + + + + A file lock operation failed. + + + + + A file close operation failed. + + + + + A directory close operation failed. + + + + + A shared memory open operation failed. + + + + + A shared memory size operation failed. + + + + + A shared memory lock operation failed. + + + + + A shared memory map operation failed. + + + + + A file seek operation failed. + + + + + A file delete operation failed because it does not exist. + + + + + A file memory mapping operation failed. + + + + + The temporary directory path could not be obtained. + + + + + A path string conversion operation failed. + + + + + Reserved. + + + + + An attempt to authenticate failed. + + + + + An attempt to begin a file system transaction failed. + + + + + An attempt to commit a file system transaction failed. + + + + + An attempt to rollback a file system transaction failed. + + + + + Data read from the file system appears to be incorrect. + + + + + File system corruption was detected during a read or write. + + + + + A database table is locked in shared-cache mode. + + + + + A virtual table in the database is locked. + + + + + A database file is locked due to a recovery operation. + + + + + A database file is locked due to snapshot semantics. + + + + + An internal timeout was encountered while waiting for a database lock. + + + + + A database file cannot be opened because no temporary directory is available. + + + + + A database file cannot be opened because its path represents a directory. + + + + + A database file cannot be opened because its full path could not be obtained. + + + + + A database file cannot be opened because a path string conversion operation failed. + + + + + No longer used. + + + + + A database file is a symbolic link and cannot be opened. + + + + + A database file already exists and cannot be created. + + + + + A virtual table is malformed. + + + + + A required sequence table is missing or corrupt. + + + + + An index entry that should be present is missing. + + + + + A database file is read-only due to a recovery operation. + + + + + A database file is read-only because a lock could not be obtained. + + + + + A database file is read-only because it needs rollback processing. + + + + + A database file is read-only because it was moved while open. + + + + + The shared-memory file is read-only and it should be read-write. + + + + + Unable to create journal file because the directory is read-only. + + + + + An operation is being aborted due to rollback processing. + + + + + A CHECK constraint failed. + + + + + A commit hook produced a unsuccessful return code. + + + + + A FOREIGN KEY constraint failed. + + + + + Not currently used. + + + + + A NOT NULL constraint failed. + + + + + A PRIMARY KEY constraint failed. + + + + + The RAISE function was used by a trigger-program. + + + + + A UNIQUE constraint failed. + + + + + Not currently used. + + + + + A ROWID constraint failed. + + + + + A database cursor is busy and cannot be moved. + + + + + Value does not conform to specified data type. + + + + + Method called without an appropriate license. + + + + + Frames were recovered from the WAL log file. + + + + + Pages were recovered from the journal file. + + + + + An automatic index was created to process a query. + + + + + User authentication failed. + + + + + Success. Prevents the extension from unloading until the process + terminates. + + + + + Success. The specified file name refers to a symbolic link. + + + + + SQLite implementation of . + + + SQLite implementation of . + + + + + Constructs a new instance. + + + + + Cleans up resources (native and managed) associated with the current instance. + + + + + Cleans up resources associated with the current instance. + + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. This event is provided for backward compatibility only. + New code should use the class instead. + + + + + Static instance member which returns an instanced class. + + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + Creates and returns a new object. + + The new object. + + + + This method is called to perform preliminary static initialization + necessary for this class. + + + + + This method is called to perform some of the static initialization + necessary for this class. + + + + + Will provide a object in .NET 3.5. + + The class or interface type to query for. + + + + + This abstract class is designed to handle user-defined functions easily. An instance of the derived class is made for each + connection to the database. + + + Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access + to the underlying connection. This is necessary to deter implementers from thinking it would be a good idea to make database + calls during processing. + + It is important to distinguish between a per-connection instance, and a per-SQL statement context. One instance of this class + services all SQL statements being stepped through on that connection, and there can be many. One should never store per-statement + information in member variables of user-defined function classes. + + For aggregate functions, always create and store your per-statement data in the contextData object on the 1st step. This data will + be automatically freed for you (and Dispose() called if the item supports IDisposable) when the statement completes. + + + + + The base connection this function is attached to + + + + + Internal array used to keep track of aggregate function context data + + + + + The connection flags associated with this object (this should be the + same value as the flags associated with the parent connection object). + + + + + Holds a reference to the callback function for user functions + + + + + Holds a reference to the callbakc function for stepping in an aggregate function + + + + + Holds a reference to the callback function for finalizing an aggregate function + + + + + Holds a reference to the callback function for collating sequences + + + + + Current context of the current callback. Only valid during a callback + + + + + This static dictionary contains all the registered (known) user-defined + functions declared using the proper attributes. The contained dictionary + values are always null and are not currently used. + + + + + Internal constructor, initializes the function's internal variables. + + + + + Constructs an instance of this class using the specified data-type + conversion parameters. + + + The DateTime format to be used when converting string values to a + DateTime and binding DateTime parameters. + + + The to be used when creating DateTime + values. + + + The format string to be used when parsing and formatting DateTime + values. + + + Non-zero to create a UTF-16 data-type conversion context; otherwise, + a UTF-8 data-type conversion context will be created. + + + + + Disposes of any active contextData variables that were not automatically cleaned up. Sometimes this can happen if + someone closes the connection while a DataReader is open. + + + + + Placeholder for a user-defined disposal routine + + True if the object is being disposed explicitly + + + + Cleans up resources associated with the current instance. + + + + + Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert + strings and DateTime's into the current connection's encoding schema. + + + + + Scalar functions override this method to do their magic. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The arguments for the command to process + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + Aggregate functions override this method to do their magic. + + + Typically you'll be updating whatever you've placed in the contextData field and returning as quickly as possible. + + The arguments for the command to process + The 1-based step number. This is incrememted each time the step method is called. + A placeholder for implementers to store contextual data pertaining to the current context. + + + + Aggregate functions override this method to finish their aggregate processing. + + + If you implemented your aggregate function properly, + you've been recording and keeping track of your data in the contextData object provided, and now at this stage you should have + all the information you need in there to figure out what to return. + NOTE: It is possible to arrive here without receiving a previous call to Step(), in which case the contextData will + be null. This can happen when no rows were returned. You can either return null, or 0 or some other custom return value + if that is the case. + + Your own assigned contextData, provided for you so you can return your final results. + You may return most simple types as a return value, null or DBNull.Value to return null, DateTime, or + you may return an Exception-derived class if you wish to return an error to SQLite. Do not actually throw the error, + just return it! + + + + + User-defined collating sequences override this method to provide a custom string sorting algorithm. + + The first string to compare. + The second strnig to compare. + 1 if param1 is greater than param2, 0 if they are equal, or -1 if param1 is less than param2. + + + + Converts an IntPtr array of context arguments to an object array containing the resolved parameters the pointers point to. + + + Parameters passed to functions have only an affinity for a certain data type, there is no underlying schema available + to force them into a certain type. Therefore the only types you will ever see as parameters are + DBNull.Value, Int64, Double, String or byte[] array. + + The number of arguments + A pointer to the array of arguments + An object array of the arguments once they've been converted to .NET values + + + + Takes the return value from Invoke() and Final() and figures out how to return it to SQLite's context. + + The context the return value applies to + The parameter to return to SQLite + + + + Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method. + WARNING: Must not throw exceptions. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + Internal collating sequence function, which wraps up the raw string pointers and executes the Compare() virtual function. + WARNING: Must not throw exceptions. + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. Returns 0 if an exception is caught. + + + + The internal aggregate Step function callback, which wraps the raw context pointer and calls the virtual Step() method. + WARNING: Must not throw exceptions. + + + This function takes care of doing the lookups and getting the important information put together to call the Step() function. + That includes pulling out the user's contextData and updating it after the call is made. We use a sorted list for this so + binary searches can be done to find the data. + + A raw context pointer + Number of arguments passed in + A pointer to the array of arguments + + + + An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. + WARNING: Must not throw exceptions. + + A raw context pointer + + + + Using reflection, enumerate all assemblies in the current appdomain looking for classes that + have a SQLiteFunctionAttribute attribute, and registering them accordingly. + + + + + Manual method of registering a function. The type must still have the SQLiteFunctionAttributes in order to work + properly, but this is a workaround for the Compact Framework where enumerating assemblies is not currently supported. + + The type of the function to register + + + + Alternative method of registering a function. This method + does not require the specified type to be annotated with + . + + + The name of the function to register. + + + The number of arguments accepted by the function. + + + The type of SQLite function being resitered (e.g. scalar, + aggregate, or collating sequence). + + + The that actually implements the function. + This will only be used if the + and parameters are null. + + + The to be used for all calls into the + , + , + and virtual methods. + + + The to be used for all calls into the + virtual method. This + parameter is only necessary for aggregate functions. + + + + + Replaces a registered function, disposing of the associated (old) + value if necessary. + + + The attribute that describes the function to replace. + + + The new value to use. + + + Non-zero if an existing registered function was replaced; otherwise, + zero. + + + + + Creates a instance based on the specified + . + + + The containing the metadata about + the function to create. + + + The created function -OR- null if the function could not be created. + + + Non-zero if the function was created; otherwise, zero. + + + + + Called by the SQLiteBase derived classes, this method binds all registered (known) user-defined functions to a connection. + It is done this way so that all user-defined functions will access the database using the same encoding scheme + as the connection (UTF-8 or UTF-16). + + + The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to + all the wrapped callback functions. The interop function uses it to map CDecl callbacks to StdCall callbacks. + + The base object on which the functions are to bind. + The flags associated with the parent connection object. + Returns a logical list of functions which the connection should retain until it is closed. + + + + Called by the SQLiteBase derived classes, this method unbinds all registered (known) + functions -OR- all previously bound user-defined functions from a connection. + + The base object from which the functions are to be unbound. + The flags associated with the parent connection object. + + Non-zero to unbind all registered (known) functions -OR- zero to unbind all functions + currently bound to the connection. + + Non-zero if all the specified user-defined functions were unbound. + + + + This function binds a user-defined function to a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + + + + This function unbinds a user-defined functions from a connection. + + + The object instance associated with the + that the function should be bound to. + + + The object instance containing + the metadata for the function to be bound. + + + The object instance that implements the + function to be bound. + + + The flags associated with the parent connection object. + + Non-zero if the function was unbound. + + + + This type is used with the + method. + + + This is always the string literal "Invoke". + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This type is used with the + method. + + + This is always the string literal "Step". + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This type is used with the + method. + + + This is always the string literal "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This type is used with the + method. + + + This is always the string literal "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + This class implements a SQLite function using a . + All the virtual methods of the class are + implemented using calls to the , + , , + and strongly typed delegate types + or via the method. + The arguments are presented in the same order they appear in + the associated methods with one exception: + the first argument is the name of the virtual method being implemented. + + + + + This error message is used by the overridden virtual methods when + a required property (e.g. + or ) has not been + set. + + + + + This error message is used by the overridden + method when the result does not have a type of . + + + + + Constructs an empty instance of this class. + + + + + Constructs an instance of this class using the specified + as the + implementation. + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Invoke". + + + The original arguments received by the method. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Step". + + + The original arguments received by the method. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Updates the output arguments for the method, + using an of . The first + argument is always the literal string "Step". Currently, only the + parameter is updated. + + + The original arguments received by the method. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Final". + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + Returns the list of arguments for the method, + as an of . The first + argument is always the literal string "Compare". + + + The first string to compare. + + + The second strnig to compare. + + + Non-zero if the returned arguments are going to be used with the + type; otherwise, zero. + + + The arguments to pass to the configured . + + + + + The to be used for all calls into the + , , and + virtual methods needed by the + base class. + + + + + The to be used for all calls into the + virtual methods needed by the + base class. + + + + + This virtual method is the implementation for scalar functions. + See the method for more + details. + + + The arguments for the scalar function. + + + The result of the scalar function. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + The arguments for the aggregate function. + + + The step number (one based). This is incrememted each time the + method is called. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + + + This virtual method is part of the implementation for aggregate + functions. See the method + for more details. + + + A placeholder for implementers to store contextual data pertaining + to the current context. + + + The result of the aggregate function. + + + + + This virtual method is part of the implementation for collating + sequences. See the method + for more details. + + + The first string to compare. + + + The second strnig to compare. + + + A positive integer if the parameter is + greater than the parameter, a negative + integer if the parameter is less than + the parameter, or zero if they are + equal. + + + + + Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call. + + + User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays. + + + + + Obtains the collating sequence in effect for the given function. + + + + + + Cleans up resources (native and managed) associated with the current instance. + + + Zero when being disposed via garbage collection; otherwise, non-zero. + + + + + The type of user-defined function to declare + + + + + Scalar functions are designed to be called and return a result immediately. Examples include ABS(), Upper(), Lower(), etc. + + + + + Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data. + Examples include SUM(), COUNT(), AVG(), etc. + + + + + Collating sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause. Typically text in an ORDER BY is + sorted using a straight case-insensitive comparison function. Custom collating sequences can be used to alter the behavior of text sorting + in a user-defined manner. + + + + + An internal callback delegate declaration. + + Raw native context pointer for the user function. + Total number of arguments to the user function. + Raw native pointer to the array of raw native argument pointers. + + + + An internal final callback delegate declaration. + + Raw context pointer for the user function + + + + Internal callback delegate for implementing collating sequences + + Not used + Length of the string pv1 + Pointer to the first string to compare + Length of the string pv2 + Pointer to the second string to compare + Returns -1 if the first string is less than the second. 0 if they are equal, or 1 if the first string is greater + than the second. + + + + The type of collating sequence + + + + + The built-in BINARY collating sequence + + + + + The built-in NOCASE collating sequence + + + + + The built-in REVERSE collating sequence + + + + + A custom user-defined collating sequence + + + + + The encoding type the collation sequence uses + + + + + The collation sequence is UTF8 + + + + + The collation sequence is UTF16 little-endian + + + + + The collation sequence is UTF16 big-endian + + + + + A struct describing the collating sequence a function is executing in + + + + + The name of the collating sequence + + + + + The type of collating sequence + + + + + The text encoding of the collation sequence + + + + + Context of the function that requested the collating sequence + + + + + Calls the base collating sequence to compare two strings + + The first string to compare + The second string to compare + -1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2 + + + + Calls the base collating sequence to compare two character arrays + + The first array to compare + The second array to compare + -1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2 + + + + A simple custom attribute to enable us to easily find user-defined functions in + the loaded assemblies and initialize them in SQLite as connections are made. + + + + + Default constructor, initializes the internal variables for the function. + + + + + Constructs an instance of this class. This sets the initial + , , and + properties to null. + + + The name of the function, as seen by the SQLite core library. + + + The number of arguments that the function will accept. + + + The type of function being declared. This will either be Scalar, + Aggregate, or Collation. + + + + + The function's name as it will be used in SQLite command text. + + + + + The number of arguments this function expects. -1 if the number of arguments is variable. + + + + + The type of function this implementation will be. + + + + + The object instance that describes the class + containing the implementation for the associated function. The value of + this property will not be used if either the or + property values are set to non-null. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + The that refers to the implementation for the + associated function. If this property value is set to non-null, it will + be used instead of the property value. + + + + + This class provides key info for a given SQLite statement. + + Providing key information for a given statement is non-trivial :( + + + + + + Used to support CommandBehavior.KeyInfo + + + + + Used to keep track of the per-table RowId column metadata. + + + + + A single sub-query for a given table/database. + + + + + This function does all the nasty work at determining what keys need to be returned for + a given statement. + + + + + + + + How many additional columns of keyinfo we're holding + + + + + Make sure all the subqueries are open and ready and sync'd with the current rowid + of the table they're supporting + + + + + Release any readers on any subqueries + + + + + Append all the columns we've added to the original query to the schema + + + + + + Event data for logging event handlers. + + + + + The error code. The type of this object value should be + or . + + + + + SQL statement text as the statement first begins executing + + + + + Extra data associated with this event, if any. + + + + + Constructs the object. + + Should be null. + + The error code. The type of this object value should be + or . + + The error message, if any. + The extra data, if any. + + + + Raised when a log event occurs. + + The current connection + Event arguments of the trace + + + + Manages the SQLite custom logging functionality and the associated + callback for the whole process. + + + + + Maximum number of milliseconds a non-primary thread should wait + for the method to be completed. + + + + + Object used to synchronize access to the static instance data + for this class. + + + + + This will be signaled when the + method has been completed. + + + + + Member variable to store the AppDomain.DomainUnload event handler. + + + + + Member variable to store the application log handler to call. + + + + + The default log event handler. + + + + + The log callback passed to native SQLite engine. This must live + as long as the SQLite library has a pointer to it. + + + + + The base SQLite object to interop with. + + + + + The number of times that the + method has been called when the logging subystem was actually + eligible to be initialized (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + The number of times that the method + has been called. + + + + + The number of times that the + method has been completed (i.e. without the "No_SQLiteLog" + environment variable being set). + + + + + This will be non-zero if an attempt was already made to initialize + the (managed) logging subsystem. + + + + + This will be non-zero if logging is currently enabled. + + + + + Creates the that will be used to + signal completion of the method, + if necessary, and then returns it. + + + The that will be used to signal + completion of the method. + + + + + Initializes the SQLite logging facilities. + + + + + Initializes the SQLite logging facilities -OR- waits for the + SQLite logging facilities to be initialized by another thread. + + + The name of the managed class that called this method. This + parameter may be null. + + + + + Initializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if everything was fully initialized successfully. + + + + + Uninitializes the SQLite logging facilities. + + + + + Uninitializes the SQLite logging facilities. + + + The name of the managed class that called this method. This + parameter may be null. + + + Non-zero if the native SQLite library should be shutdown prior + to attempting to unset its logging callback. + + + + + Handles the AppDomain being unloaded. + + Should be null. + The data associated with this event. + + + + This event is raised whenever SQLite raises a logging event. + Note that this should be set as one of the first things in the + application. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + + + + + If this property is true, logging is enabled; otherwise, logging is + disabled. When logging is disabled, no logging events will fire. + For internal use only. + + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The SQLite error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + The integer error code. + The message to be logged. + + + + Log a message to all the registered log event handlers without going + through the SQLite library. + + + The error code. The type of this object value should be + System.Int32 or SQLiteErrorCode. + + The message to be logged. + + + + Creates and initializes the default log event handler. + + + + + Adds the default log event handler to the list of handlers. + + + + + Removes the default log event handler from the list of handlers. + + + + + Internal proxy function that calls any registered application log + event handlers. + + WARNING: This method is used more-or-less directly by native code, + do not modify its type signature. + + + The extra data associated with this message, if any. + + + The error code associated with this message. + + + The message string to be logged. + + + + + Default logger. Currently, uses the Trace class (i.e. sends events + to the current trace listeners, if any). + + Should be null. + The data associated with this event. + + + + MetaDataCollections specific to SQLite + + + + + Returns a list of databases attached to the connection + + + + + Returns column information for the specified table + + + + + Returns index information for the optionally-specified table + + + + + Returns base columns for the given index + + + + + Returns the tables in the given catalog + + + + + Returns user-defined views in the given catalog + + + + + Returns underlying column information on the given view + + + + + Returns foreign key information for the given catalog + + + + + Returns the triggers on the database + + + + + SQLite implementation of DbParameter. + + + + + This value represents an "unknown" . + + + + + The command associated with this parameter. + + + + + The data type of the parameter + + + + + The version information for mapping the parameter + + + + + The value of the data in the parameter + + + + + The source column for the parameter + + + + + The column name + + + + + The data size, unused by SQLite + + + + + The database type name associated with this parameter, if any. + + + + + Constructor used when creating for use with a specific command. + + + The command associated with this parameter. + + + + + Default constructor + + + + + Constructs a named parameter given the specified parameter name + + The parameter name + + + + Constructs a named parameter given the specified parameter name and initial value + + The parameter name + The initial value of the parameter + + + + Constructs a named parameter of the specified type + + The parameter name + The datatype of the parameter + + + + Constructs a named parameter of the specified type and source column reference + + The parameter name + The data type + The source column + + + + Constructs a named parameter of the specified type, source column and row version + + The parameter name + The data type + The source column + The row version information + + + + Constructs an unnamed parameter of the specified data type + + The datatype of the parameter + + + + Constructs an unnamed parameter of the specified data type and sets the initial value + + The datatype of the parameter + The initial value of the parameter + + + + Constructs an unnamed parameter of the specified data type and source column + + The datatype of the parameter + The source column + + + + Constructs an unnamed parameter of the specified data type, source column and row version + + The data type + The source column + The row version information + + + + Constructs a named parameter of the specified type and size + + The parameter name + The data type + The size of the parameter + + + + Constructs a named parameter of the specified type, size and source column + + The name of the parameter + The data type + The size of the parameter + The source column + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + The source column + The row version information + + + + Constructs a named parameter of the specified type, size, source column and row version + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + Ignored + The source column + The row version information + The initial value to assign the parameter + + + + Constructs a named parameter, yet another flavor + + The name of the parameter + The data type + The size of the parameter + Only input parameters are supported in SQLite + Ignored + Ignored + The source column + The row version information + Whether or not this parameter is for comparing NULL's + The intial value to assign the parameter + + + + Constructs an unnamed parameter of the specified type and size + + The data type + The size of the parameter + + + + Constructs an unnamed parameter of the specified type, size, and source column + + The data type + The size of the parameter + The source column + + + + Constructs an unnamed parameter of the specified type, size, source column and row version + + The data type + The size of the parameter + The source column + The row version information + + + + The command associated with this parameter. + + + + + Whether or not the parameter can contain a null value + + + + + Returns the datatype of the parameter + + + + + Supports only input parameters + + + + + Returns the parameter name + + + + + Resets the DbType of the parameter so it can be inferred from the value + + + + + Returns the size of the parameter + + + + + Gets/sets the source column + + + + + Used by DbCommandBuilder to determine the mapping for nullable fields + + + + + Gets and sets the row version + + + + + Gets and sets the parameter value. If no datatype was specified, the datatype will assume the type from the value given. + + + + + The database type name associated with this parameter, if any. + + + + + Clones a parameter + + A new, unassociated SQLiteParameter + + + + SQLite implementation of DbParameterCollection. + + + + + The underlying command to which this collection belongs + + + + + The internal array of parameters in this collection + + + + + Determines whether or not all parameters have been bound to their statement(s) + + + + + Initializes the collection + + The command to which the collection belongs + + + + Returns false + + + + + Returns false + + + + + Returns false + + + + + Returns null + + + + + Retrieves an enumerator for the collection + + An enumerator for the underlying array + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + The source column + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + The size of the value + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter name + The data type + A SQLiteParameter object + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a parameter to the collection + + The parameter to add + A zero-based index of where the parameter is located in the array + + + + Adds a named/unnamed parameter and its value to the parameter collection. + + Name of the parameter, or null to indicate an unnamed parameter + The initial value of the parameter + Returns the SQLiteParameter object created during the call. + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Adds an array of parameters to the collection + + The array of parameters to add + + + + Clears the array and resets the collection + + + + + Determines if the named parameter exists in the collection + + The name of the parameter to check + True if the parameter is in the collection + + + + Determines if the parameter exists in the collection + + The SQLiteParameter to check + True if the parameter is in the collection + + + + Not implemented + + + + + + + Returns a count of parameters in the collection + + + + + Overloaded to specialize the return value of the default indexer + + Name of the parameter to get/set + The specified named SQLite parameter + + + + Overloaded to specialize the return value of the default indexer + + The index of the parameter to get/set + The specified SQLite parameter + + + + Retrieve a parameter by name from the collection + + The name of the parameter to fetch + A DbParameter object + + + + Retrieves a parameter by its index in the collection + + The index of the parameter to retrieve + A DbParameter object + + + + Returns the index of a parameter given its name + + The name of the parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Returns the index of a parameter + + The parameter to find + -1 if not found, otherwise a zero-based index of the parameter + + + + Inserts a parameter into the array at the specified location + + The zero-based index to insert the parameter at + The parameter to insert + + + + Removes a parameter from the collection + + The parameter to remove + + + + Removes a parameter from the collection given its name + + The name of the parameter to remove + + + + Removes a parameter from the collection given its index + + The zero-based parameter index to remove + + + + Re-assign the named parameter to a new parameter object + + The name of the parameter to replace + The new parameter + + + + Re-assign a parameter at the specified index + + The zero-based index of the parameter to replace + The new parameter + + + + Un-binds all parameters from their statements + + + + + This function attempts to map all parameters in the collection to all statements in a Command. + Since named parameters may span multiple statements, this function makes sure all statements are bound + to the same named parameter. Unnamed parameters are bound in sequence. + + + + + Represents a single SQL statement in SQLite. + + + + + The underlying SQLite object this statement is bound to + + + + + The command text of this SQL statement + + + + + The actual statement pointer + + + + + An index from which unnamed parameters begin + + + + + Names of the parameters as SQLite understands them to be + + + + + Parameters for this statement + + + + + Command this statement belongs to (if any) + + + + + The flags associated with the parent connection object. + + + + + Initializes the statement and attempts to get all information about parameters in the statement + + The base SQLite object + The flags associated with the parent connection object + The statement + The command text for this statement + The previous command in a multi-statement command + + + + Disposes and finalizes the statement + + + + + If the underlying database connection is open, fetches the number of changed rows + resulting from the most recent query; otherwise, does nothing. + + + The number of changes when true is returned. + Undefined if false is returned. + + + The read-only flag when true is returned. + Undefined if false is returned. + + Non-zero if the number of changed rows was fetched. + + + + Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + this statement, and if so, keeps a reference to the parameter so it can be bound later. + + The parameter name to map + The parameter to assign it + + + + Bind all parameters, making sure the caller didn't miss any + + + + + This method attempts to query the database connection associated with + the statement in use. If the underlying command or connection is + unavailable, a null value will be returned. + + + The connection object -OR- null if it is unavailable. + + + + + Invokes the parameter binding callback configured for the database + type name associated with the specified column. If no parameter + binding callback is available for the database type name, do + nothing. + + + The index of the column being read. + + + The instance being bound to the + command. + + + Non-zero if the default handling for the parameter binding call + should be skipped (i.e. the parameter should not be bound at all). + Great care should be used when setting this to non-zero. + + + + + Perform the bind operation for an individual parameter + + The index of the parameter to bind + The parameter we're binding + + + + SQLite implementation of DbTransaction that does not support nested transactions. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + SQLite implementation of DbTransaction that does support nested transactions. + + + + + The original transaction level for the associated connection + when this transaction was created (i.e. begun). + + + + + The SAVEPOINT name for this transaction, if any. This will + only be non-null if this transaction is a nested one. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Commits the current transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Constructs the name of a new savepoint for this transaction. It + should only be called from the constructor of this class. + + + The name of the new savepoint -OR- null if it cannot be constructed. + + + + + Base class used by to implement DbTransaction for SQLite. + + + + + The connection to which this transaction is bound. + + + + + Matches the version of the connection. + + + + + The isolation level for this transaction. + + + + + Constructs the transaction object, binding it to the supplied connection + + The connection to open a transaction on + TRUE to defer the writelock, or FALSE to lock immediately + + + + Gets the isolation level of the transaction. SQLite only supports Serializable transactions. + + + + + Disposes the transaction. If it is currently active, any changes are rolled back. + + + + + Returns the underlying connection to which this transaction applies. + + + + + Forwards to the local Connection property + + + + + Rolls back the active transaction. + + + + + Attempts to start a transaction. An exception will be thrown if the transaction cannot + be started for any reason. + + TRUE to defer the writelock, or FALSE to lock immediately + + + + Issue a ROLLBACK command against the database connection, + optionally re-throwing any caught exception. + + + Non-zero to re-throw caught exceptions. + + + + + Checks the state of this transaction, optionally throwing an exception if a state + inconsistency is found. + + + Non-zero to throw an exception if a state inconsistency is found. + + + Non-zero if this transaction is valid; otherwise, false. + + + + + This static class provides some methods that are shared between the + native library pre-loader and other classes. + + + + + This lock is used to protect the static and + fields. + + + + + This type is only present when running on Mono. + + + + + This type is only present when running on .NET Core. + + + + + Keeps track of whether we are running on Mono. Initially null, it is + set by the method on its first call. Later, it + is returned verbatim by the method. + + + + + Keeps track of whether we are running on .NET Core. Initially null, + it is set by the method on its first + call. Later, it is returned verbatim by the + method. + + + + + Keeps track of whether we successfully invoked the + method. Initially null, it is set by + the method on its first call. + + + + + Determines the ID of the current process. Only used for debugging. + + + The ID of the current process -OR- zero if it cannot be determined. + + + + + Determines whether or not this assembly is running on Mono. + + + Non-zero if this assembly is running on Mono. + + + + + Determines whether or not this assembly is running on .NET Core. + + + Non-zero if this assembly is running on .NET Core. + + + + + Resets the cached value for the "PreLoadSQLite_BreakIntoDebugger" + configuration setting. + + + + + If the "PreLoadSQLite_BreakIntoDebugger" configuration setting is + present (e.g. via the environment), give the interactive user an + opportunity to attach a debugger to the current process; otherwise, + do nothing. + + + + + Determines the ID of the current thread. Only used for debugging. + + + The ID of the current thread -OR- zero if it cannot be determined. + + + + + Determines if the specified flags are present within the flags + associated with the parent connection object. + + + The flags associated with the parent connection object. + + + The flags to check for. + + + Non-zero if the specified flag or flags were present; otherwise, + zero. + + + + + Determines if preparing a query should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the query preparation should be logged; otherwise, zero. + + + + + Determines if pre-parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the pre-parameter binding should be logged; otherwise, + zero. + + + + + Determines if parameter binding should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the parameter binding should be logged; otherwise, zero. + + + + + Determines if an exception in a native callback should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be logged; otherwise, zero. + + + + + Determines if backup API errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the backup API error should be logged; otherwise, zero. + + + + + Determines if logging for the class is + disabled. + + + The flags associated with the parent connection object. + + + Non-zero if logging for the class is + disabled; otherwise, zero. + + + + + Determines if errors should be logged. + + + The flags associated with the parent connection object. + + + Non-zero if the error should be logged; + otherwise, zero. + + + + + Determines if exceptions should be + logged. + + + The flags associated with the parent connection object. + + + Non-zero if the exception should be + logged; otherwise, zero. + + + + + Determines if the current process is running on one of the Windows + [sub-]platforms. + + + Non-zero when running on Windows; otherwise, zero. + + + + + This is a wrapper around the + method. + On Mono, it has to call the method overload without the + parameter, due to a bug in Mono. + + + This is used for culture-specific formatting. + + + The format string. + + + An array the objects to format. + + + The resulting string. + + + + + This static class provides a thin wrapper around the native library + loading features of the underlying platform. + + + + + This delegate is used to wrap the concept of loading a native + library, based on a file name, and returning the loaded module + handle. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This delegate is used to wrap the concept of querying the machine + name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the Win32 + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the Win32 API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file using the POSIX + API. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process using + the POSIX API. + + + The machine name for the current process -OR- null on failure. + + + + + Attempts to load the specified native library file. + + + The file name of the native library to load. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + Attempts to determine the machine name of the current process. + + + The machine name for the current process -OR- null on failure. + + + + + This class declares P/Invoke methods to call native POSIX APIs. + + + + + This structure is used when running on POSIX operating systems + to store information about the current machine, including the + human readable name of the operating system as well as that of + the underlying hardware. + + + + + This structure is passed directly to the P/Invoke method to + obtain the information about the current machine, including + the human readable name of the operating system as well as + that of the underlying hardware. + + + + + This is the P/Invoke method that wraps the native Unix uname + function. See the POSIX documentation for full details on what it + does. + + + Structure containing a preallocated byte buffer to fill with the + requested information. + + + Zero for success and less than zero upon failure. + + + + + This is the P/Invoke method that wraps the native Unix dlopen + function. See the POSIX documentation for full details on what it + does. + + + The name of the executable library. + + + This must be a combination of the individual bit flags RTLD_LAZY, + RTLD_NOW, RTLD_GLOBAL, and/or RTLD_LOCAL. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Unix dlclose + function. See the POSIX documentation for full details on what it + does. + + + The handle to the loaded native library. + + + Zero upon success -OR- non-zero on failure. + + + + + For use with dlopen(), bind function calls lazily. + + + + + For use with dlopen(), bind function calls immediately. + + + + + For use with dlopen(), make symbols globally available. + + + + + For use with dlopen(), opposite of RTLD_GLOBAL, and the default. + + + + + For use with dlopen(), the defaults used by this class. + + + + + These are the characters used to separate the string fields within + the raw buffer returned by the P/Invoke method. + + + + + This method is a wrapper around the P/Invoke + method that extracts and returns the human readable strings from + the raw buffer. + + + This structure, which contains strings, will be filled based on the + data placed in the raw buffer returned by the + P/Invoke method. + + + Non-zero upon success; otherwise, zero. + + + + + This class declares P/Invoke methods to call native Win32 APIs. + + + + + This is the P/Invoke method that wraps the native Win32 LoadLibrary + function. See the MSDN documentation for full details on what it + does. + + + The name of the executable library. + + + The native module handle upon success -OR- IntPtr.Zero on failure. + + + + + This is the P/Invoke method that wraps the native Win32 GetSystemInfo + function. See the MSDN documentation for full details on what it + does. + + + The system information structure to be filled in by the function. + + + + + This enumeration contains the possible values for the processor + architecture field of the system information structure. + + + + + This structure contains information about the current computer. This + includes the processor type, page size, memory addresses, etc. + + + + + This class declares P/Invoke methods to call native SQLite APIs. + + + + + The file extension used for dynamic link libraries. + + + + + The primary file extension used for the XML configuration file. + + + + + The secondary file extension used for the XML configuration file. + + + + + This is the name of the primary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the name of the secondary XML configuration file specific + to the System.Data.SQLite assembly. + + + + + This is the XML configuratrion file token that will be replaced with + the qualified path to the directory containing the XML configuration + file. + + + + + This is the environment variable token that will be replaced with + the qualified path to the directory containing this assembly. + + + + + This is the environment variable token that will be replaced with an + abbreviation of the target framework attribute value associated with + this assembly. + + + + + This lock is used to protect the static _SQLiteNativeModuleFileName, + _SQLiteNativeModuleHandle, and processorArchitecturePlatforms fields. + + + + + This dictionary stores the mappings between target framework names + and their associated (NuGet) abbreviations. These mappings are only + used by the method. + + + + + This dictionary stores the mappings between processor architecture + names and platform names. These mappings are now used for two + purposes. First, they are used to determine if the assembly code + base should be used instead of the location, based upon whether one + or more of the named sub-directories exist within the assembly code + base. Second, they are used to assist in loading the appropriate + SQLite interop assembly into the current process. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable assembly directory. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + This is the cached return value from the + method -OR- null if that method + has never returned a valid value. + + + + + When this field is non-zero, it indicates the + method was not able to locate a + suitable XML configuration file name. The + method will check this + field and skips calls into the + method whenever it is non-zero. + + + + + For now, this method simply calls the Initialize method. + + + + + Attempts to initialize this class by pre-loading the native SQLite + library for the processor architecture of the current process. + + + + + Combines two path strings. + + + The first path -OR- null. + + + The second path -OR- null. + + + The combined path string -OR- null if both of the original path + strings are null. + + + + + Resets the cached XML configuration file name value, thus forcing the + next call to method to rely + upon the method to fetch the + XML configuration file name. + + + + + Queries and returns the cached XML configuration file name for the + assembly containing the managed System.Data.SQLite components, if + available. If the cached XML configuration file name value is not + available, the method will + be used to obtain the XML configuration file name. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + Queries and returns the XML configuration file name for the assembly + containing the managed System.Data.SQLite components. + + + The XML configuration file name -OR- null if it cannot be determined + or does not exist. + + + + + If necessary, replaces all supported XML configuration file tokens + with their associated values. + + + The name of the XML configuration file being read. + + + A setting value read from the XML configuration file. + + + The value of the will all supported XML + configuration file tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the + specified XML configuration file. + + + The name of the XML configuration file to read. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + Non-zero to expand any environment variable references contained in + the setting value to be returned. This has no effect on the .NET + Compact Framework. + + + Non-zero to replace any special token references contained in the + setting value to be returned. This has no effect on the .NET Compact + Framework. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. + + + + + Attempts to determine the target framework attribute value that is + associated with the specified managed assembly, if applicable. + + + The managed assembly to read the target framework attribute value + from. + + + The value of the target framework attribute value for the specified + managed assembly -OR- null if it cannot be determined. If this + assembly was compiled with a version of the .NET Framework prior to + version 4.0, the value returned MAY reflect that version of the .NET + Framework instead of the one associated with the specified managed + assembly. + + + + + Accepts a long target framework attribute value and makes it into a + much shorter version, suitable for use with NuGet packages. + + + The long target framework attribute value to convert. + + + The short target framework attribute value -OR- null if it cannot + be determined or converted. + + + + + If necessary, replaces all supported environment variable tokens + with their associated values. + + + A setting value read from an environment variable. + + + The value of the will all supported + environment variable tokens replaced. No return value is reserved + to indicate an error. This method cannot fail. + + + + + Queries and returns the value of the specified setting, using the XML + configuration file and/or the environment variables for the current + process and/or the current system, when available. + + + The name of the setting. + + + The value to be returned if the setting has not been set explicitly + or cannot be determined. + + + The value of the setting -OR- the default value specified by + if it has not been set explicitly or + cannot be determined. By default, all references to existing + environment variables will be expanded to their corresponding values + within the value to be returned unless either the "No_Expand" or + "No_Expand_" environment variable is set [to + anything]. + + + + + Resets the cached assembly directory value, thus forcing the next + call to method to rely + upon the method to fetch the + assembly directory. + + + + + Queries and returns the cached directory for the assembly currently + being executed, if available. If the cached assembly directory value + is not available, the method will + be used to obtain the assembly directory. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + Queries and returns the directory for the assembly currently being + executed. + + + The directory for the assembly currently being executed -OR- null if + it cannot be determined. + + + + + The name of the environment variable containing the processor + architecture of the current process. + + + + + The native module file name for the native SQLite library or null. + + + + + The native module handle for the native SQLite library or the value + IntPtr.Zero. + + + + + Determines the base file name (without any directory information) + for the native SQLite library to be pre-loaded by this class. + + + The base file name for the native SQLite library to be pre-loaded by + this class -OR- null if its value cannot be determined. + + + + + Searches for the native SQLite library in the directory containing + the assembly currently being executed as well as the base directory + for the current application domain. + + + Upon success, this parameter will be modified to refer to the base + directory containing the native SQLite library. + + + Upon success, this parameter will be modified to refer to the name + of the immediate directory (i.e. the offset from the base directory) + containing the native SQLite library. + + + Upon success, this parameter will be modified to non-zero only if + the base directory itself should be allowed for loading the native + library. + + + Non-zero (success) if the native SQLite library was found; otherwise, + zero (failure). + + + + + Queries and returns the base directory of the current application + domain. + + + The base directory for the current application domain -OR- null if it + cannot be determined. + + + + + Determines if the dynamic link library file name requires a suffix + and adds it if necessary. + + + The original dynamic link library file name to inspect. + + + The dynamic link library file name, possibly modified to include an + extension. + + + + + Queries and returns the processor architecture of the current + process. + + + The processor architecture of the current process -OR- null if it + cannot be determined. + + + + + Given the processor architecture, returns the name of the platform. + + + The processor architecture to be translated to a platform name. + + + The platform name for the specified processor architecture -OR- null + if it cannot be determined. + + + + + Attempts to load the native SQLite library based on the specified + directory and processor architecture. + + + The base directory to use, null for default (the base directory of + the current application domain). This directory should contain the + processor architecture specific sub-directories. + + + The requested processor architecture, null for default (the + processor architecture of the current process). This caller should + almost always specify null for this parameter. + + + Non-zero indicates that the native SQLite library can be loaded + from the base directory itself. + + + The candidate native module file name to load will be stored here, + if necessary. + + + The native module handle as returned by LoadLibrary will be stored + here, if necessary. This value will be IntPtr.Zero if the call to + LoadLibrary fails. + + + Non-zero if the native module was loaded successfully; otherwise, + zero. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to <?xml version="1.0" standalone="yes"?> + <DocumentElement> + <DataTypes> + <TypeName>smallint</TypeName> + <ProviderDbType>10</ProviderDbType> + <ColumnSize>5</ColumnSize> + <DataType>System.Int16</DataType> + <CreateFormat>smallint</CreateFormat> + <IsAutoIncrementable>false</IsAutoIncrementable> + <IsCaseSensitive>false</IsCaseSensitive> + <IsFixedLength>true</IsFixedLength> + <IsFixedPrecisionScale>true</IsFixedPrecisionScale> + <IsLong>false</IsLong> + <IsNullable>true</ [rest of string was truncated]";. + + + + + Looks up a localized string similar to ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE. + + + + + Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?> + <DocumentElement> + <MetaDataCollections> + <CollectionName>MetaDataCollections</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataCollections> + <CollectionName>DataSourceInformation</CollectionName> + <NumberOfRestrictions>0</NumberOfRestrictions> + <NumberOfIdentifierParts>0</NumberOfIdentifierParts> + </MetaDataCollections> + <MetaDataC [rest of string was truncated]";. + + + + + This interface represents a virtual table implementation written in + native code. + + + + + + int (*xCreate)(sqlite3 *db, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xCreate method is called to create a new instance of a virtual table + in response to a CREATE VIRTUAL TABLE statement. + If the xCreate method is the same pointer as the xConnect method, then the + virtual table is an eponymous virtual table. + If the xCreate method is omitted (if it is a NULL pointer) then the virtual + table is an eponymous-only virtual table. + + + The db parameter is a pointer to the SQLite database connection that + is executing the CREATE VIRTUAL TABLE statement. + The pAux argument is the copy of the client data pointer that was the + fourth argument to the sqlite3_create_module() or + sqlite3_create_module_v2() call that registered the + virtual table module. + The argv parameter is an array of argc pointers to null terminated strings. + The first string, argv[0], is the name of the module being invoked. The + module name is the name provided as the second argument to + sqlite3_create_module() and as the argument to the USING clause of the + CREATE VIRTUAL TABLE statement that is running. + The second, argv[1], is the name of the database in which the new virtual table is being created. The database name is "main" for the primary database, or + "temp" for TEMP database, or the name given at the end of the ATTACH + statement for attached databases. The third element of the array, argv[2], + is the name of the new virtual table, as specified following the TABLE + keyword in the CREATE VIRTUAL TABLE statement. + If present, the fourth and subsequent strings in the argv[] array report + the arguments to the module name in the CREATE VIRTUAL TABLE statement. + + + The job of this method is to construct the new virtual table object + (an sqlite3_vtab object) and return a pointer to it in *ppVTab. + + + As part of the task of creating a new sqlite3_vtab structure, this + method must invoke sqlite3_declare_vtab() to tell the SQLite + core about the columns and datatypes in the virtual table. + The sqlite3_declare_vtab() API has the following prototype: + + + int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable) + + + The first argument to sqlite3_declare_vtab() must be the same + database connection pointer as the first parameter to this method. + The second argument to sqlite3_declare_vtab() must a zero-terminated + UTF-8 string that contains a well-formed CREATE TABLE statement that + defines the columns in the virtual table and their data types. + The name of the table in this CREATE TABLE statement is ignored, + as are all constraints. Only the column names and datatypes matter. + The CREATE TABLE statement string need not to be + held in persistent memory. The string can be + deallocated and/or reused as soon as the sqlite3_declare_vtab() + routine returns. + + + The xCreate method need not initialize the pModule, nRef, and zErrMsg + fields of the sqlite3_vtab object. The SQLite core will take care of + that chore. + + + The xCreate should return SQLITE_OK if it is successful in + creating the new virtual table, or SQLITE_ERROR if it is not successful. + If not successful, the sqlite3_vtab structure must not be allocated. + An error message may optionally be returned in *pzErr if unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + If the xCreate method is omitted (left as a NULL pointer) then the + virtual table is an eponymous-only virtual table. New instances of + the virtual table cannot be created using CREATE VIRTUAL TABLE and the + virtual table can only be used via its module name. + Note that SQLite versions prior to 3.9.0 (2015-10-14) do not understand + eponymous-only virtual tables and will segfault if an attempt is made + to CREATE VIRTUAL TABLE on an eponymous-only virtual table because + the xCreate method was not checked for null. + + + If the xCreate method is the exact same pointer as the xConnect method, + that indicates that the virtual table does not need to initialize backing + store. Such a virtual table can be used as an eponymous virtual table + or as a named virtual table using CREATE VIRTUAL TABLE or both. + + + If a column datatype contains the special keyword "HIDDEN" + (in any combination of upper and lower case letters) then that keyword + it is omitted from the column datatype name and the column is marked + as a hidden column internally. + A hidden column differs from a normal column in three respects: + + + ]]> + ]]> Hidden columns are not listed in the dataset returned by + "PRAGMA table_info", + ]]>]]> Hidden columns are not included in the expansion of a "*" + expression in the result set of a SELECT, and + ]]>]]> Hidden columns are not included in the implicit column-list + used by an INSERT statement that lacks an explicit column-list. + ]]>]]> + + + For example, if the following SQL is passed to sqlite3_declare_vtab(): + + + CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden); + + + Then the virtual table would be created with two hidden columns, + and with datatypes of "VARCHAR(12)" and "INTEGER". + + + An example use of hidden columns can be seen in the FTS3 virtual + table implementation, where every FTS virtual table + contains an FTS hidden column that is used to pass information from the + virtual table into FTS auxiliary functions and to the FTS MATCH operator. + + + A virtual table that contains hidden columns can be used like + a table-valued function in the FROM clause of a SELECT statement. + The arguments to the table-valued function become constraints on + the HIDDEN columns of the virtual table. + + + For example, the "generate_series" extension (located in the + ext/misc/series.c + file in the source tree) + implements an eponymous virtual table with the following schema: + + + CREATE TABLE generate_series( + value, + start HIDDEN, + stop HIDDEN, + step HIDDEN + ); + + + The sqlite3_module.xBestIndex method in the implementation of this + table checks for equality constraints against the HIDDEN columns, and uses + those as input parameters to determine the range of integer "value" outputs + to generate. Reasonable defaults are used for any unconstrained columns. + For example, to list all integers between 5 and 50: + + + SELECT value FROM generate_series(5,50); + + + The previous query is equivalent to the following: + + + SELECT value FROM generate_series WHERE start=5 AND stop=50; + + + Arguments on the virtual table name are matched to hidden columns + in order. The number of arguments can be less than the + number of hidden columns, in which case the latter hidden columns are + unconstrained. However, an error results if there are more arguments + than there are hidden columns in the virtual table. + + + Beginning with SQLite version 3.14.0 (2016-08-08), + the CREATE TABLE statement that + is passed into sqlite3_declare_vtab() may contain a WITHOUT ROWID clause. + This is useful for cases where the virtual table rows + cannot easily be mapped into unique integers. A CREATE TABLE + statement that includes WITHOUT ROWID must define one or more columns as + the PRIMARY KEY. Every column of the PRIMARY KEY must individually be + NOT NULL and all columns for each row must be collectively unique. + + + Note that SQLite does not enforce the PRIMARY KEY for a WITHOUT ROWID + virtual table. Enforcement is the responsibility of the underlying + virtual table implementation. But SQLite does assume that the PRIMARY KEY + constraint is valid - that the identified columns really are UNIQUE and + NOT NULL - and it uses that assumption to optimize queries against the + virtual table. + + + The rowid column is not accessible on a + WITHOUT ROWID virtual table (of course). + + + The xUpdate method was originally designed around having a + ROWID as a single value. The xUpdate method has been expanded to + accommodate an arbitrary PRIMARY KEY in place of the ROWID, but the + PRIMARY KEY must still be only one column. For this reason, SQLite + will reject any WITHOUT ROWID virtual table that has more than one + PRIMARY KEY column and a non-NULL xUpdate method. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + int (*xConnect)(sqlite3*, void *pAux, + int argc, char *const*argv, + sqlite3_vtab **ppVTab, + char **pzErr); + + + The xConnect method is very similar to xCreate. + It has the same parameters and constructs a new sqlite3_vtab structure + just like xCreate. + And it must also call sqlite3_declare_vtab() like xCreate. + + + The difference is that xConnect is called to establish a new + connection to an existing virtual table whereas xCreate is called + to create a new virtual table from scratch. + + + The xCreate and xConnect methods are only different when the + virtual table has some kind of backing store that must be initialized + the first time the virtual table is created. The xCreate method creates + and initializes the backing store. The xConnect method just connects + to an existing backing store. When xCreate and xConnect are the same, + the table is an eponymous virtual table. + + + As an example, consider a virtual table implementation that + provides read-only access to existing comma-separated-value (CSV) + files on disk. There is no backing store that needs to be created + or initialized for such a virtual table (since the CSV files already + exist on disk) so the xCreate and xConnect methods will be identical + for that module. + + + Another example is a virtual table that implements a full-text index. + The xCreate method must create and initialize data structures to hold + the dictionary and posting lists for that index. The xConnect method, + on the other hand, only has to locate and use an existing dictionary + and posting lists that were created by a prior xCreate call. + + + The xConnect method must return SQLITE_OK if it is successful + in creating the new virtual table, or SQLITE_ERROR if it is not + successful. If not successful, the sqlite3_vtab structure must not be + allocated. An error message may optionally be returned in *pzErr if + unsuccessful. + Space to hold the error message string must be allocated using + an SQLite memory allocation function like + sqlite3_malloc() or sqlite3_mprintf() as the SQLite core will + attempt to free the space using sqlite3_free() after the error has + been reported up to the application. + + + The xConnect method is required for every virtual table implementation, + though the xCreate and xConnect pointers of the sqlite3_module object + may point to the same function if the virtual table does not need to + initialize backing store. + + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + + SQLite uses the xBestIndex method of a virtual table module to determine + the best way to access the virtual table. + The xBestIndex method has a prototype like this: + + + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + + + The SQLite core communicates with the xBestIndex method by filling + in certain fields of the sqlite3_index_info structure and passing a + pointer to that structure into xBestIndex as the second parameter. + The xBestIndex method fills out other fields of this structure which + forms the reply. The sqlite3_index_info structure looks like this: + + + struct sqlite3_index_info { + /* Inputs */ + const int nConstraint; /* Number of entries in aConstraint */ + const struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *const aConstraint; /* Table of WHERE clause constraints */ + const int nOrderBy; /* Number of terms in the ORDER BY clause */ + const struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *const aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *const aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]> + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]> + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]> + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ + }; + + + Note the warnings on the "estimatedRows", "idxFlags", and colUsed fields. + These fields were added with SQLite versions 3.8.2, 3.9.0, and 3.10.0, respectively. + Any extension that reads or writes these fields must first check that the + version of the SQLite library in use is greater than or equal to appropriate + version - perhaps comparing the value returned from sqlite3_libversion_number() + against constants 3008002, 3009000, and/or 3010000. The result of attempting + to access these fields in an sqlite3_index_info structure created by an + older version of SQLite are undefined. + + + In addition, there are some defined constants: + + + #define SQLITE_INDEX_CONSTRAINT_EQ 2 + #define SQLITE_INDEX_CONSTRAINT_GT 4 + #define SQLITE_INDEX_CONSTRAINT_LE 8 + #define SQLITE_INDEX_CONSTRAINT_LT 16 + #define SQLITE_INDEX_CONSTRAINT_GE 32 + #define SQLITE_INDEX_CONSTRAINT_MATCH 64 + #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */ + #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */ + #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + + + The SQLite core calls the xBestIndex method when it is compiling a query + that involves a virtual table. In other words, SQLite calls this method + when it is running sqlite3_prepare() or the equivalent. + By calling this method, the + SQLite core is saying to the virtual table that it needs to access + some subset of the rows in the virtual table and it wants to know the + most efficient way to do that access. The xBestIndex method replies + with information that the SQLite core can then use to conduct an + efficient search of the virtual table. + + + While compiling a single SQL query, the SQLite core might call + xBestIndex multiple times with different settings in sqlite3_index_info. + The SQLite core will then select the combination that appears to + give the best performance. + + + Before calling this method, the SQLite core initializes an instance + of the sqlite3_index_info structure with information about the + query that it is currently trying to process. This information + derives mainly from the WHERE clause and ORDER BY or GROUP BY clauses + of the query, but also from any ON or USING clauses if the query is a + join. The information that the SQLite core provides to the xBestIndex + method is held in the part of the structure that is marked as "Inputs". + The "Outputs" section is initialized to zero. + + + The information in the sqlite3_index_info structure is ephemeral + and may be overwritten or deallocated as soon as the xBestIndex method + returns. If the xBestIndex method needs to remember any part of the + sqlite3_index_info structure, it should make a copy. Care must be + take to store the copy in a place where it will be deallocated, such + as in the idxStr field with needToFreeIdxStr set to 1. + + + Note that xBestIndex will always be called before xFilter, since + the idxNum and idxStr outputs from xBestIndex are required inputs to + xFilter. However, there is no guarantee that xFilter will be called + following a successful xBestIndex. + + + The xBestIndex method is required for every virtual table implementation. + + + The main thing that the SQLite core is trying to communicate to + the virtual table is the constraints that are available to limit + the number of rows that need to be searched. The aConstraint[] array + contains one entry for each constraint. There will be exactly + nConstraint entries in that array. + + + Each constraint will usually correspond to a term in the WHERE clause + or in a USING or ON clause that is of the form + + + column OP EXPR + + + Where "column" is a column in the virtual table, OP is an operator + like "=" or "<", and EXPR is an arbitrary expression. So, for example, + if the WHERE clause contained a term like this: + + + a = 5 + + + Then one of the constraints would be on the "a" column with + operator "=" and an expression of "5". Constraints need not have a + literal representation of the WHERE clause. The query optimizer might + make transformations to the + WHERE clause in order to extract as many constraints + as it can. So, for example, if the WHERE clause contained something + like this: + + + x BETWEEN 10 AND 100 AND 999>y + + + The query optimizer might translate this into three separate constraints: + + + x >= 10 + x <= 100 + y < 999 + + + For each such constraint, the aConstraint[].iColumn field indicates which + column appears on the left-hand side of the constraint. + The first column of the virtual table is column 0. + The rowid of the virtual table is column -1. + The aConstraint[].op field indicates which operator is used. + The SQLITE_INDEX_CONSTRAINT_* constants map integer constants + into operator values. + Columns occur in the order they were defined by the call to + sqlite3_declare_vtab() in the xCreate or xConnect method. + Hidden columns are counted when determining the column index. + + + If the xFindFunction() method for the virtual table is defined, and + if xFindFunction() sometimes returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, then the constraints might also be of the form: + + + FUNCTION( column, EXPR) + + + In this case the aConstraint[].op value is the same as the value + returned by xFindFunction() for FUNCTION. + + + The aConstraint[] array contains information about all constraints + that apply to the virtual table. But some of the constraints might + not be usable because of the way tables are ordered in a join. + The xBestIndex method must therefore only consider constraints + that have an aConstraint[].usable flag which is true. + + + In addition to WHERE clause constraints, the SQLite core also + tells the xBestIndex method about the ORDER BY clause. + (In an aggregate query, the SQLite core might put in GROUP BY clause + information in place of the ORDER BY clause information, but this fact + should not make any difference to the xBestIndex method.) + If all terms of the ORDER BY clause are columns in the virtual table, + then nOrderBy will be the number of terms in the ORDER BY clause + and the aOrderBy[] array will identify the column for each term + in the order by clause and whether or not that column is ASC or DESC. + + + In SQLite version 3.10.0 (2016-01-06) and later, + the colUsed field is available + to indicate which fields of the virtual table are actually used by the + statement being prepared. If the lowest bit of colUsed is set, that + means that the first column is used. The second lowest bit corresponds + to the second column. And so forth. If the most significant bit of + colUsed is set, that means that one or more columns other than the + first 63 columns are used. If column usage information is needed by the + xFilter method, then the required bits must be encoded into either + the output idxNum field or idxStr content. + + + For the LIKE, GLOB, REGEXP, and MATCH operators, the + aConstraint[].iColumn value is the virtual table column that + is the left operand of the operator. However, if these operators + are expressed as function calls instead of operators, then + the aConstraint[].iColumn value references the virtual table + column that is the second argument to that function: + + + LIKE(EXPR, column)]]> + GLOB(EXPR, column)]]> + REGEXP(EXPR, column)]]> + MATCH(EXPR, column)]]> + + + Hence, as far as the xBestIndex() method is concerned, the following + two forms are equivalent: + + + column LIKE EXPR]]> + LIKE(EXPR,column) + + + This special behavior of looking at the second argument of a function + only occurs for the LIKE, GLOB, REGEXP, and MATCH functions. For all + other functions, the aConstraint[].iColumn value references the first + argument of the function. + + + This special feature of LIKE, GLOB, REGEXP, and MATCH does not + apply to the xFindFunction() method, however. The + xFindFunction() method always keys off of the left operand of an + LIKE, GLOB, REGEXP, or MATCH operator but off of the first argument + to function-call equivalents of those operators. + + + Given all of the information above, the job of the xBestIndex + method it to figure out the best way to search the virtual table. + + + The xBestIndex method conveys an indexing strategy to the xFilter + method through the idxNum and idxStr fields. The idxNum value and + idxStr string content are arbitrary as far as the SQLite core is + concerned and can have any meaning as long as xBestIndex and xFilter + agree on what that meaning is. The SQLite core just copies the + information from xBestIndex through to the xFilter method, assuming + only that the char sequence referenced via idxStr is NUL terminated. + + + The idxStr value may be a string obtained from an SQLite + memory allocation function such as sqlite3_mprintf(). + If this is the case, then the needToFreeIdxStr flag must be set to + true so that the SQLite core will know to call sqlite3_free() on + that string when it has finished with it, and thus avoid a memory leak. + The idxStr value may also be a static constant string, in which case + the needToFreeIdxStr boolean should remain false. + + + If the virtual table will output rows in the order specified by + the ORDER BY clause, then the orderByConsumed flag may be set to + true. If the output is not automatically in the correct order + then orderByConsumed must be left in its default false setting. + This will indicate to the SQLite core that it will need to do a + separate sorting pass over the data after it comes out of the virtual table. + + + The estimatedCost field should be set to the estimated number + of disk access operations required to execute this query against + the virtual table. The SQLite core will often call xBestIndex + multiple times with different constraints, obtain multiple cost + estimates, then choose the query plan that gives the lowest estimate. + The SQLite core initializes estimatedCost to a very large value + prior to invoking xBestIndex, so if xBestIndex determines that the + current combination of parameters is undesirable, it can leave the + estimatedCost field unchanged to discourage its use. + + + If the current version of SQLite is 3.8.2 or greater, the estimatedRows + field may be set to an estimate of the number of rows returned by the + proposed query plan. If this value is not explicitly set, the default + estimate of 25 rows is used. + + + If the current version of SQLite is 3.9.0 or greater, the idxFlags field + may be set to SQLITE_INDEX_SCAN_UNIQUE to indicate that the virtual table + will return only zero or one rows given the input constraints. Additional + bits of the idxFlags field might be understood in later versions of SQLite. + + + The aConstraintUsage[] array contains one element for each of + the nConstraint constraints in the inputs section of the + sqlite3_index_info structure. + The aConstraintUsage[] array is used by xBestIndex to tell the + core how it is using the constraints. + + + The xBestIndex method may set aConstraintUsage[].argvIndex + entries to values greater than zero. + Exactly one entry should be set to 1, another to 2, another to 3, + and so forth up to as many or as few as the xBestIndex method wants. + The EXPR of the corresponding constraints will then be passed + in as the argv[] parameters to xFilter. + + + For example, if the aConstraint[3].argvIndex is set to 1, then + when xFilter is called, the argv[0] passed to xFilter will have + the EXPR value of the aConstraint[3] constraint. + + + By default, the SQLite core double checks all constraints on + each row of the virtual table that it receives. If such a check + is redundant, the xBestFilter method can suppress that double-check by + setting aConstraintUsage[].omit. + + + The xBestIndex method should return SQLITE_OK on success. If any + kind of fatal error occurs, an appropriate error code (ex: SQLITE_NOMEM) + should be returned instead. + + + If xBestIndex returns SQLITE_CONSTRAINT, that does not indicate an + error. Rather, SQLITE_CONSTRAINT indicates that the particular combination + of input parameters specified is insufficient for the virtual table + to do its job. + This is logically the same as setting the estimatedCost to infinity. + If every call to xBestIndex for a particular query plan returns + SQLITE_CONSTRAINT, that means there is no way for the virtual table + to be safely used, and the sqlite3_prepare() call will fail with + a "no query solution" error. + + + The SQLITE_CONSTRAINT return from xBestIndex + is useful for table-valued functions that + have required parameters. If the aConstraint[].usable field is false + for one of the required parameter, then the xBestIndex method should + return SQLITE_CONSTRAINT. If a required field does not appear in + the aConstraint[] array at all, that means that the corresponding + parameter is omitted from the input SQL. In that case, xBestIndex + should set an error message in pVTab->zErrMsg and return + SQLITE_ERROR. To summarize: + + ]]> + ]]> + The aConstraint[].usable value for a required parameter is + false return SQLITE_CONSTRAINT. + ]]>]]> + A required parameter does not appears anywhere in + the aConstraint[] array + Set an error message in pVTab->zErrMsg and return + SQLITE_ERROR + ]]>]]> + + The following example will better illustrate the use of SQLITE_CONSTRAINT + as a return value from xBestIndex: + + + SELECT * FROM realtab, tablevaluedfunc(realtab.x); + + + Assuming that the first hidden column of "tablevaluedfunc" is "param1", + the query above is semantically equivalent to this: + + + SELECT * FROM realtab, tablevaluedfunc + WHERE tablevaluedfunc.param1 = realtab.x; + + + The query planner must decide between many possible implementations + of this query, but two plans in particular are of note: + + ]]> + ]]>Scan all + rows of realtab and for each row, find rows in tablevaluedfunc where + param1 is equal to realtab.x + ]]>]]>Scan all rows of tablevalued func and for each row find rows + in realtab where x is equal to tablevaluedfunc.param1. + ]]>]]> + + The xBestIndex method will be invoked once for each of the potential + plans above. For plan 1, the aConstraint[].usable flag for for the + SQLITE_CONSTRAINT_EQ constraint on the param1 column will be true because + the right-hand side value for the "param1 = ?" constraint will be known, + since it is determined by the outer realtab loop. + But for plan 2, the aConstraint[].usable flag for "param1 = ?" will be false + because the right-hand side value is determined by an inner loop and is thus + an unknown quantity. Because param1 is a required input to the table-valued + functions, the xBestIndex method should return SQLITE_CONSTRAINT when presented + with plan 2, indicating that a required input is missing. This forces the + query planner to select plan 1. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_index_info structure. + + + A standard SQLite return code. + + + + + + int (*xDisconnect)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table. + Only the sqlite3_vtab object is destroyed. + The virtual table is not destroyed and any backing store + associated with the virtual table persists. + + This method undoes the work of xConnect. + + This method is a destructor for a connection to the virtual table. + Contrast this method with xDestroy. The xDestroy is a destructor + for the entire virtual table. + + + The xDisconnect method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xDestroy)(sqlite3_vtab *pVTab); + + + This method releases a connection to a virtual table, just like + the xDisconnect method, and it also destroys the underlying + table implementation. This method undoes the work of xCreate. + + + The xDisconnect method is called whenever a database connection + that uses a virtual table is closed. The xDestroy method is only + called when a DROP TABLE statement is executed against the virtual table. + + + The xDestroy method is required for every virtual table implementation, + though it is acceptable for the xDisconnect and xDestroy methods to be + the same function if that makes sense for the particular virtual table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + + + The xOpen method creates a new cursor used for accessing (read and/or + writing) a virtual table. A successful invocation of this method + will allocate the memory for the sqlite3_vtab_cursor (or a subclass), + initialize the new object, and make *ppCursor point to the new object. + The successful call then returns SQLITE_OK. + + + For every successful call to this method, the SQLite core will + later invoke the xClose method to destroy + the allocated cursor. + + + The xOpen method need not initialize the pVtab field of the + sqlite3_vtab_cursor structure. The SQLite core will take care + of that chore automatically. + + + A virtual table implementation must be able to support an arbitrary + number of simultaneously open cursors. + + + When initially opened, the cursor is in an undefined state. + The SQLite core will invoke the xFilter method + on the cursor prior to any attempt to position or read from the cursor. + + + The xOpen method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab derived structure. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xClose)(sqlite3_vtab_cursor*); + + + The xClose method closes a cursor previously opened by + xOpen. + The SQLite core will always call xClose once for each cursor opened + using xOpen. + + + This method must release all resources allocated by the + corresponding xOpen call. The routine will not be called again even if it + returns an error. The SQLite core will not use the + sqlite3_vtab_cursor again after it has been closed. + + + The xClose method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + + + This method begins a search of a virtual table. + The first argument is a cursor opened by xOpen. + The next two arguments define a particular search index previously + chosen by xBestIndex. The specific meanings of idxNum and idxStr + are unimportant as long as xFilter and xBestIndex agree on what + that meaning is. + + + The xBestIndex function may have requested the values of + certain expressions using the aConstraintUsage[].argvIndex values + of the sqlite3_index_info structure. + Those values are passed to xFilter using the argc and argv parameters. + + + If the virtual table contains one or more rows that match the + search criteria, then the cursor must be left point at the first row. + Subsequent calls to xEof must return false (zero). + If there are no rows match, then the cursor must be left in a state + that will cause the xEof to return true (non-zero). + The SQLite engine will use + the xColumn and xRowid methods to access that row content. + The xNext method will be used to advance to the next row. + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xFilter method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Number used to help identify the selected index. + + + The native pointer to the UTF-8 encoded string containing the + string used to help identify the selected index. + + + The number of native pointers to sqlite3_value structures specified + in . + + + An array of native pointers to sqlite3_value structures containing + filtering criteria for the selected index. + + + A standard SQLite return code. + + + + + + int (*xNext)(sqlite3_vtab_cursor*); + + + The xNext method advances a virtual table cursor + to the next row of a result set initiated by xFilter. + If the cursor is already pointing at the last row when this + routine is called, then the cursor no longer points to valid + data and a subsequent call to the xEof method must return true (non-zero). + If the cursor is successfully advanced to another row of content, then + subsequent calls to xEof must return false (zero). + + + This method must return SQLITE_OK if successful, or an sqlite + error code if an error occurs. + + + The xNext method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + A standard SQLite return code. + + + + + + int (*xEof)(sqlite3_vtab_cursor*); + + + The xEof method must return false (zero) if the specified cursor + currently points to a valid row of data, or true (non-zero) otherwise. + This method is called by the SQL engine immediately after each + xFilter and xNext invocation. + + + The xEof method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Non-zero if no more rows are available; zero otherwise. + + + + + + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N); + + + The SQLite core invokes this method in order to find the value for + the N-th column of the current row. N is zero-based so the first column + is numbered 0. + The xColumn method may return its result back to SQLite using one of the + following interface: + + + ]]> + ]]> sqlite3_result_blob() + ]]>]]> sqlite3_result_double() + ]]>]]> sqlite3_result_int() + ]]>]]> sqlite3_result_int64() + ]]>]]> sqlite3_result_null() + ]]>]]> sqlite3_result_text() + ]]>]]> sqlite3_result_text16() + ]]>]]> sqlite3_result_text16le() + ]]>]]> sqlite3_result_text16be() + ]]>]]> sqlite3_result_zeroblob() + ]]>]]> + + + If the xColumn method implementation calls none of the functions above, + then the value of the column defaults to an SQL NULL. + + + To raise an error, the xColumn method should use one of the result_text() + methods to set the error message text, then return an appropriate + error code. The xColumn method must return SQLITE_OK on success. + + + The xColumn method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_context structure to be used + for returning the specified column value to the SQLite core + library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + + int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid); + + + A successful invocation of this method will cause *pRowid to be + filled with the rowid of row that the + virtual table cursor pCur is currently pointing at. + This method returns SQLITE_OK on success. + It returns an appropriate error code on failure. + + + The xRowid method is required for every virtual table implementation. + + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + + int (*xUpdate)( + sqlite3_vtab *pVTab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid + ); + + + All changes to a virtual table are made using the xUpdate method. + This one method can be used to insert, delete, or update. + + + The argc parameter specifies the number of entries in the argv array. + The value of argc will be 1 for a pure delete operation or N+2 for an insert + or replace or update where N is the number of columns in the table. + In the previous sentence, N includes any hidden columns. + + + Every argv entry will have a non-NULL value in C but may contain the + SQL value NULL. In other words, it is always true that + ]]>argv[i]!=0]]> for ]]>i]]> between 0 and ]]>argc-1]]>. + However, it might be the case that + ]]>sqlite3_value_type(argv[i])==SQLITE_NULL]]>. + + + The argv[0] parameter is the rowid of a row in the virtual table + to be deleted. If argv[0] is an SQL NULL, then no deletion occurs. + + + The argv[1] parameter is the rowid of a new row to be inserted + into the virtual table. If argv[1] is an SQL NULL, then the implementation + must choose a rowid for the newly inserted row. Subsequent argv[] + entries contain values of the columns of the virtual table, in the + order that the columns were declared. The number of columns will + match the table declaration that the xConnect or xCreate method made + using the sqlite3_declare_vtab() call. All hidden columns are included. + + + When doing an insert without a rowid (argc>1, argv[1] is an SQL NULL), + on a virtual table that uses ROWID (but not on a WITHOUT ROWID virtual table), + the implementation must set *pRowid to the rowid of the newly inserted row; + this will become the value returned by the sqlite3_last_insert_rowid() + function. Setting this value in all the other cases is a harmless no-op; + the SQLite engine ignores the *pRowid return value if argc==1 or + argv[1] is not an SQL NULL. + + + Each call to xUpdate will fall into one of cases shown below. + Not that references to ]]>argv[i]]]> mean the SQL value + held within the argv[i] object, not the argv[i] + object itself. + + + ]]> + ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]> + ]]>]]> + DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted. + No insert occurs. + ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]> + ]]>]]> + INSERT: A new row is inserted with column values taken from + argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL, + then a new unique rowid is generated automatically. The argv[1] will be NULL + for a WITHOUT ROWID virtual table, in which case the implementation should + take the PRIMARY KEY value from the appropriate column in argv[2] and following. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]> + ]]>]]> + UPDATE: + The row with rowid or PRIMARY KEY argv[0] is updated with new values + in argv[2] and following parameters. + ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]> + ]]>]]> + UPDATE with rowid or PRIMARY KEY change: + The row with rowid or PRIMARY KEY argv[0] is updated with + the rowid or PRIMARY KEY in argv[1] + and new values in argv[2] and following parameters. This will occur + when an SQL statement updates a rowid, as in the statement: + + UPDATE table SET rowid=rowid+1 WHERE ...; + + ]]>]]> + + + The xUpdate method must return SQLITE_OK if and only if it is + successful. If a failure occurs, the xUpdate must return an appropriate + error code. On a failure, the pVTab->zErrMsg element may optionally + be replaced with error message text stored in memory allocated from SQLite + using functions such as sqlite3_mprintf() or sqlite3_malloc(). + + + If the xUpdate method violates some constraint of the virtual table + (including, but not limited to, attempting to store a value of the wrong + datatype, attempting to store a value that is too + large or too small, or attempting to change a read-only value) then the + xUpdate must fail with an appropriate error code. + + + If the xUpdate method is performing an UPDATE, then + sqlite3_value_nochange(X) can be used to discover which columns + of the virtual table were actually modified by the UPDATE + statement. The sqlite3_value_nochange(X) interface returns + true for columns that do not change. + On every UPDATE, SQLite will first invoke + xColumn separately for each unchanging column in the table to + obtain the value for that column. The xColumn method can + check to see if the column is unchanged at the SQL level + by invoking sqlite3_vtab_nochange(). If xColumn sees that + the column is not being modified, it should return without setting + a result using one of the sqlite3_result_xxxxx() + interfaces. Only in that case sqlite3_value_nochange() will be + true within the xUpdate method. If xColumn does + invoke one or more sqlite3_result_xxxxx() + interfaces, then SQLite understands that as a change in the value + of the column and the sqlite3_value_nochange() call for that + column within xUpdate will return false. + + + There might be one or more sqlite3_vtab_cursor objects open and in use + on the virtual table instance and perhaps even on the row of the virtual + table when the xUpdate method is invoked. The implementation of + xUpdate must be prepared for attempts to delete or modify rows of the table + out from other existing cursors. If the virtual table cannot accommodate + such changes, the xUpdate method must return an error code. + + + The xUpdate method is optional. + If the xUpdate pointer in the sqlite3_module for a virtual table + is a NULL pointer, then the virtual table is read-only. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of new or modified column values contained in + . + + + The array of native pointers to sqlite3_value structures containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + + int (*xBegin)(sqlite3_vtab *pVTab); + + + This method begins a transaction on a virtual table. + This is method is optional. The xBegin pointer of sqlite3_module + may be NULL. + + + This method is always followed by one call to either the + xCommit or xRollback method. Virtual table transactions do + not nest, so the xBegin method will not be invoked more than once + on a single virtual table + without an intervening call to either xCommit or xRollback. + Multiple calls to other methods can and likely will occur in between + the xBegin and the corresponding xCommit or xRollback. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xSync)(sqlite3_vtab *pVTab); + + + This method signals the start of a two-phase commit on a virtual + table. + This is method is optional. The xSync pointer of sqlite3_module + may be NULL. + + + This method is only invoked after call to the xBegin method and + prior to an xCommit or xRollback. In order to implement two-phase + commit, the xSync method on all virtual tables is invoked prior to + invoking the xCommit method on any virtual table. If any of the + xSync methods fail, the entire transaction is rolled back. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xCommit)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to commit. + This is method is optional. The xCommit pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin and + xSync. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xRollback)(sqlite3_vtab *pVTab); + + + This method causes a virtual table transaction to rollback. + This is method is optional. The xRollback pointer of sqlite3_module + may be NULL. + + + A call to this method always follows a prior call to xBegin. + + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + + int (*xFindFunction)( + sqlite3_vtab *pVtab, + int nArg, + const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg + ); + + + This method is called during sqlite3_prepare() to give the virtual + table implementation an opportunity to overload functions. + This method may be set to NULL in which case no overloading occurs. + + + When a function uses a column from a virtual table as its first + argument, this method is called to see if the virtual table would + like to overload the function. The first three parameters are inputs: + the virtual table, the number of arguments to the function, and the + name of the function. If no overloading is desired, this method + returns 0. To overload the function, this method writes the new + function implementation into *pxFunc and writes user data into *ppArg + and returns either 1 or a number between + SQLITE_INDEX_CONSTRAINT_FUNCTION and 255. + + + Historically, the return value from xFindFunction() was either zero + or one. Zero means that the function is not overloaded and one means that + it is overload. The ability to return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater was added in + version 3.25.0 (2018-09-15). If xFindFunction returns + SQLITE_INDEX_CONSTRAINT_FUNCTION or greater, than means that the function + takes two arguments and the function + can be used as a boolean in the WHERE clause of a query and that + the virtual table is able to exploit that function to speed up the query + result. When xFindFunction returns SQLITE_INDEX_CONSTRAINT_FUNCTION or + larger, the value returned becomes the sqlite3_index_info.aConstraint.op + value for one of the constraints passed into xBestIndex() and the second + argument becomes the value corresponding to that constraint that is passed + to xFilter(). This enables the + xBestIndex()/xFilter implementations to use the function to speed + its search. + + + The technique of having xFindFunction() return values of + SQLITE_INDEX_CONSTRAINT_FUNCTION was initially used in the implementation + of the Geopoly module. The xFindFunction() method of that module returns + SQLITE_INDEX_CONSTRAINT_FUNCTION for the geopoly_overlap() SQL function + and it returns + SQLITE_INDEX_CONSTRAINT_FUNCTION+1 for the geopoly_within() SQL function. + This permits search optimizations for queries such as: + + + SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon); + + + Note that infix functions (LIKE, GLOB, REGEXP, and MATCH) reverse + the order of their arguments. So "like(A,B)" would normally work the same + as "B like A". + However, xFindFunction() always looks a the left-most argument, not + the first logical argument. + Hence, for the form "B like A", SQLite looks at the + left operand "B" and if that operand is a virtual table column + it invokes the xFindFunction() method on that virtual table. + But if the form "like(A,B)" is used instead, then SQLite checks + the A term to see if it is column of a virtual table and if so + it invokes the xFindFunction() method for the virtual table of + column A. + + + The function pointer returned by this routine must be valid for + the lifetime of the sqlite3_vtab object given in the first parameter. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + delegate responsible for implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + + + This method provides notification that the virtual table implementation + that the virtual table will be given a new name. + If this method returns SQLITE_OK then SQLite renames the table. + If this method returns an error code then the renaming is prevented. + + + The xRename method is optional. If omitted, then the virtual + table may not be renamed using the ALTER TABLE RENAME command. + + + The PRAGMA legacy_alter_table setting is enabled prior to invoking this + method, and the value for legacy_alter_table is restored after this + method finishes. This is necessary for the correct operation of virtual + tables that make use of shadow tables where the shadow tables must be + renamed to match the new virtual table name. If the legacy_alter_format is + off, then the xConnect method will be invoked for the virtual table every + time the xRename method tries to change the name of the shadow table. + + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the UTF-8 encoded string containing the new + name for the virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + + int (*xSavepoint)(sqlite3_vtab *pVtab, int); + int (*xRelease)(sqlite3_vtab *pVtab, int); + int (*xRollbackTo)(sqlite3_vtab *pVtab, int); + + + These methods provide the virtual table implementation an opportunity to + implement nested transactions. They are always optional and will only be + called in SQLite version 3.7.7 (2011-06-23) and later. + + + When xSavepoint(X,N) is invoked, that is a signal to the virtual table X + that it should save its current state as savepoint N. + A subsequent call + to xRollbackTo(X,R) means that the state of the virtual table should return + to what it was when xSavepoint(X,R) was last called. + The call + to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the + invalided savepoints will be rolled back or released without first + being reinitialized by a call to xSavepoint(). + A call to xRelease(X,M) invalidates all savepoints where N>=M. + + + None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever + be called except in between calls to xBegin() and + either xCommit() or xRollback(). + + + + The native pointer to the sqlite3_vtab derived structure. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class represents a context from the SQLite core library that can + be passed to the sqlite3_result_*() and associated functions. + + + + + The native context handle. + + + + + Constructs an instance of this class using the specified native + context handle. + + + The native context handle to use. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Sets the context result to NULL. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to the specified + value. + + + The value to use. This value will be + converted to the UTF-8 encoding prior to being used. + + + + + Sets the context result to the specified + value containing an error message. + + + The value containing the error message text. + This value will be converted to the UTF-8 encoding prior to being + used. + + + + + Sets the context result to the specified + value. + + + The value to use. + + + + + Sets the context result to contain the error code SQLITE_TOOBIG. + + + + + Sets the context result to contain the error code SQLITE_NOMEM. + + + + + Sets the context result to the specified array + value. + + + The array value to use. + + + + + Sets the context result to a BLOB of zeros of the specified size. + + + The number of zero bytes to use for the BLOB context result. + + + + + Sets the context result to the specified . + + + The to use. + + + + + This class represents a value from the SQLite core library that can be + passed to the sqlite3_value_*() and associated functions. + + + + + The native value handle. + + + + + Constructs an instance of this class using the specified native + value handle. + + + The native value handle to use. + + + + + Invalidates the native value handle, thereby preventing further + access to it from this object instance. + + + + + Converts a native pointer to a native sqlite3_value structure into + a managed object instance. + + + The native pointer to a native sqlite3_value structure to convert. + + + The managed object instance or null upon + failure. + + + + + Converts a logical array of native pointers to native sqlite3_value + structures into a managed array of + object instances. + + + The number of elements in the logical array of native sqlite3_value + structures. + + + The native pointer to the logical array of native sqlite3_value + structures to convert. + + + The managed array of object instances or + null upon failure. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Returns non-zero if the native SQLite value has been successfully + persisted as a managed value within this object instance (i.e. the + property may then be read successfully). + + + + + If the managed value for this object instance is available (i.e. it + has been previously persisted via the ) method, + that value is returned; otherwise, an exception is thrown. The + returned value may be null. + + + + + Gets and returns the type affinity associated with this value. + + + The type affinity associated with this value. + + + + + Gets and returns the number of bytes associated with this value, if + it refers to a UTF-8 encoded string. + + + The number of bytes associated with this value. The returned value + may be zero. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with + this value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. + + + + + Gets and returns the associated with this + value. + + + The associated with this value. The value is + converted from the UTF-8 encoding prior to being returned. + + + + + Gets and returns the array associated with this + value. + + + The array associated with this value. + + + + + Gets and returns an instance associated with + this value. + + + The associated with this value. If the type + affinity of the object is unknown or cannot be determined, a null + value will be returned. + + + + + Uses the native value handle to obtain and store the managed value + for this object instance, thus saving it for later use. The type + of the managed value is determined by the type affinity of the + native value. If the type affinity is not recognized by this + method, no work is done and false is returned. + + + Non-zero if the native value was persisted successfully. + + + + + These are the allowed values for the operators that are part of a + constraint term in the WHERE clause of a query that uses a virtual + table. + + + + + This value represents the equality operator. + + + + + This value represents the greater than operator. + + + + + This value represents the less than or equal to operator. + + + + + This value represents the less than operator. + + + + + This value represents the greater than or equal to operator. + + + + + This value represents the MATCH operator. + + + + + This value represents the LIKE operator. + + + + + This value represents the GLOB operator. + + + + + This value represents the REGEXP operator. + + + + + This value represents the inequality operator. + + + + + This value represents the IS NOT operator. + + + + + This value represents the IS NOT NULL operator. + + + + + This value represents the IS NULL operator. + + + + + This value represents the IS operator. + + + + + These are the allowed values for the index flags from the + method. + + + + + No special handling. This is the default. + + + + + This value indicates that the scan of the index will visit at + most one row. + + + + + This class represents the native sqlite3_index_constraint structure + from the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint structure. + + + The native sqlite3_index_constraint structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column on left-hand side of constraint. + + + Constraint operator (). + + + True if this constraint is usable. + + + Used internally - + should ignore. + + + + + Column on left-hand side of constraint. + + + + + Constraint operator (). + + + + + True if this constraint is usable. + + + + + Used internally - + should ignore. + + + + + This class represents the native sqlite3_index_orderby structure from + the SQLite core library. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_orderby structure. + + + The native sqlite3_index_orderby structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + Column number. + + + True for DESC. False for ASC. + + + + + Column number. + + + + + True for DESC. False for ASC. + + + + + This class represents the native sqlite3_index_constraint_usage + structure from the SQLite core library. + + + + + Constructs a default instance of this class. + + + + + Constructs an instance of this class using the specified native + sqlite3_index_constraint_usage structure. + + + The native sqlite3_index_constraint_usage structure to use. + + + + + Constructs an instance of this class using the specified field + values. + + + If greater than 0, constraint is part of argv to xFilter. + + + Do not code a test for this constraint. + + + + + If greater than 0, constraint is part of argv to xFilter. + + + + + Do not code a test for this constraint. + + + + + This class represents the various inputs provided by the SQLite core + library to the method. + + + + + Constructs an instance of this class. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + An array of object instances, + each containing information supplied by the SQLite core library. + + + + + This class represents the various outputs provided to the SQLite core + library by the method. + + + + + Constructs an instance of this class. + + + The number of instances + to pre-allocate space for. + + + + + Determines if the native estimatedRows field can be used, based on + the available version of the SQLite core library. + + + Non-zero if the property is supported + by the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + Determines if the native flags field can be used, based on the + available version of the SQLite core library. + + + Non-zero if the property is supported by + the SQLite core library. + + + + + An array of object + instances, each containing information to be supplied to the SQLite + core library. + + + + + Number used to help identify the selected index. This value will + later be provided to the + method. + + + + + String used to help identify the selected index. This value will + later be provided to the + method. + + + + + Non-zero if the index string must be freed by the SQLite core + library. + + + + + True if output is already ordered. + + + + + Estimated cost of using this index. Using a null value here + indicates that a default estimated cost value should be used. + + + + + Estimated number of rows returned. Using a null value here + indicates that a default estimated rows value should be used. + This property has no effect if the SQLite core library is not at + least version 3.8.2. + + + + + The flags that should be used with this index. Using a null value + here indicates that a default flags value should be used. This + property has no effect if the SQLite core library is not at least + version 3.9.0. + + + + + + Indicates which columns of the virtual table may be required by the + current scan. Virtual table columns are numbered from zero in the + order in which they appear within the CREATE TABLE statement passed + to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), + the corresponding bit is set within the bit mask if the column may + be required by SQLite. If the table has at least 64 columns and + any column to the right of the first 63 is required, then bit 63 of + colUsed is also set. In other words, column iCol may be required + if the expression + + + (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) + + + evaluates to non-zero. Using a null value here indicates that a + default flags value should be used. This property has no effect if + the SQLite core library is not at least version 3.10.0. + + + + + + This class represents the various inputs and outputs used with the + method. + + + + + Constructs an instance of this class. + + + The number of (and + ) instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + + + Attempts to determine the structure sizes needed to create and + populate a native + + structure. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + The size of the native + + structure is stored here. + + + + + Attempts to allocate and initialize a native + + structure. + + + The number of instances to + pre-allocate space for. + + + The number of instances to + pre-allocate space for. + + + The newly allocated native + structure + -OR- if it could not be fully allocated. + + + + + Frees all the memory associated with a native + + structure. + + + The native pointer to the native sqlite3_index_info structure to + free. + + + + + Converts a native pointer to a native sqlite3_index_info structure + into a new object instance. + + + The native pointer to the native sqlite3_index_info structure to + convert. + + + Non-zero to include fields from the outputs portion of the native + structure; otherwise, the "output" fields will not be read. + + + Upon success, this parameter will be modified to contain the newly + created object instance. + + + + + Populates the outputs of a pre-allocated native sqlite3_index_info + structure using an existing object + instance. + + + The existing object instance containing + the output data to use. + + + The native pointer to the pre-allocated native sqlite3_index_info + structure. + + + Non-zero to include fields from the inputs portion of the native + structure; otherwise, the "input" fields will not be written. + + + + + The object instance containing + the inputs to the + method. + + + + + The object instance containing + the outputs from the + method. + + + + + This class represents a managed virtual table implementation. It is + not sealed and should be used as the base class for any user-defined + virtual table classes implemented in managed code. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the module implementing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the database containing this virtual table. + + + + + The index within the array of strings provided to the + and + methods containing the + name of the virtual table. + + + + + Constructs an instance of this class. + + + The original array of strings provided to the + and + methods. + + + + + The original array of strings provided to the + and + methods. + + + + + The name of the module implementing this virtual table. + + + + + The name of the database containing this virtual table. + + + + + The name of the virtual table. + + + + + The object instance containing all the + data for the inputs and outputs relating to the most recent index + selection. + + + + + This method should normally be used by the + method in order to + perform index selection based on the constraints provided by the + SQLite core library. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + Non-zero upon success. + + + + + Attempts to record the renaming of the virtual table associated + with this object instance. + + + The new name for the virtual table. + + + Non-zero upon success. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + This class represents a managed virtual table cursor implementation. + It is not sealed and should be used as the base class for any + user-defined virtual table cursor classes implemented in managed code. + + + + + This value represents an invalid integer row sequence number. + + + + + The field holds the integer row sequence number for the current row + pointed to by this cursor object instance. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + + + Constructs an instance of this class. + + + + + The object instance associated + with this object instance. + + + + + Number used to help identify the selected index. This value will + be set via the method. + + + + + String used to help identify the selected index. This value will + be set via the method. + + + + + The values used to filter the rows returned via this cursor object + instance. This value will be set via the + method. + + + + + Attempts to persist the specified object + instances in order to make them available after the + method returns. + + + The array of object instances to be + persisted. + + + The number of object instances that were + successfully persisted. + + + + + This method should normally be used by the + method in order to + perform filtering of the result rows and/or to record the filtering + criteria provided by the SQLite core library. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + + + Determines the integer row sequence number for the current row. + + + The integer row sequence number for the current row -OR- zero if + it cannot be determined. + + + + + Adjusts the integer row sequence number so that it refers to the + next row. + + + + + Returns the underlying SQLite native handle associated with this + object instance. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being called + from the finalizer. + + + + + Finalizes this object instance. + + + + + This interface represents a native handle provided by the SQLite core + library. + + + + + The native handle value. + + + + + This interface represents a virtual table implementation written in + managed code. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + This class contains static methods that are used to allocate, + manipulate, and free native memory provided by the SQLite core library. + + + + + Determines if the native sqlite3_msize() API can be used, based on + the available version of the SQLite core library. + + + Non-zero if the native sqlite3_msize() API is supported by the + SQLite core library. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer. If the TRACK_MEMORY_BYTES option + was enabled at compile-time, adjusts the number of bytes currently + allocated by this class. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Allocates at least the specified number of bytes of native memory + via the SQLite core library sqlite3_malloc64() function and returns + the resulting native pointer without adjusting the number of + allocated bytes currently tracked by this class. This is useful + when dealing with blocks of memory that will be freed directly by + the SQLite core library. + + + The number of bytes to allocate. + + + The native pointer that points to a block of memory of at least the + specified size -OR- if the memory could + not be allocated. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Gets and returns the actual size of the specified memory block + that was previously obtained from the , + , , or + methods or directly from the + SQLite core library. + + + The native pointer to the memory block previously obtained from + the , , + , or + methods or directly from the + SQLite core library. + + + The actual size, in bytes, of the memory block specified via the + native pointer. + + + + + Frees a memory block previously obtained from the + or methods. If + the TRACK_MEMORY_BYTES option was enabled at compile-time, adjusts + the number of bytes currently allocated by this class. + + + The native pointer to the memory block previously obtained from the + or methods. + + + + + Frees a memory block previously obtained from the SQLite core + library without adjusting the number of allocated bytes currently + tracked by this class. This is useful when dealing with blocks of + memory that were not allocated using this class. + + + The native pointer to the memory block previously obtained from the + SQLite core library. + + + + + This class contains static methods that are used to deal with native + UTF-8 string pointers to be used with the SQLite core library. + + + + + This is the maximum possible length for the native UTF-8 encoded + strings used with the SQLite core library. + + + + + This is the object instance used to handle + conversions from/to UTF-8. + + + + + Converts the specified managed string into the UTF-8 encoding and + returns the array of bytes containing its representation in that + encoding. + + + The managed string to convert. + + + The array of bytes containing the representation of the managed + string in the UTF-8 encoding or null upon failure. + + + + + Converts the specified array of bytes representing a string in the + UTF-8 encoding and returns a managed string. + + + The array of bytes to convert. + + + The managed string or null upon failure. + + + + + Probes a native pointer to a string in the UTF-8 encoding for its + terminating NUL character, within the specified length limit. + + + The native NUL-terminated string pointer. + + + The maximum length of the native string, in bytes. + + + The length of the native string, in bytes -OR- zero if the length + could not be determined. + + + + + Converts the specified native NUL-terminated UTF-8 string pointer + into a managed string. + + + The native NUL-terminated UTF-8 string pointer. + + + The managed string or null upon failure. + + + + + Converts the specified native UTF-8 string pointer of the specified + length into a managed string. + + + The native UTF-8 string pointer. + + + The length of the native string, in bytes. + + + The managed string or null upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts the specified managed string into a native NUL-terminated + UTF-8 string pointer using memory obtained from the SQLite core + library. + + + The managed string to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The length of the native string, in bytes. + + + The native NUL-terminated UTF-8 string pointer or + upon failure. + + + + + Converts a logical array of native NUL-terminated UTF-8 string + pointers into an array of managed strings. + + + The number of elements in the logical array of native + NUL-terminated UTF-8 string pointers. + + + The native pointer to the logical array of native NUL-terminated + UTF-8 string pointers to convert. + + + The array of managed strings or null upon failure. + + + + + Converts an array of managed strings into an array of native + NUL-terminated UTF-8 string pointers. + + + The array of managed strings to convert. + + + Non-zero to obtain memory from the SQLite core library without + adjusting the number of allocated bytes currently being tracked + by the class. + + + The array of native NUL-terminated UTF-8 string pointers or null + upon failure. + + + + + This class contains static methods that are used to deal with native + pointers to memory blocks that logically contain arrays of bytes to be + used with the SQLite core library. + + + + + Converts a native pointer to a logical array of bytes of the + specified length into a managed byte array. + + + The native pointer to the logical array of bytes to convert. + + + The length, in bytes, of the logical array of bytes to convert. + + + The managed byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The native pointer to a logical byte array or null upon failure. + + + + + Converts a managed byte array into a native pointer to a logical + array of bytes. + + + The managed byte array to convert. + + + The length, in bytes, of the converted logical array of bytes. + + + The native pointer to a logical byte array or null upon failure. + + + + + This class contains static methods that are used to perform several + low-level data marshalling tasks between native and managed code. + + + + + Returns a new object instance based on the + specified object instance and an integer + offset. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location that the new + object instance should point to. + + + The new object instance. + + + + + Rounds up an integer size to the next multiple of the alignment. + + + The size, in bytes, to be rounded up. + + + The required alignment for the return value. + + + The size, in bytes, rounded up to the next multiple of the + alignment. This value may end up being the same as the original + size. + + + + + Determines the offset, in bytes, of the next structure member. + + + The offset, in bytes, of the current structure member. + + + The size, in bytes, of the current structure member. + + + The alignment, in bytes, of the next structure member. + + + The offset, in bytes, of the next structure member. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Reads a value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + to be read is located. + + + The value at the specified memory location. + + + + + Reads an value from the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be read is located. + + + The value at the specified memory location. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes an value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Writes a value to the specified memory + location. + + + The object instance representing the base + memory location. + + + The integer offset from the base memory location where the + value to be written is located. + + + The value to write. + + + + + Generates a hash code value for the object. + + + The object instance used to calculate the hash code. + + + Non-zero if different object instances with the same value should + generate different hash codes, where applicable. This parameter + has no effect on the .NET Compact Framework. + + + The hash code value -OR- zero if the object is null. + + + + + This class represents a managed virtual table module implementation. + It is not sealed and must be used as the base class for any + user-defined virtual table module classes implemented in managed code. + + + + + This class implements the + interface by forwarding those method calls to the + object instance it contains. If the + contained object instance is null, all + the methods simply generate an + error. + + + + + This is the value that is always used for the "logErrors" + parameter to the various static error handling methods provided + by the class. + + + + + This is the value that is always used for the "logExceptions" + parameter to the various static error handling methods provided + by the class. + + + + + This is the error message text used when the contained + object instance is not available + for any reason. + + + + + The object instance used to provide + an implementation of the + interface. + + + + + Constructs an instance of this class. + + + The object instance used to provide + an implementation of the + interface. + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab derived structure. + + + The value of . + + + + + Sets the table error message to one that indicates the native + module implementation is not available. + + + The native pointer to the sqlite3_vtab_cursor derived + structure. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + The default version of the native sqlite3_module structure in use. + + + + + This field is used to store the native sqlite3_module structure + associated with this object instance. + + + + + This field is used to store the destructor delegate to be passed to + the SQLite core library via the sqlite3_create_disposable_module() + function. + + + + + This field is used to store a pointer to the native sqlite3_module + structure returned by the sqlite3_create_disposable_module + function. + + + + + This field is used to store the virtual table instances associated + with this module. The native pointer to the sqlite3_vtab derived + structure is used to key into this collection. + + + + + This field is used to store the virtual table cursor instances + associated with this module. The native pointer to the + sqlite3_vtab_cursor derived structure is used to key into this + collection. + + + + + This field is used to store the virtual table function instances + associated with this module. The case-insensitive function name + and the number of arguments (with -1 meaning "any") are used to + construct the string that is used to key into this collection. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Calls the native SQLite core library in order to create a new + disposable module containing the implementation of a virtual table. + + + The native database connection pointer to use. + + + Non-zero upon success. + + + + + This method is called by the SQLite core library when the native + module associated with this object instance is being destroyed due + to its parent connection being closed. It may also be called by + the "vtshim" module if/when the sqlite3_dispose_module() function + is called. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + + + Creates and returns the native sqlite_module structure using the + configured (or default) + interface implementation. + + + The native sqlite_module structure using the configured (or + default) interface + implementation. + + + + + Creates and returns the native sqlite_module structure using the + specified interface + implementation. + + + The interface implementation to + use. + + + The native sqlite_module structure using the specified + interface implementation. + + + + + Creates a copy of the specified + object instance, + using default implementations for the contained delegates when + necessary. + + + The object + instance to copy. + + + The new object + instance. + + + + + Calls one of the virtual table initialization methods. + + + Non-zero to call the + method; otherwise, the + method will be called. + + + The native database connection handle. + + + The original native pointer value that was provided to the + sqlite3_create_module(), sqlite3_create_module_v2() or + sqlite3_create_disposable_module() functions. + + + The number of arguments from the CREATE VIRTUAL TABLE statement. + + + The array of string arguments from the CREATE VIRTUAL TABLE + statement. + + + Upon success, this parameter must be modified to point to the newly + created native sqlite3_vtab derived structure. + + + Upon failure, this parameter must be modified to point to the error + message, with the underlying memory having been obtained from the + sqlite3_malloc() function. + + + A standard SQLite return code. + + + + + Calls one of the virtual table finalization methods. + + + Non-zero to call the + method; otherwise, the + method will be + called. + + + The native pointer to the sqlite3_vtab derived structure. + + + A standard SQLite return code. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + used to get the native pointer to the sqlite3_vtab derived + structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance to be used. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + Non-zero if this error message should also be logged using the + class. + + + Non-zero if caught exceptions should be logged using the + class. + + + The error message. + + + Non-zero upon success. + + + + + Gets and returns the interface + implementation to be used when creating the native sqlite3_module + structure. Derived classes may override this method to supply an + alternate implementation for the + interface. + + + The interface implementation to + be used when populating the native sqlite3_module structure. If + the returned value is null, the private methods provided by the + class and relating to the + interface will be used to + create the necessary delegates. + + + + + Creates and returns the + interface implementation corresponding to the current + object instance. + + + The interface implementation + corresponding to the current object + instance. + + + + + Allocates a native sqlite3_vtab derived structure and returns a + native pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Zeros out the fields of a native sqlite3_vtab derived structure. + + + The native pointer to the native sqlite3_vtab derived structure to + zero. + + + + + Frees a native sqlite3_vtab structure using the provided native + pointer to it. + + + A native pointer to a native sqlite3_vtab derived structure. + + + + + Allocates a native sqlite3_vtab_cursor derived structure and + returns a native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Frees a native sqlite3_vtab_cursor structure using the provided + native pointer to it. + + + A native pointer to a native sqlite3_vtab_cursor derived structure. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The object instance to be used. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Reads and returns the native pointer to the sqlite3_vtab derived + structure based on the native pointer to the sqlite3_vtab_cursor + derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure + from which to read the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure -OR- + if it cannot be determined. + + + + + Looks up and returns the object + instance based on the native pointer to the sqlite3_vtab derived + structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The object instance or null if + the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab derived + structure and creates an association between it and the specified + object instance. + + + The object instance to be used + when creating the association. + + + The native pointer to a sqlite3_vtab derived structure or + if the method fails for any reason. + + + + + Looks up and returns the + object instance based on the native pointer to the + sqlite3_vtab_cursor derived structure. + + + The native pointer to the sqlite3_vtab derived structure. + + + The native pointer to the sqlite3_vtab_cursor derived structure. + + + The object instance or null + if the corresponding one cannot be found. + + + + + Allocates and returns a native pointer to a sqlite3_vtab_cursor + derived structure and creates an association between it and the + specified object instance. + + + The object instance to be + used when creating the association. + + + The native pointer to a sqlite3_vtab_cursor derived structure or + if the method fails for any reason. + + + + + Deterimines the key that should be used to identify and store the + object instance for the virtual table + (i.e. to be returned via the + method). + + + The number of arguments to the virtual table function. + + + The name of the virtual table function. + + + The object instance associated with + this virtual table function. + + + The string that should be used to identify and store the virtual + table function instance. This method cannot return null. If null + is returned from this method, the behavior is undefined. + + + + + Attempts to declare the schema for the virtual table using the + specified database connection. + + + The object instance to use when + declaring the schema of the virtual table. This parameter may not + be null. + + + The string containing the CREATE TABLE statement that completely + describes the schema for the virtual table. This parameter may not + be null. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + Calls the native SQLite core library in order to declare a virtual + table function in response to a call into the + + or virtual table + methods. + + + The object instance to use when + declaring the schema of the virtual table. + + + The number of arguments to the function being declared. + + + The name of the function being declared. + + + Upon success, the contents of this parameter are undefined. Upon + failure, it should contain an appropriate error message. + + + A standard SQLite return code. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + the method, + the method, + the method, + and the method should be logged using the + class. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Arranges for the specified error message to be placed into the + zErrMsg field of a sqlite3_vtab derived structure, freeing the + existing error message, if any. + + + The object instance used to + lookup the native pointer to the sqlite3_vtab derived structure. + + + The error message. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated cost. + + + The object instance to modify. + + + The estimated cost value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated cost. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified estimated rows. + + + The object instance to modify. + + + The estimated rows value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default estimated rows. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the specified flags. + + + The object instance to modify. + + + The index flags value to use. Using a null value means that the + default value provided by the SQLite core library should be used. + + + Non-zero upon success. + + + + + Modifies the specified object instance + to contain the default index flags. + + + The object instance to modify. + + + Non-zero upon success. + + + + + Returns or sets a boolean value indicating whether virtual table + errors should be logged using the class. + + + + + Returns or sets a boolean value indicating whether exceptions + caught in the + method, + method, and the + method should be logged using the + class. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Returns non-zero if the schema for the virtual table has been + declared. + + + + + Returns the name of the module as it was registered with the SQLite + core library. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated with + the virtual table. + + + The native user-data pointer associated with this module, as it was + provided to the SQLite core library when the native module instance + was created. + + + The module name, database name, virtual table name, and all other + arguments passed to the CREATE VIRTUAL TABLE statement. + + + Upon success, this parameter must be modified to contain the + object instance associated with + the virtual table. + + + Upon failure, this parameter must be modified to contain an error + message. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The object instance containing all the + data for the inputs and outputs relating to index selection. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + Upon success, this parameter must be modified to contain the + object instance associated + with the newly opened virtual table cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Number used to help identify the selected index. + + + String used to help identify the selected index. + + + The values corresponding to each column in the selected index. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Non-zero if no more rows are available; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to be used for + returning the specified column value to the SQLite core library. + + + The zero-based index corresponding to the column containing the + value to be returned. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the current row for the specified cursor. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The array of object instances containing + the new or modified column values, if any. + + + Upon success, this parameter must be modified to contain the unique + integer row identifier for the row that was inserted, if any. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The number of arguments to the function being sought. + + + The name of the function being sought. + + + Upon success, this parameter must be modified to contain the + object instance responsible for + implementing the specified function. + + + Upon success, this parameter must be modified to contain the + native user-data pointer associated with + . + + + Non-zero if the specified function was found; zero otherwise. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + The new name for the virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier under which the the current state of + the virtual table should be saved. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer used to indicate that any saved states with an + identifier greater than or equal to this should be deleted by the + virtual table. + + + A standard SQLite return code. + + + + + This method is called in response to the + method. + + + The object instance associated + with this virtual table. + + + This is an integer identifier used to specify a specific saved + state for the virtual table for it to restore itself back to, which + should also have the effect of deleting all saved states with an + integer identifier greater than this one. + + + A standard SQLite return code. + + + + + Disposes of this object instance. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is being + called from the finalizer. + + + + + Finalizes this object instance. + + + + + This class contains some virtual methods that may be useful for other + virtual table classes. It specifically does NOT implement any of the + interface methods. + + + + + The CREATE TABLE statement used to declare the schema for the + virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Determines the SQL statement used to declare the virtual table. + This method should be overridden in derived classes if they require + a custom virtual table schema. + + + The SQL statement used to declare the virtual table -OR- null if it + cannot be determined. + + + + + Sets the table error message to one that indicates the virtual + table cursor is of the wrong type. + + + The object instance. + + + The that the virtual table cursor should be. + + + The value of . + + + + + Determines the string to return as the column value for the object + instance value. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a string representation for. + + + The string representation of the specified object instance or null + upon failure. + + + + + Constructs an unique row identifier from two + values. The first value + must contain the row sequence number for the current row and the + second value must contain the hash code of the key column value + for the current row. + + + The integer row sequence number for the current row. + + + The hash code of the key column value for the current row. + + + The unique row identifier or zero upon failure. + + + + + Determines the unique row identifier for the current row. + + + The object instance + associated with the previously opened virtual table cursor to be + used. + + + The object instance to return a unique row identifier for. + + + The unique row identifier or zero upon failure. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this cursor + was created. + + + + + This value will be non-zero if false has been returned from the + method. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Advances to the next row of the virtual table cursor using the + method of the + object instance. + + + Non-zero if the current row is valid; zero otherwise. If zero is + returned, no further rows are available. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Resets the virtual table cursor position, also invalidating the + current row, using the method of + the object instance. + + + + + Returns non-zero if the end of the virtual table cursor has been + seen (i.e. no more rows are available, including the current one). + + + + + Returns non-zero if the virtual table cursor is open. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if the virtual + table cursor has been closed. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. The following short + example shows it being used to treat an array of strings as a table + data source: + + public static class Sample + { + public static void Main() + { + using (SQLiteConnection connection = new SQLiteConnection( + "Data Source=:memory:;")) + { + connection.Open(); + + connection.CreateModule(new SQLiteModuleEnumerable( + "sampleModule", new string[] { "one", "two", "three" })); + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = + "CREATE VIRTUAL TABLE t1 USING sampleModule;"; + + command.ExecuteNonQuery(); + } + + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = "SELECT * FROM t1;"; + + using (SQLiteDataReader dataReader = command.ExecuteReader()) + { + while (dataReader.Read()) + Console.WriteLine(dataReader[0].ToString()); + } + } + + connection.Close(); + } + } + } + + + + + + The instance containing the backing data + for the virtual table. + + + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This has no + effect on the .NET Compact Framework. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + Non-zero if different object instances with the same value should + generate different row identifiers, where applicable. This + parameter has no effect on the .NET Compact Framework. + + + + + Sets the table error message to one that indicates the virtual + table cursor has no current row. + + + The object instance. + + + The value of . + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class represents a virtual table cursor to be used with the + class. It is not sealed and may + be used as the base class for any user-defined virtual table cursor + class that wraps an object instance. + + + + + The instance provided when this + cursor was created. + + + + + Constructs an instance of this class. + + + The object instance associated + with this object instance. + + + The instance to expose as a virtual + table cursor. + + + + + Returns the value for the current row of the virtual table cursor + using the property of the + object instance. + + + + + Closes the virtual table cursor. This method must not throw any + exceptions. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class implements a virtual table module that exposes an + object instance as a read-only virtual + table. It is not sealed and may be used as the base class for any + user-defined virtual table class that wraps an + object instance. + + + + + The instance containing the backing + data for the virtual table. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + The instance to expose as a virtual + table. This parameter cannot be null. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This class implements a virtual table module that does nothing by + providing "empty" implementations for all of the + interface methods. The result + codes returned by these "empty" method implementations may be + controlled on a per-method basis by using and/or overriding the + , + , + , + , and + methods from within derived classes. + + + + + This field is used to store the + values to return, on a per-method basis, for all methods that are + part of the interface. + + + + + Constructs an instance of this class. + + + The name of the module. This parameter cannot be null. + + + + + Determines the default value to be + returned by methods of the + interface that lack an overridden implementation in all classes + derived from the class. + + + The value that should be returned + by all interface methods unless + a more specific result code has been set for that interface method. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Converts a value into a boolean + return value for use with the + method. + + + The value to convert. + + + The value. + + + + + Determines the value that should be + returned by the specified + interface method if it lack an overridden implementation. If no + specific value is available (or set) + for the specified method, the value + returned by the method will be + returned instead. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + + + Sets the value that should be + returned by the specified + interface method if it lack an overridden implementation. + + + The name of the method. Currently, this method must be part of + the interface. + + + The value that should be returned + by the interface method. + + + Non-zero upon success. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + See the method. + + + See the method. + + + See the method. + + + See the method. + + + + + Throws an if this object + instance has been disposed. + + + + + Disposes of this object instance. + + + Non-zero if this method is being called from the + method. Zero if this method is + being called from the finalizer. + + + + + This enumerated type represents a type of conflict seen when apply + changes from a change set or patch set. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is present in the + database, but one or more other (non primary-key) fields modified + by the update do not contain the expected "before" values. + + + + + This value is seen when processing a DELETE or UPDATE change if a + row with the required PRIMARY KEY fields is not present in the + database. There is no conflicting row in this case. + + The results of invoking the + + method are undefined. + + + + + This value is seen when processing an INSERT change if the + operation would result in duplicate primary key values. + The conflicting row in this case is the database row with the + matching primary key. + + + + + If a non-foreign key constraint violation occurs while applying a + change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict + callback will see this value. + + There is no conflicting row in this case. The results of invoking + the + method are undefined. + + + + + If foreign key handling is enabled, and applying a changes leaves + the database in a state containing foreign key violations, this + value will be seen exactly once before the changes are committed. + If the conflict handler + , the changes, + including those that caused the foreign key constraint violation, + are committed. Or, if it returns + , the changes are + rolled back. + + No current or conflicting row information is provided. The only + method it is possible to call on the supplied + object is + . + + + + + This enumerated type represents the result of a user-defined conflict + resolution callback. + + + + + If a conflict callback returns this value no special action is + taken. The change that caused the conflict is not applied. The + application of changes continues with the next change. + + + + + This value may only be returned from a conflict callback if the + type of conflict was + or . If this is + not the case, any changes applied so far are rolled back and the + call to + + will raise a with an error code of + . + + If this value is returned for a + conflict, then the + conflicting row is either updated or deleted, depending on the type + of change. + + If this value is returned for a + conflict, then + the conflicting row is removed from the database and a second + attempt to apply the change is made. If this second attempt fails, + the original row is restored to the database before continuing. + + + + + If this value is returned, any changes applied so far are rolled + back and the call to + + will raise a with an error code of + . + + + + + This enumerated type represents possible flags that may be passed + to the appropriate overloads of various change set creation methods. + + + + + No special handling. + + + + + Invert the change set while iterating through it. + This is equivalent to inverting a change set using + before + applying it. It is an error to specify this flag + with a patch set. + + + + + This callback is invoked when a determination must be made about + whether changes to a specific table should be tracked -OR- applied. + It will not be called for tables that are already attached to a + . + + + The optional application-defined context data that was originally + passed to the or + + methods. This value may be null. + + + The name of the table. + + + Non-zero if changes to the table should be considered; otherwise, + zero. Throwing an exception from this callback will result in + undefined behavior. + + + + + This callback is invoked when there is a conflict while apply changes + to a database. + + + The optional application-defined context data that was originally + passed to the + + method. This value may be null. + + + The type of this conflict. + + + The object associated with + this conflict. This value may not be null; however, only properties + that are applicable to the conflict type will be available. Further + information on this is available within the descriptions of the + available values. + + + A value that indicates the + action to be taken in order to resolve the conflict. Throwing an + exception from this callback will result in undefined behavior. + + + + + This interface contains methods used to manipulate a set of changes for + a database. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes -OR- null if it is not available. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + This interface contains methods used to manipulate multiple sets of + changes for a database. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + This interface contains properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The name of the table the change was made to. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + This interface contains methods to query and manipulate the state of a + change tracking session for a database. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + Number of bytes used by the session -OR- negative one if its value + cannot be obtained. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this session instance as a + patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + This class contains some static helper methods for use within this + subsystem. + + + + + This method checks the byte array specified by the caller to make + sure it will be usable. + + + A byte array provided by the caller into one of the public methods + for the classes that belong to this subsystem. This value cannot + be null or represent an empty array; otherwise, an appropriate + exception will be thrown. + + + + + This class is used to hold the native connection handle associated with + a open until this subsystem is totally + done with it. This class is for internal use by this subsystem only. + + + + + The SQL statement used when creating the native statement handle. + There are no special requirements for this other than counting as + an "open statement handle". + + + + + The format of the error message used when reporting, during object + disposal, that the statement handle is still open (i.e. because + this situation is considered a fairly serious programming error). + + + + + The wrapped native connection handle associated with this lock. + + + + + The flags associated with the connection represented by the + value. + + + + + The native statement handle for this lock. The garbage collector + cannot cause this statement to be finalized; therefore, it will + serve to hold the associated native connection open until it is + freed manually using the method. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + lock. + + + The flags associated with the connection represented by the + value. + + + Non-zero if the method should be called prior + to returning from this constructor. + + + + + Queries and returns the wrapped native connection handle for this + instance. + + + The wrapped native connection handle for this instance -OR- null + if it is unavailable. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Queries and returns the native connection handle for this instance. + + + The native connection handle for this instance. If this value is + unavailable or invalid an exception will be thrown. + + + + + This method attempts to "lock" the associated native connection + handle by preparing a SQL statement that will not be finalized + until the method is called (i.e. and which + cannot be done by the garbage collector). If the statement is + already prepared, nothing is done. If the statement cannot be + prepared for any reason, an exception will be thrown. + + + + + This method attempts to "unlock" the associated native connection + handle by finalizing the previously prepared statement. If the + statement is already finalized, nothing is done. If the statement + cannot be finalized for any reason, an exception will be thrown. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator. It is used as the + base class for the and + classes. It knows how to + advance the native iterator handle as well as finalize it. + + + + + The native change set (a.k.a. iterator) handle. + + + + + Non-zero if this instance owns the native iterator handle in the + field. In that case, this instance will + finalize the native iterator handle upon being disposed or + finalized. + + + + + Constructs a new instance of this class using the specified native + iterator handle. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Throws an exception if the native iterator handle is invalid. + + + + + Used to query the native iterator handle. This method is only used + by the class. + + + The native iterator handle -OR- if it + is not available. + + + + + Attempts to advance the native iterator handle to its next item. + + + Non-zero if the native iterator handle was advanced and contains + more data; otherwise, zero. If the underlying native API returns + an unexpected value then an exception will be thrown. + + + + + Attempts to create an instance of this class that is associated + with the specified native iterator handle. Ownership of the + native iterator handle is NOT transferred to the new instance of + this class. + + + The native iterator handle to use. + + + The new instance of this class. No return value is reserved to + indicate an error; however, if the native iterator handle is not + valid, any subsequent attempt to make use of it via the returned + instance of this class may throw exceptions. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages the native change set iterator for a set of changes + contained entirely in memory. + + + + + The native memory buffer allocated to contain the set of changes + associated with this instance. This will always be freed when this + instance is disposed or finalized. + + + + + Constructs an instance of this class using the specified native + memory buffer and native iterator handle. + + + The native memory buffer to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + raw byte data. + + + The raw byte data containing the set of changes for this native + iterator. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class manages the native change set iterator for a set of changes + backed by a instance. + + + + + The instance that is managing + the underlying used as the backing store for + the set of changes associated with this native change set iterator. + + + + + Constructs an instance of this class using the specified native + iterator handle and . + + + The instance to use. + + + The native iterator handle to use. + + + Non-zero if this instance is to take ownership of the native + iterator handle specified by . + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Attempts to create an instance of this class using the specified + . + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + The new instance of this class -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class is used to act as a bridge between a + instance and the delegates used with the native streaming API. + + + + + The managed stream instance used to in order to service the native + delegates for both input and output. + + + + + The flags associated with the connection. + + + + + The delegate used to provide input to the native streaming API. + It will be null -OR- point to the method. + + + + + The delegate used to provide output to the native streaming API. + It will be null -OR- point to the method. + + + + + Constructs a new instance of this class using the specified managed + stream and connection flags. + + + The managed stream instance to be used in order to service the + native delegates for both input and output. + + + The flags associated with the parent connection. + + + + + Queries and returns the flags associated with the connection for + this instance. + + + The value. There is no return + value reserved to indicate an error. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + Returns a delegate that wraps the method, + creating it first if necessary. + + + A delegate that refers to the method. + + + + + This method attempts to read bytes from + the managed stream, writing them to the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer to receive the requested input bytes. + It must be at least bytes in size. + + + Upon entry, the number of bytes to read. Upon exit, the number of + bytes actually read. This value may be zero upon exit. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + This method attempts to write bytes to + the managed stream, reading them from the + buffer. + + + Optional extra context information. Currently, this will always + have a value of . + + + A preallocated native buffer containing the requested output + bytes. It must be at least bytes in + size. + + + The number of bytes to write. + + + The value upon success -OR- an + appropriate error code upon failure. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class manages a collection of + instances. When used, it takes responsibility for creating, returning, + and disposing of its instances. + + + + + The managed collection of + instances, keyed by their associated + instance. + + + + + The flags associated with the connection. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Makes sure the collection of + is created. + + + + + Makes sure the collection of + is disposed. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents a group of change sets (or patch sets). + + + + + The instance associated + with this change group. + + + + + The flags associated with the connection. + + + + + The native handle for this change group. This will be deleted when + this instance is disposed or finalized. + + + + + Constructs a new instance of this class using the specified + connection flags. + + + The flags associated with the parent connection. + + + + + Throws an exception if the native change group handle is invalid. + + + + + Makes sure the native change group handle is valid, creating it if + necessary. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data must be contained entirely within + the byte array. + + + The raw byte data for the specified change set (or patch set). + + + + + Attempts to add a change set (or patch set) to this change group + instance. The underlying data will be read from the specified + . + + + The instance containing the raw change set + (or patch set) data to read. + + + + + Attempts to create and return, via , the + combined set of changes represented by this change group instance. + + + Upon success, this will contain the raw byte data for all the + changes in this change group instance. + + + + + Attempts to create and write, via , the + combined set of changes represented by this change group instance. + + + Upon success, the raw byte data for all the changes in this change + group instance will be written to this . + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents the change tracking session associated with a + database. + + + + + The instance associated + with this session. + + + + + The name of the database (e.g. "main") for this session. + + + + + The native handle for this session. This will be deleted when + this instance is disposed or finalized. + + + + + The delegate used to provide table filtering to the native API. + It will be null -OR- point to the method. + + + + + The managed callback used to filter tables for this session. Set + via the method. + + + + + The optional application-defined context data that was passed to + the method. This value may be null. + + + + + Constructs a new instance of this class using the specified wrapped + native connection handle and associated flags. + + + The wrapped native connection handle to be associated with this + session. + + + The flags associated with the connection represented by the + value. + + + The name of the database (e.g. "main") for this session. + + + + + Throws an exception if the native session handle is invalid. + + + + + Makes sure the native session handle is valid, creating it if + necessary. + + + + + This method sets up the internal table filtering associated state + of this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + The native + delegate -OR- null to clear any existing table filter. + + + + + Makes sure the instance + is available, creating it if necessary. + + + + + Attempts to return a instance + suitable for the specified . + + + The instance. If this value is null, a null + value will be returned. + + + A instance. Typically, these + are always freshly created; however, this method is designed to + return the existing instance + associated with the specified stream, should one exist. + + + + + This method is called when determining if a table needs to be + included in the tracked changes for the associated database. + + + Optional extra context information. Currently, this will always + have a value of . + + + The native pointer to the name of the table. + + + Non-zero if changes to the specified table should be considered; + otherwise, zero. + + + + + Determines if this session is currently tracking changes to its + associated database. + + + Non-zero if changes to the associated database are being trakced; + otherwise, zero. + + + + + Enables tracking of changes to the associated database. + + + + + Disables tracking of changes to the associated database. + + + + + Determines if this session is currently set to mark changes as + indirect (i.e. as though they were made via a trigger or foreign + key action). + + + Non-zero if changes to the associated database are being marked as + indirect; otherwise, zero. + + + + + Sets the indirect flag for this session. Subsequent changes will + be marked as indirect until this flag is changed again. + + + + + Clears the indirect flag for this session. Subsequent changes will + be marked as direct until this flag is changed again. + + + + + Determines if there are any tracked changes currently within the + data for this session. + + + Non-zero if there are no changes within the data for this session; + otherwise, zero. + + + + + This method attempts to determine the amount of memory used by the + session. + + + The number of bytes used by the session. + + + + + Upon success, causes changes to the specified table(s) to start + being tracked. Any tables impacted by calls to this method will + not cause the callback + to be invoked. + + + The name of the table to be tracked -OR- null to track all + applicable tables within this database. + + + + + This method is used to set the table filter for this instance. + + + The table filter callback -OR- null to clear any existing table + filter callback. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to create and return, via , the + set of changes represented by this session instance. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + Attempts to create and return, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, this will contain the raw byte data for all the + changes in this session instance. + + + + + Attempts to create and write, via , the + set of changes represented by this session instance as a patch set. + + + Upon success, the raw byte data for all the changes in this session + instance will be written to this . + + + + + This method loads the differences between two tables [with the same + name, set of columns, and primary key definition] into this session + instance. + + + The name of the database containing the table with the original + data (i.e. it will need updating in order to be identical to the + one within the database associated with this session instance). + + + The name of the table. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents the abstract concept of a set of changes. It + acts as the base class for the + and classes. It derives from + the class, which is used to hold + the underlying native connection handle open until the instances of + this class are disposed or finalized. It also provides the ability + to construct wrapped native delegates of the + and + types. + + + + + Constructs an instance of this class using the specified wrapped + native connection handle. + + + The wrapped native connection handle to be associated with this + change set. + + + The flags associated with the connection represented by the + value. + + + + + Creates and returns a concrete implementation of the + interface. + + + The native iterator handle to use. + + + An instance of the + interface, which can be used to fetch metadata associated with + the current item in this set of changes. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Attempts to create a + native delegate + that invokes the specified + delegate. + + + The to invoke when the + native delegate + is called. If this value is null then null is returned. + + + The optional application-defined context data. This value may be + null. + + + The created + native delegate -OR- null if it cannot be created. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified raw byte + data and wrapped native connection handle. + + + The raw byte data for the specified change set (or patch set). + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + The new instance that represents + the resulting set of changes. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + The new instance that represents + the resulting set of changes. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents a set of changes that are backed by a + instance. + + + + + The instance that is managing + the underlying input used as the backing + store for the set of changes associated with this instance. + + + + + The instance that is managing + the underlying output used as the backing + store for the set of changes generated by the + or methods. + + + + + The instance used as the backing store for + the set of changes associated with this instance. + + + + + The instance used as the backing store for + the set of changes generated by the or + methods. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + + + Constructs an instance of this class using the specified streams + and wrapped native connection handle. + + + The where the raw byte data for the set of + changes may be read. + + + The where the raw byte data for resulting + sets of changes may be written. + + + The wrapped native connection handle to be associated with this + set of changes. + + + The flags associated with the connection represented by the + value. + + + The flags used to create the change set iterator. + + + + + Throws an exception if the input stream or its associated stream + adapter are invalid. + + + + + Throws an exception if the output stream or its associated stream + adapter are invalid. + + + + + This method "inverts" the set of changes within this instance. + Applying an inverted set of changes to a database reverses the + effects of applying the uninverted changes. Specifically: + ]]>]]> + Each DELETE change is changed to an INSERT, and + ]]>]]> + Each INSERT change is changed to a DELETE, and + ]]>]]> + For each UPDATE change, the old.* and new.* values are exchanged. + ]]>]]> + This method does not change the order in which changes appear + within the set of changes. It merely reverses the sense of each + individual change. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + This method combines the specified set of changes with the ones + contained in this instance. + + + The changes to be combined with those in this instance. + + + Since the resulting set of changes is written to the output stream, + this method always returns null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional application-defined context data. This value may be + null. + + + + + Attempts to apply the set of changes in this instance to the + associated database. + + + The delegate that will need + to handle any conflicting changes that may arise. + + + The optional delegate + that can be used to filter the list of tables impacted by the set + of changes. + + + The optional application-defined context data. This value may be + null. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new + instance. + + + + + Creates an capable of iterating over the + items within this set of changes. + + + The new instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes. It serves as the base class for the + and + classes. It manages and + owns an instance of the class. + + + + + This managed change set iterator is managed and owned by this + class. It will be disposed when this class is disposed. + + + + + Constructs an instance of this class using the specified managed + change set iterator. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Sets the managed iterator instance to a new value. + + + The new managed iterator instance to use. + + + + + Disposes of the managed iterator instance and sets its value to + null. + + + + + Disposes of the existing managed iterator instance and then sets it + to a new value. + + + The new managed iterator instance to use. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Returns the current change within the set of changes, represented + by a instance. + + + + + Attempts to advance to the next item in the set of changes. + + + Non-zero if more items are available; otherwise, zero. + + + + + Throws because not all the + derived classes are able to support reset functionality. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + + + + This class represents an that is capable of + enumerating over a set of changes contained entirely in memory. + + + + + The raw byte data for this set of changes. Since this data must + be marshalled to a native memory buffer before being used, there + must be enough memory available to store at least two times the + amount of data contained within it. + + + + + The flags used to create the change set iterator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + + + Constructs an instance of this class using the specified raw byte + data. + + + The raw byte data containing the set of changes for this + enumerator. + + + The flags used to create the change set iterator. + + + + + Resets the enumerator to its initial position. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This class represents an that is capable of + enumerating over a set of changes backed by a + instance. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + + + Constructs an instance of this class using the specified stream. + + + The where the raw byte data for the set of + changes may be read. + + + The flags associated with the parent connection. + + + The flags used to create the change set iterator. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + This interface implements properties and methods used to fetch metadata + about one change within a set of changes for a database. + + + + + The instance to use. This + will NOT be owned by this class and will not be disposed upon this + class being disposed or finalized. + + + + + Constructs an instance of this class using the specified iterator + instance. + + + The managed iterator instance to use. + + + + + Throws an exception if the managed iterator instance is invalid. + + + + + Populates the underlying data for the , + , , and + properties, using the appropriate native + API. + + + + + Populates the underlying data for the + property using the appropriate + native API. + + + + + Populates the underlying data for the + property using the + appropriate native API. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + The name of the table the change was made to. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + The number of columns impacted by this change. This value can be + used to determine the highest valid column index that may be used + with the , , + and methods of this interface. It + will be this value minus one. + + + + + Backing field for the property. This + value will be null if this field has not yet been populated via the + underlying native API. + + + + + This will contain the value + , + , or + , corresponding to + the overall type of change this item represents. + + + + + Backing field for the property. This value + will be null if this field has not yet been populated via the + underlying native API. + + + + + Non-zero if this change is considered to be indirect (i.e. as + though they were made via a trigger or foreign key action). + + + + + Backing field for the property. + This value will be null if this field has not yet been populated + via the underlying native API. + + + + + This array contains a for each column in + the table associated with this change. The element will be zero + if the column is not part of the primary key; otherwise, it will + be non-zero. + + + + + Backing field for the + property. This value will be null if this field has not yet been + populated via the underlying native API. + + + + + This method may only be called from within a + delegate when the conflict + type is . It + returns the total number of known foreign key violations in the + destination database. + + + + + Queries and returns the original value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The original value of a given column for this change. + + + + + Queries and returns the updated value of a given column for this + change. This method may only be called when the + has a value of + or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The updated value of a given column for this change. + + + + + Queries and returns the conflicting value of a given column for + this change. This method may only be called from within a + delegate when the conflict + type is or + . + + + The index for the column. This value must be between zero and one + less than the total number of columns for this table. + + + The conflicting value of a given column for this change. + + + + + Disposes of this object instance. + + + + + Non-zero if this object instance has been disposed. + + + + + Throws an exception if this object instance has been disposed. + + + + + Disposes or finalizes this object instance. + + + Non-zero if this object is being disposed; otherwise, this object + is being finalized. + + + + + Finalizes this object instance. + + +
+
diff --git a/packages/System.Data.SQLite.1.0.115.0/.signature.p7s b/packages/System.Data.SQLite.1.0.115.0/.signature.p7s new file mode 100644 index 0000000..7f67560 Binary files /dev/null and b/packages/System.Data.SQLite.1.0.115.0/.signature.p7s differ diff --git a/packages/System.Data.SQLite.1.0.115.0/System.Data.SQLite.1.0.115.0.nupkg b/packages/System.Data.SQLite.1.0.115.0/System.Data.SQLite.1.0.115.0.nupkg new file mode 100644 index 0000000..8718406 Binary files /dev/null and b/packages/System.Data.SQLite.1.0.115.0/System.Data.SQLite.1.0.115.0.nupkg differ diff --git a/packages/System.Data.SQLite.Core.1.0.115.0/.signature.p7s b/packages/System.Data.SQLite.Core.1.0.115.0/.signature.p7s new file mode 100644 index 0000000..9614749 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.115.0/.signature.p7s differ diff --git a/packages/System.Data.SQLite.Core.1.0.115.0/System.Data.SQLite.Core.1.0.115.0.nupkg b/packages/System.Data.SQLite.Core.1.0.115.0/System.Data.SQLite.Core.1.0.115.0.nupkg new file mode 100644 index 0000000..6d49eb1 Binary files /dev/null and b/packages/System.Data.SQLite.Core.1.0.115.0/System.Data.SQLite.Core.1.0.115.0.nupkg differ diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/.signature.p7s b/packages/System.Data.SQLite.EF6.1.0.115.0/.signature.p7s new file mode 100644 index 0000000..e91b90c Binary files /dev/null and b/packages/System.Data.SQLite.EF6.1.0.115.0/.signature.p7s differ diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/System.Data.SQLite.EF6.1.0.115.0.nupkg b/packages/System.Data.SQLite.EF6.1.0.115.0/System.Data.SQLite.EF6.1.0.115.0.nupkg new file mode 100644 index 0000000..31a814d Binary files /dev/null and b/packages/System.Data.SQLite.EF6.1.0.115.0/System.Data.SQLite.EF6.1.0.115.0.nupkg differ diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/app.config.install.xdt b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/app.config.install.xdt new file mode 100644 index 0000000..3ab594f --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/app.config.install.xdt @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/app.config.transform b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/app.config.transform new file mode 100644 index 0000000..6072b77 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/web.config.install.xdt b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/web.config.install.xdt new file mode 100644 index 0000000..3ab594f --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/web.config.install.xdt @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/web.config.transform b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/web.config.transform new file mode 100644 index 0000000..6072b77 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net40/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/app.config.install.xdt b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/app.config.install.xdt new file mode 100644 index 0000000..3ab594f --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/app.config.install.xdt @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/app.config.transform b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/app.config.transform new file mode 100644 index 0000000..6072b77 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/web.config.install.xdt b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/web.config.install.xdt new file mode 100644 index 0000000..3ab594f --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/web.config.install.xdt @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/web.config.transform b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/web.config.transform new file mode 100644 index 0000000..6072b77 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net45/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/app.config.install.xdt b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/app.config.install.xdt new file mode 100644 index 0000000..3ab594f --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/app.config.install.xdt @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/app.config.transform b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/app.config.transform new file mode 100644 index 0000000..6072b77 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/web.config.install.xdt b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/web.config.install.xdt new file mode 100644 index 0000000..3ab594f --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/web.config.install.xdt @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/web.config.transform b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/web.config.transform new file mode 100644 index 0000000..6072b77 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net451/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/app.config.install.xdt b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/app.config.install.xdt new file mode 100644 index 0000000..3ab594f --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/app.config.install.xdt @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/app.config.transform b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/app.config.transform new file mode 100644 index 0000000..6072b77 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/web.config.install.xdt b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/web.config.install.xdt new file mode 100644 index 0000000..3ab594f --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/web.config.install.xdt @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/web.config.transform b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/web.config.transform new file mode 100644 index 0000000..6072b77 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/content/net46/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net40/System.Data.SQLite.EF6.dll b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net40/System.Data.SQLite.EF6.dll new file mode 100644 index 0000000..6454525 Binary files /dev/null and b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net40/System.Data.SQLite.EF6.dll differ diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net45/System.Data.SQLite.EF6.dll b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net45/System.Data.SQLite.EF6.dll new file mode 100644 index 0000000..8090618 Binary files /dev/null and b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net45/System.Data.SQLite.EF6.dll differ diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net451/System.Data.SQLite.EF6.dll b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net451/System.Data.SQLite.EF6.dll new file mode 100644 index 0000000..640030d Binary files /dev/null and b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net451/System.Data.SQLite.EF6.dll differ diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net46/System.Data.SQLite.EF6.dll b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net46/System.Data.SQLite.EF6.dll new file mode 100644 index 0000000..c3eca2c Binary files /dev/null and b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/net46/System.Data.SQLite.EF6.dll differ diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/lib/netstandard2.1/System.Data.SQLite.EF6.dll b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/netstandard2.1/System.Data.SQLite.EF6.dll new file mode 100644 index 0000000..0bd4cb5 Binary files /dev/null and b/packages/System.Data.SQLite.EF6.1.0.115.0/lib/netstandard2.1/System.Data.SQLite.EF6.dll differ diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net40/install.ps1 b/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net40/install.ps1 new file mode 100644 index 0000000..7ebfe61 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net40/install.ps1 @@ -0,0 +1,13 @@ +############################################################################### +# +# provider.ps1 -- +# +# Written by Joe Mistachkin. +# Released to the public domain, use at your own risk! +# +############################################################################### + +param($installPath, $toolsPath, $package, $project) + +Add-EFProvider $project "System.Data.SQLite.EF6" ` + "System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net45/install.ps1 b/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net45/install.ps1 new file mode 100644 index 0000000..7ebfe61 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net45/install.ps1 @@ -0,0 +1,13 @@ +############################################################################### +# +# provider.ps1 -- +# +# Written by Joe Mistachkin. +# Released to the public domain, use at your own risk! +# +############################################################################### + +param($installPath, $toolsPath, $package, $project) + +Add-EFProvider $project "System.Data.SQLite.EF6" ` + "System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net451/install.ps1 b/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net451/install.ps1 new file mode 100644 index 0000000..7ebfe61 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net451/install.ps1 @@ -0,0 +1,13 @@ +############################################################################### +# +# provider.ps1 -- +# +# Written by Joe Mistachkin. +# Released to the public domain, use at your own risk! +# +############################################################################### + +param($installPath, $toolsPath, $package, $project) + +Add-EFProvider $project "System.Data.SQLite.EF6" ` + "System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" diff --git a/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net46/install.ps1 b/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net46/install.ps1 new file mode 100644 index 0000000..7ebfe61 --- /dev/null +++ b/packages/System.Data.SQLite.EF6.1.0.115.0/tools/net46/install.ps1 @@ -0,0 +1,13 @@ +############################################################################### +# +# provider.ps1 -- +# +# Written by Joe Mistachkin. +# Released to the public domain, use at your own risk! +# +############################################################################### + +param($installPath, $toolsPath, $package, $project) + +Add-EFProvider $project "System.Data.SQLite.EF6" ` + "System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/.signature.p7s b/packages/System.Data.SQLite.Linq.1.0.115.0/.signature.p7s new file mode 100644 index 0000000..bf6ea5d Binary files /dev/null and b/packages/System.Data.SQLite.Linq.1.0.115.0/.signature.p7s differ diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/System.Data.SQLite.Linq.1.0.115.0.nupkg b/packages/System.Data.SQLite.Linq.1.0.115.0/System.Data.SQLite.Linq.1.0.115.0.nupkg new file mode 100644 index 0000000..c5d880b Binary files /dev/null and b/packages/System.Data.SQLite.Linq.1.0.115.0/System.Data.SQLite.Linq.1.0.115.0.nupkg differ diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net20/app.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net20/app.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net20/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net20/web.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net20/web.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net20/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net40/app.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net40/app.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net40/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net40/web.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net40/web.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net40/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net45/app.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net45/app.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net45/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net45/web.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net45/web.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net45/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net451/app.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net451/app.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net451/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net451/web.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net451/web.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net451/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net46/app.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net46/app.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net46/app.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/content/net46/web.config.transform b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net46/web.config.transform new file mode 100644 index 0000000..5008aec --- /dev/null +++ b/packages/System.Data.SQLite.Linq.1.0.115.0/content/net46/web.config.transform @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net20/System.Data.SQLite.Linq.dll b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net20/System.Data.SQLite.Linq.dll new file mode 100644 index 0000000..30f5cf1 Binary files /dev/null and b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net20/System.Data.SQLite.Linq.dll differ diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net40/System.Data.SQLite.Linq.dll b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net40/System.Data.SQLite.Linq.dll new file mode 100644 index 0000000..7775e62 Binary files /dev/null and b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net40/System.Data.SQLite.Linq.dll differ diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net45/System.Data.SQLite.Linq.dll b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net45/System.Data.SQLite.Linq.dll new file mode 100644 index 0000000..e1fb28e Binary files /dev/null and b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net45/System.Data.SQLite.Linq.dll differ diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net451/System.Data.SQLite.Linq.dll b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net451/System.Data.SQLite.Linq.dll new file mode 100644 index 0000000..9a0054d Binary files /dev/null and b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net451/System.Data.SQLite.Linq.dll differ diff --git a/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net46/System.Data.SQLite.Linq.dll b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net46/System.Data.SQLite.Linq.dll new file mode 100644 index 0000000..c00fe0e Binary files /dev/null and b/packages/System.Data.SQLite.Linq.1.0.115.0/lib/net46/System.Data.SQLite.Linq.dll differ diff --git a/packages/Tesseract.4.1.1/.signature.p7s b/packages/Tesseract.4.1.1/.signature.p7s new file mode 100644 index 0000000..11373e4 Binary files /dev/null and b/packages/Tesseract.4.1.1/.signature.p7s differ diff --git a/packages/Tesseract.4.1.1/Tesseract.4.1.1.nupkg b/packages/Tesseract.4.1.1/Tesseract.4.1.1.nupkg new file mode 100644 index 0000000..d73f263 Binary files /dev/null and b/packages/Tesseract.4.1.1/Tesseract.4.1.1.nupkg differ diff --git a/packages/Tesseract.4.1.1/build/Tesseract.targets b/packages/Tesseract.4.1.1/build/Tesseract.targets new file mode 100644 index 0000000..685adc0 --- /dev/null +++ b/packages/Tesseract.4.1.1/build/Tesseract.targets @@ -0,0 +1,21 @@ + + + + + x86\leptonica-1.80.0.dll + PreserveNewest + + + x86\tesseract41.dll + PreserveNewest + + + x64\leptonica-1.80.0.dll + PreserveNewest + + + x64\tesseract41.dll + PreserveNewest + + + \ No newline at end of file diff --git a/packages/Tesseract.4.1.1/lib/net40/Tesseract.dll b/packages/Tesseract.4.1.1/lib/net40/Tesseract.dll new file mode 100644 index 0000000..0c9221a Binary files /dev/null and b/packages/Tesseract.4.1.1/lib/net40/Tesseract.dll differ diff --git a/packages/Tesseract.4.1.1/lib/net45/Tesseract.dll b/packages/Tesseract.4.1.1/lib/net45/Tesseract.dll new file mode 100644 index 0000000..620673b Binary files /dev/null and b/packages/Tesseract.4.1.1/lib/net45/Tesseract.dll differ diff --git a/packages/Tesseract.4.1.1/lib/netstandard2.0/Tesseract.dll b/packages/Tesseract.4.1.1/lib/netstandard2.0/Tesseract.dll new file mode 100644 index 0000000..ab20fd8 Binary files /dev/null and b/packages/Tesseract.4.1.1/lib/netstandard2.0/Tesseract.dll differ diff --git a/packages/Tesseract.4.1.1/lib/netstandard2.0/Tesseract.xml b/packages/Tesseract.4.1.1/lib/netstandard2.0/Tesseract.xml new file mode 100644 index 0000000..800fe80 --- /dev/null +++ b/packages/Tesseract.4.1.1/lib/netstandard2.0/Tesseract.xml @@ -0,0 +1,1960 @@ + + + + Tesseract + + + + + Aggregate result renderer. + + + + + Ensures the renderer's EndDocument when disposed off. + + + + + Create a new aggregate result renderer with the specified child result renderers. + + The child result renderers. + + + + Create a new aggregate result renderer with the specified child result renderers. + + The child result renderers. + + + + Get's the current page number. + + + + + Get's the child result renderers. + + + + + Adds a page to each of the child result renderers. + + + + + + + Begins a new document with the specified title. + + The title of the document. + + + + + Description of BitmapHelper. + + + + + Class to iterate over the classifier choices for a single symbol. + + + + + Moves to the next choice for the symbol and returns false if there are none left. + + true|false + + + + Returns the confidence of the current choice. + + + The number should be interpreted as a percent probability. (0.0f-100.0f) + + float + + + + Returns the text string for the current choice. + + string + + + + Represents properties that describe a text block's orientation. + + + + + Gets the for corresponding text block. + + + + + Gets the for corresponding text block. + + + + + Gets the for corresponding text block. + + + + + Gets the angle the page would need to be rotated to deskew the text block. + + + + + Only the legacy tesseract OCR engine is used. + + + + + Only the new LSTM-based OCR engine is used. + + + + + Both the legacy and new LSTM based OCR engine is used. + + + + + The default OCR engine is used (currently LSTM-ased OCR engine). + + + + + Ensures the given is true. + + The is not true. + The name of the parameter, used when generating the exception. + The value of the parameter to check. + + + + Ensures the given is true. + + The is not true. + The name of the parameter, used when generating the exception. + The value of the parameter to check. + The error message. + + + + Ensures the given is true. + + The is not true. + The name of the parameter, used when generating the exception. + The value of the parameter to check. + The error message. + The message argument used to format . + + + + Ensures the given is not null or empty. + + The is null or empty. + The name of the parameter, used when generating the exception. + The value of the parameter to check. + + + + Verifies the given is True; throwing an when the condition is not met. + + The condition to be tested. + The error message to raise if is False. + Optional formatting arguments. + + + + Utility helpers to handle converting variable values. + + + + + The exported tesseract api signatures. + + + Please note this is only public for technical reasons (you can't proxy a internal interface). + It should be considered an internal interface and is NOT part of the public api and may have + breaking changes between releases. + + + + + Creates a new BaseAPI instance + + + + + + Deletes a base api instance. + + + + + + Native API call to TessResultIteratorGetChoiceIterator + + + + + + + Native API call to TessChoiceIteratorDelete + + + + + + Native API call to TessChoiceIteratorNext + + + + + + + Native API call to TessChoiceIteratorGetUTF8Text + + + + + + + Native API call to TessChoiceIteratorConfidence + + + + + + + Returns the null terminated UTF-8 encoded text string for the current choice + + + NOTE: Unlike LTRResultIterator::GetUTF8Text, the return points to an + internal structure and should NOT be delete[]ed to free after use. + + + string + + + + Description of Constants. + + + + + Provides information about the hosting process. + + + + + The exported leptonica api signatures. + + + Please note this is only public for technical reasons (you can't proxy a internal interface). + It should be considered an internal interface and is NOT part of the public api and may have + breaking changes between releases. + + + + + Creates a new colormap with the specified . + + The depth of the pix in bpp, can be 2, 4, or 8 + The pointer to the color map, or null on error. + + + + Creates a new colormap of the specified with random colors where the first color can optionally be set to black, and the last optionally set to white. + + The depth of the pix in bpp, can be 2, 4, or 8 + If set to 1 the first color will be black. + If set to 1 the last color will be white. + The pointer to the color map, or null on error. + + + + Creates a new colormap of the specified with equally spaced gray color values. + + The depth of the pix in bpp, can be 2, 4, or 8 + The number of levels (must be between 2 and 2^ + The pointer to the colormap, or null on error. + + + + Performs a deep copy of the color map. + + The pointer to the colormap instance. + The pointer to the colormap, or null on error. + + + + Destorys and cleans up any memory used by the color map. + + The pointer to the colormap instance, set to null on success. + + + + Gets the number of color entries in the color map. + + The pointer to the colormap instance. + Returns the number of color entries in the color map, or 0 on error. + + + + Gets the number of free color entries in the color map. + + The pointer to the colormap instance. + Returns the number of free color entries in the color map, or 0 on error. + + + Returns color maps depth, or 0 on error. + + + + Gets the minimum pix depth required to support the color map. + + The pointer to the colormap instance. + Returns the minimum depth to support the colormap + Returns 0 if OK, 1 on error. + + + + Removes all colors from the color map by setting the count to zero. + + The pointer to the colormap instance. + Returns 0 if OK, 1 on error. + + + + Adds the color to the pix color map if their is room. + + Returns 0 if OK, 1 on error. + + + + Adds the specified color if it doesn't already exist, returning the colors index in the data array. + + The pointer to the colormap instance. + The red value + The green value + The blue value + The index of the new color if it was added, or the existing color if it already existed. + Returns 0 for success, 1 for error, 2 for not enough space. + + + + Adds the specified color if it doesn't already exist, returning the color's index in the data array. + + + If the color doesn't exist and there is not enough room to add a new color return the nearest color. + + The pointer to the colormap instance. + The red value + The green value + The blue value + The index of the new color if it was added, or the existing color if it already existed. + Returns 0 for success, 1 for error, 2 for not enough space. + + + + Checks if the color already exists or if their is enough room to add it. + + The pointer to the colormap instance. + The red value + The green value + The blue value + Returns 1 if usable; 0 if not. + Returns 0 if OK, 1 on error. + + + + Adds a color (black\white) if not already there returning it's index through . + + The pointer to the colormap instance. + The color to add (0 for black; 1 for white) + The index of the color. + Returns 0 if OK; 1 on error. + + + + Sets the darkest color in the colormap to black, if is 1. + Sets the lightest color in the colormap to white if is 1. + + The pointer to the colormap instance. + 0 for no operation; 1 to set darket color to black + 0 for no operation; 1 to set lightest color to white + Returns 0 if OK; 1 on error. + + + + Gets the color at the specified index. + + The pointer to the colormap instance. + The index of the color entry. + The color entry's red value. + The color entry's blue value. + The color entry's green value. + Returns 0 if OK; 1 if not accessable (caller should check). + + + + Gets the color at the specified index. + + + The alpha channel will always be zero as it is not used in Leptonica color maps. + + The pointer to the colormap instance. + The index of the color entry. + The color entry as 32 bit value + Returns 0 if OK; 1 if not accessable (caller should check). + + + + Sets a previously allocated color entry. + + The pointer to the colormap instance. + The index of the colormap entry + + + + Returns 0 if OK; 1 if not accessable (caller should check). + + + + Gets the index of the color entry with the specified color, return 0 if found; 1 if not. + + + + + Returns 0 if the color exists in the color map; otherwise 1. + + Returns 0 if OK; 1 on error. + + + + Returns the number of unique grey colors including black and white. + + Returns 0 if OK; 1 on error. + + + + Finds the index of the color entry with the rank intensity. + + Returns 0 if OK; 1 on error. + + + + Finds the index of the color entry closest to the specified color. + + Returns 0 if OK; 1 on error. + + + + Finds the index of the color entry closest to the specified color. + + + Should only be used on gray colormaps. + + Returns 0 if OK; 1 on error. + + + + Gets the number of bytes in a null terminated byte array. + + + + + Begins a new document with the specified . + + The title of the new document. + A handle that when disposed of ends the current document. + + + + Add the page to the current document. + + + True if the page was successfully added to the result renderer; otherwise false. + + + + Gets the current page number; returning -1 if no page has yet been added otherwise the number + of the last added page (starting from 0). + + + + + Convert a degrees to radians. + + + + + + + Convert a degrees to radians. + + + + + + + Calculates the smallest integer greater than the quotant of dividend and divisor. + + + + + + Represents orientation that the page would need to be rotated so that . + + + Orientation is defined as to what side of the page would need to correspond to the 'up' direction such that the characters will + be read able. Another way of looking at this what direction you need to rotate you head so that "up" aligns with Orientation, + then the characters will appear "right side up" and readable. + + In short: + + PageUp - Page is correctly alligned with up and no rotation is needed. + PageRight - Page needs to be rotated so the right hand side is up, 90 degress counter clockwise, to be readable. + PageDown - Page needs to be rotated so the bottom side is up, 180 degress counter clockwise, to be readable. + PageLeft - Page needs to be rotated so the left hand side is up, 90 degress clockwise, to be readable. + + + + + + Page is correctly alligned with up and no rotation is needed. + + + + + Page needs to be rotated so the right hand side is up, 90 degress counter clockwise, to be readable. + + + + + Page needs to be rotated so the bottom side is up, 180 degress counter clockwise, to be readable. + + + + + Page needs to be rotated so the left hand side is up, 90 degress clockwise, to be readable. + + + + + Gets the that is being ocr'd. + + + + + Gets the name of the image being ocr'd. + + + This is also used for some of the more advanced functionality such as identifying the associated UZN file if present. + + + + + Gets the page segmentation mode used to OCR the specified image. + + + + + The current region of interest being parsed. + + + + + Gets the thresholded image that was OCR'd. + + + + + + Creates a object that is used to iterate over the page's layout as defined by the current . + + + + + + Creates a object that is used to iterate over the page as defined by the current . + + + + + + Gets the page's content as plain text. + + + + + + Gets the page's content as an HOCR text. + + The page number (zero based). + True to use XHTML Output, False to HTML Output + The OCR'd output as an HOCR text string. + + + + Gets the page's content as an Alto text. + + The page number (zero based). + The OCR'd output as an Alto text string. + + + + Gets the page's content as a Tsv text. + + The page number (zero based). + The OCR'd output as a Tsv text string. + + + + Gets the page's content as a Box text. + + The page number (zero based). + The OCR'd output as a Box text string. + + + + Gets the page's content as a LSTMBox text. + + The page number (zero based). + The OCR'd output as a LSTMBox text string. + + + + Gets the page's content as a WordStrBox text. + + The page number (zero based). + The OCR'd output as a WordStrBox text string. + + + + Gets the page's content as an UNLV text. + + The page number (zero based). + The OCR'd output as an UNLV text string. + + + + Get's the mean confidence that as a percentage of the recognized text. + + + + + + Get segmented regions at specified page iterator level. + + PageIteratorLevel enum + + + + + Detects the page orientation, with corresponding confidence when using . + + + If using full page segmentation mode (i.e. AutoOsd) then consider using instead as this also provides a + deskew angle which isn't available when just performing orientation detection. + + The page orientation. + The confidence level of the orientation (15 is reasonably confident). + + + + + Detects the page orientation, with corresponding confidence when using . + + + If using full page segmentation mode (i.e. AutoOsd) then consider using instead as this also provides a + deskew angle which isn't available when just performing orientation detection. + + The detected clockwise page rotation in degrees (0, 90, 180, or 270). + The confidence level of the orientation (15 is reasonably confident). + + + + + Represents an object that can iterate over tesseract's page structure. + + + The iterator points to tesseract's internal page structure and is only valid while the Engine instance that created it exists + and has not been subjected to a call to Recognize since the iterator was created. + + + + + Moves the iterator to the start of the page. + + + + + Moves to the start of the next element at the given level. + + + + + + + + + + Moves the iterator to the next iff the iterator is not currently pointing to the last in the specified (i.e. the last word in the paragraph). + + The iterator level. + The page level. + True iff there is another to advance too and the current element is not the last element at the given level; otherwise returns False. + + + + Returns True if the iterator is at the first element at the given level. + + + A possible use is to determin if a call to next(word) moved to the start of a new paragraph. + + + + + + + Returns True if the iterator is positioned at the last element at the given level. + + + + + + + + Gets the bounding rectangle of the current element at the given level. + + + + + + + + Gets the baseline of the current element at the given level. + + + The baseline is the line that passes through (x1, y1) and (x2, y2). + WARNING: with vertical text, baselines may be vertical! Returns false if there is no baseline at the current position. + + + + + + + Gets the element orientation information that the iterator currently points too. + + + + + Represents the possible page layou analysis modes. + + + + + Orientation and script detection (OSD) only. + + + + + Automatic page sementation with orientantion and script detection (OSD). + + + + + Automatic page segmentation, but no OSD, or OCR. + + + + + Fully automatic page segmentation, but no OSD. + + + + + Assume a single column of text of variable sizes. + + + + + Assume a single uniform block of vertically aligned text. + + + + + Assume a single uniform block of text. + + + + + Treat the image as a single text line. + + + + + Treat the image as a single word. + + + + + Treat the image as a single word in a circle. + + + + + Treat the image as a single character. + + + + + + Sparse text with orientation and script detection. + + + + + Treat the image as a single text line, bypassing hacks that are + specific to Tesseract. + + + + + Number of enum entries. + + + + + A small angle, in radians, for threshold checking. Equal to about 0.06 degrees. + + + + + Used to lookup image formats by extension. + + + + + Creates a new pix instance using an existing handle to a pix structure. + + + Note that the resulting instance takes ownership of the data structure. + + + + + + Saves the image to the specified file. + + The path to the file. + The format to use when saving the image, if not specified the file extension is used to guess the format. + + + + Increments this pix's reference count and returns a reference to the same pix data. + + + A "clone" is simply a reference to an existing pix. It is implemented this way because + image can be large and hence expensive to copy and extra handles need to be made with a simple + policy to avoid double frees and memory leaks. + + The general usage protocol is: + + Whenever you want a new reference to an existing call . + + Always call on all references. This decrements the reference count and + will destroy the pix when the reference count reaches zero. + + + + The pix with it's reference count incremented. + + + + Binarization of the input image based on the passed parameters and the Otsu method + + sizeX Desired tile X dimension; actual size may vary. + sizeY Desired tile Y dimension; actual size may vary. + smoothX Half-width of convolution kernel applied to threshold array: use 0 for no smoothing. + smoothY Half-height of convolution kernel applied to threshold array: use 0 for no smoothing. + scoreFraction Fraction of the max Otsu score; typ. 0.1 (use 0.0 for standard Otsu). + The binarized image. + + + + Binarization of the input image using the Sauvola local thresholding method. + + Note: The source image must be 8 bpp grayscale; not colormapped. + + + + Notes + The window width and height are 2 * + 1. The minimum value for is 2; typically it is >= 7. + The local statistics, measured over the window, are the average and standard deviation. + + The measurements of the mean and standard deviation are performed inside a border of ( + 1) pixels. + If source pix does not have these added border pixels, use = True to add it here; otherwise use + = False. + + + The Sauvola threshold is determined from the formula: t = m * (1 - k * (1 - s / 128)) where t = local threshold, m = local mean, + k = , and s = local standard deviation which is maximised at 127.5 when half the samples are 0 and the other + half are 255. + + + The basic idea of Niblack and Sauvola binarization is that the local threshold should be less than the median value, + and the larger the variance, the closer to the median it should be chosen. Typical values for k are between 0.2 and 0.5. + + + + the window half-width for measuring local statistics. + The factor for reducing threshold due to variances greater than or equal to zero (0). Typically around 0.35. + If True add a border of width ( + 1) on all sides. + The binarized image. + + + + Binarization of the input image using the Sauvola local thresholding method on tiles + of the source image. + + Note: The source image must be 8 bpp grayscale; not colormapped. + + + A tiled version of Sauvola can become neccisary for large source images (over 16M pixels) because: + + * The mean value accumulator is a uint32, overflow can occur for an image with more than 16M pixels. + * The mean value accumulator array for 16M pixels is 64 MB. While the mean square accumulator array for 16M pixels is 128 MB. + Using tiles reduces the size of these arrays. + * Each tile can be processed independently, in parallel, on a multicore processor. + + The window half-width for measuring local statistics + The factor for reducing threshold due to variances greater than or equal to zero (0). Typically around 0.35. + The number of tiles to subdivide the source image into on the x-axis. + The number of tiles to subdivide the source image into on the y-axis. + THe binarized image. + + + + Conversion from RBG to 8bpp grayscale using the specified weights. Note red, green, blue weights should add up to 1.0. + + Red weight + Green weight + Blue weight + The Grayscale pix. + + + + Conversion from RBG to 8bpp grayscale. + + The Grayscale pix. + + + + Removes horizontal lines from a grayscale image. + The algorithm is based on Leptonica lineremoval.c example. + See line-removal. + + image with lines removed + + + + HMT (with just misses) for speckle up to 2x2 + "oooo" + "oC o" + "o o" + "oooo" + + + + + HMT (with just misses) for speckle up to 3x3 + "oC o" + "o o" + "o o" + "ooooo" + + + + + Reduces speckle noise in image. The algorithm is based on Leptonica + speckle_reg.c example demonstrating morphological method of + removing speckle. + + hit-miss sels in 2D layout; SEL_STR2 and SEL_STR3 are predefined values + 2 for 2x2, 3 for 3x3 + + + + + Determines the scew angle and if confidence is high enough returns the descewed image as the result, otherwise returns clone of original image. + + + This binarizes if necessary and finds the skew angle. If the + angle is large enough and there is sufficient confidence, + it returns a deskewed image; otherwise, it returns a clone. + + Returns deskewed image if confidence was high enough, otherwise returns clone of original pix. + + + + Determines the scew angle and if confidence is high enough returns the descewed image as the result, otherwise returns clone of original image. + + + This binarizes if necessary and finds the skew angle. If the + angle is large enough and there is sufficient confidence, + it returns a deskewed image; otherwise, it returns a clone. + + The scew angle and confidence + Returns deskewed image if confidence was high enough, otherwise returns clone of original pix. + + + + Determines the scew angle and if confidence is high enough returns the descewed image as the result, otherwise returns clone of original image. + + + This binarizes if necessary and finds the skew angle. If the + angle is large enough and there is sufficient confidence, + it returns a deskewed image; otherwise, it returns a clone. + + The reduction factor used by the binary search, can be 1, 2, or 4. + The scew angle and confidence + Returns deskewed image if confidence was high enough, otherwise returns clone of original pix. + + + + Determines the scew angle and if confidence is high enough returns the descewed image as the result, otherwise returns clone of original image. + + + This binarizes if necessary and finds the skew angle. If the + angle is large enough and there is sufficient confidence, + it returns a deskewed image; otherwise, it returns a clone. + + linear sweep parameters + The reduction factor used by the binary search, can be 1, 2, or 4. + The threshold value used for binarizing the image. + The scew angle and confidence + Returns deskewed image if confidence was high enough, otherwise returns clone of original pix. + + + + Creates a new image by rotating this image about it's centre. + + + Please note the following: + + + Rotation will bring in either white or black pixels, as specified by from + the outside as required. + + Above 20 degrees, sampling rotation will be used if shear was requested. + Colormaps are removed for rotation by area map and shear. + + The resulting image can be expanded so that no image pixels are lost. To invoke expansion, + input the original width and height. For repeated rotation, use of the original width and heigh allows + expansion to stop at the maximum required size which is a square of side = sqrt(w*w + h*h). + + + + Please note there is an implicit assumption about RGB component ordering. + + + The angle to rotate by, in radians; clockwise is positive. + The rotation method to use. + The fill color to use for pixels that are brought in from the outside. + The original width; use 0 to avoid embedding + The original height; use 0 to avoid embedding + The image rotated around it's centre. + + + + 90 degree rotation. + + 1 = clockwise, -1 = counter-clockwise + rotated image + + + + Scales the current pix by the specified and factors returning a new of the same depth. + + + + The scaled image. + + + This function scales 32 bpp RGB; 2, 4 or 8 bpp palette color; + 2, 4, 8 or 16 bpp gray; and binary images. + + + When the input has palette color, the colormap is removed and + the result is either 8 bpp gray or 32 bpp RGB, depending on whether + the colormap has color entries. Images with 2, 4 or 16 bpp are + converted to 8 bpp. + + + Because Scale() is meant to be a very simple interface to a + number of scaling functions, including the use of unsharp masking, + the type of scaling and the sharpening parameters are chosen + by default. Grayscale and color images are scaled using one + of four methods, depending on the scale factors: + + + + antialiased subsampling (lowpass filtering followed by + subsampling, implemented here by area mapping), for scale factors + less than 0.2 + + + + + antialiased subsampling with sharpening, for scale factors + between 0.2 and 0.7. + + + + + linear interpolation with sharpening, for scale factors between + 0.7 and 1.4. + + + + + linear interpolation without sharpening, for scale factors >= 1.4. + + + + One could use subsampling for scale factors very close to 1.0, + because it preserves sharp edges. Linear interpolation blurs + edges because the dest pixels will typically straddle two src edge + pixels. Subsmpling removes entire columns and rows, so the edge is + not blurred. However, there are two reasons for not doing this. + First, it moves edges, so that a straight line at a large angle to + both horizontal and vertical will have noticable kinks where + horizontal and vertical rasters are removed. Second, although it + is very fast, you get good results on sharp edges by applying + a sharpening filter. + + + For images with sharp edges, sharpening substantially improves the + image quality for scale factors between about 0.2 and about 2.0. + pixScale() uses a small amount of sharpening by default because + it strengthens edge pixels that are weak due to anti-aliasing. + The default sharpening factors are: + + + + + + for scaling factors >= 0.7: sharpfract = 0.4 sharpwidth = 2 + + + The cases where the sharpening halfwidth is 1 or 2 have special + implementations and are about twice as fast as the general case. + + + However, sharpening is computationally expensive, and one needs + to consider the speed-quality tradeoff: + + + + For upscaling of RGB images, linear interpolation plus default + sharpening is about 5 times slower than upscaling alone. + + + + For downscaling, area mapping plus default sharpening is + about 10 times slower than downscaling alone. + + + + When the scale factor is larger than 1.4, the cost of sharpening, + which is proportional to image area, is very large compared to the + incremental quality improvement, so we cut off the default use of + sharpening at 1.4. Thus, for scale factors greater than 1.4, + pixScale() only does linear interpolation. + + + In many situations you will get a satisfactory result by scaling + without sharpening: call pixScaleGeneral() with @sharpfract = 0.0. + Alternatively, if you wish to sharpen but not use the default + value, first call pixScaleGeneral() with @sharpfract = 0.0, and + then sharpen explicitly using pixUnsharpMasking(). + + + Binary images are scaled to binary by sampling the closest pixel, + without any low-pass filtering (averaging of neighboring pixels). + This will introduce aliasing for reductions. Aliasing can be + prevented by using pixScaleToGray() instead. + + + Warning: implicit assumption about RGB component order for LI color scaling + + + + + + Represents an array of . + + + + + Loads the multi-page tiff located at . + + + + + + + Handles enumerating through the in the PixArray. + + + + + + + + + + + + + + + + + + + + Gets the handle to the underlying PixA structure. + + + + + Gets the number of contained in the array. + + + + + Add the specified pix to the end of the pix array. + + + PixArrayAccessType.Insert is not supported as the managed Pix object will attempt to release the pix when + it goes out of scope creating an access exception. + + The pix to add. + Determines if a clone or copy of the pix is inserted into the array. + + + + + Removes the pix located at index. + + + Notes: + * This shifts pixa[i] --> pixa[i - 1] for all i > index. + * Do not use on large arrays as the functionality is O(n). + * The corresponding box is removed as well, if it exists. + + The index of the pix to remove. + + + + Destroys ever pix in the array. + + + + + Gets the located at using the specified . + + The index of the pix (zero based). + The used to retrieve the , only Clone or Copy are allowed. + The retrieved . + + + + Returns a that iterates the the array of . + + + When done with the enumerator you must call to release any unmanaged resources. + However if your using the enumerator in a foreach loop, this is done for you automatically by .Net. This also means + that any returned from the enumerator cannot safely be used outside a foreach loop (or after Dispose has been + called on the enumerator). If you do indeed need the pix after the enumerator has been disposed of you must clone it using + . + + A that iterates the the array of . + + + + Determines how of a structure are accessed. + + + + + Stuff it in; no copy, clone or copy-clone. + + + + + Make/use a copy of the object. + + + + + Make/use clone (ref count) of the object + + + + + Make a new object and fill with with clones of each object in the array(s) + + + + + Represents a colormap. + + + Once the colormap is assigned to a pix it is owned by that pix and will be disposed off automatically + when the pix is disposed off. + + + + + Pointer to the data. + + + + + Number of 32-bit words per line. + + + + + Swaps the bytes on little-endian platforms within a word; bytes 0 and 3 swapped, and bytes `1 and 2 are swapped. + + + This is required for little-endians in situations where we convert from a serialized byte order that is in raster order, + as one typically has in file formats, to one with MSB-to-the-left in each 32-bit word, or v.v. See + + + + + Gets the pixel value for a 1bpp image. + + + + + Sets the pixel value for a 1bpp image. + + + + + Gets the pixel value for a 2bpp image. + + + + + Sets the pixel value for a 2bpp image. + + + + + Gets the pixel value for a 4bpp image. + + + + + Sets the pixel value for a 4bpp image. + + + + + Gets the pixel value for a 8bpp image. + + + + + Sets the pixel value for a 8bpp image. + + + + + Gets the pixel value for a 16bpp image. + + + + + Sets the pixel value for a 16bpp image. + + + + + Gets the pixel value for a 32bpp image. + + + + + Sets the pixel value for a 32bpp image. + + + + + The type is not known yet, keep as first element. + + + + + The text is inside a column. + + + + + The text spans more than one column. + + + + + The text is in a cross-column pull-out region. + + + + + The partion belongs to an equation region.. + + + + + The partion has an inline equation. + + + + + The partion belongs to a Table region. + + + + + Text line runs vertically. + + + + + Text that belongs to an image. + + + + + Image that lives inside a column. + + + + + Image that spans more than one column. + + + + + Image that is in a cross-column pull-out region. + + + + + Lies outside any column. + + + + + Gets an instance of a choice iterator using the current symbol of interest. The ChoiceIterator allows a one-shot iteration over the + choices for this symbol and after that is is useless. + + an instance of a Choice Iterator + + + + Rendered formats supported by Tesseract. + + + + + Represents a native result renderer (e.g. text, pdf, etc). + + + Note that the ResultRenderer is explictly responsible for managing the + renderer hierarchy. This gets around a number of difficult issues such + as keeping track of what the next renderer is and how to manage the memory. + + + + + Creates renderers for specified output formats. + + + The directory containing the pdf font data, normally same as your tessdata directory. + + + + + + Creates a result renderer that render that generates a searchable + pdf file from tesseract's output. + + The filename of the pdf file to be generated without the file extension. + The directory containing the pdf font data, normally same as your tessdata directory. + skip images if set + + + + + Creates a result renderer that render that generates UTF-8 encoded text + file from tesseract's output. + + The path to the text file to be generated without the file extension. + + + + + Creates a result renderer that render that generates a HOCR + file from tesseract's output. + + The path to the hocr file to be generated without the file extension. + Determines if the generated HOCR file includes font information or not. + + + + + Creates a result renderer that render that generates a unlv + file from tesseract's output. + + The path to the unlv file to be created without the file extension. + + + + + Creates a result renderer that render that generates a box text file from tesseract's output. + + The path to the box file to be created without the file extension. + + + + + Ensures the renderer's EndDocument when disposed off. + + + + + Initialise the render to use the specified native result renderer. + + + + + + Add the page to the current document. + + + True if the page was successfully added to the result renderer; otherwise false. + + + + Begins a new document with the specified . + + The (ANSI) title of the new document. + A handle that when disposed of ends the current document. + + + + What colour pixels should be used for the outside? + + + + + Bring in white pixels from the outside. + + + + + Bring in black pixels from the outside. + + + + + Represents the method used to rotate an image. + + + + + Use area map rotation, if possible. + + + + + Use shear rotation. + + + + + Use sampling. + + + + + Represents the parameters for a sweep search used by scew algorithms. + + + + + The tesseract OCR engine. + + + + + Creates a new instance of using the mode. + + + + The parameter should point to the directory that contains the 'tessdata' folder + for example if your tesseract language data is installed in C:\Tesseract\tessdata the value of datapath should + be C:\Tesseract. Note that tesseract will use the value of the TESSDATA_PREFIX environment variable if defined, + effectively ignoring the value of parameter. + + + The path to the parent directory that contains the 'tessdata' directory, ignored if the TESSDATA_PREFIX environment variable is defined. + The language to load, for example 'eng' for English. + + + + Creates a new instance of with the specified + using the Default Engine Mode. + + + + The parameter should point to the directory that contains the 'tessdata' folder + for example if your tesseract language data is installed in C:\Tesseract\tessdata the value of datapath should + be C:\Tesseract. Note that tesseract will use the value of the TESSDATA_PREFIX environment variable if defined, + effectively ignoring the value of parameter. + + + Note: That the config files MUST be encoded without the BOM using unix end of line characters. + + + The path to the parent directory that contains the 'tessdata' directory, ignored if the TESSDATA_PREFIX environment variable is defined. + The language to load, for example 'eng' for English. + + An optional tesseract configuration file that is encoded using UTF8 without BOM + with Unix end of line characters you can use an advanced text editor such as Notepad++ to accomplish this. + + + + + Creates a new instance of with the specified + using the Default Engine Mode. + + + + The parameter should point to the directory that contains the 'tessdata' folder + for example if your tesseract language data is installed in C:\Tesseract\tessdata the value of datapath should + be C:\Tesseract. Note that tesseract will use the value of the TESSDATA_PREFIX environment variable if defined, + effectively ignoring the value of parameter. + + + The path to the parent directory that contains the 'tessdata' directory, ignored if the TESSDATA_PREFIX environment variable is defined. + The language to load, for example 'eng' for English. + + An optional sequence of tesseract configuration files to load, encoded using UTF8 without BOM + with Unix end of line characters you can use an advanced text editor such as Notepad++ to accomplish this. + + + + + Creates a new instance of with the specified . + + + + The parameter should point to the directory that contains the 'tessdata' folder + for example if your tesseract language data is installed in C:\Tesseract\tessdata the value of datapath should + be C:\Tesseract. Note that tesseract will use the value of the TESSDATA_PREFIX environment variable if defined, + effectively ignoring the value of parameter. + + + The path to the parent directory that contains the 'tessdata' directory, ignored if the TESSDATA_PREFIX environment variable is defined. + The language to load, for example 'eng' for English. + The value to use when initialising the tesseract engine. + + + + Creates a new instance of with the specified and . + + + + The parameter should point to the directory that contains the 'tessdata' folder + for example if your tesseract language data is installed in C:\Tesseract\tessdata the value of datapath should + be C:\Tesseract. Note that tesseract will use the value of the TESSDATA_PREFIX environment variable if defined, + effectively ignoring the value of parameter. + + + Note: That the config files MUST be encoded without the BOM using unix end of line characters. + + + The path to the parent directory that contains the 'tessdata' directory, ignored if the TESSDATA_PREFIX environment variable is defined. + The language to load, for example 'eng' for English. + The value to use when initialising the tesseract engine. + + An optional tesseract configuration file that is encoded using UTF8 without BOM + with Unix end of line characters you can use an advanced text editor such as Notepad++ to accomplish this. + + + + + Creates a new instance of with the specified and . + + + + The parameter should point to the directory that contains the 'tessdata' folder + for example if your tesseract language data is installed in C:\Tesseract\tessdata the value of datapath should + be C:\Tesseract. Note that tesseract will use the value of the TESSDATA_PREFIX environment variable if defined, + effectively ignoring the value of parameter. + + + The path to the parent directory that contains the 'tessdata' directory, ignored if the TESSDATA_PREFIX environment variable is defined. + The language to load, for example 'eng' for English. + The value to use when initialising the tesseract engine. + + An optional sequence of tesseract configuration files to load, encoded using UTF8 without BOM + with Unix end of line characters you can use an advanced text editor such as Notepad++ to accomplish this. + + + + + Creates a new instance of with the specified and . + + + + The parameter should point to the directory that contains the 'tessdata' folder + for example if your tesseract language data is installed in C:\Tesseract\tessdata the value of datapath should + be C:\Tesseract. Note that tesseract will use the value of the TESSDATA_PREFIX environment variable if defined, + effectively ignoring the value of parameter. + + + The path to the parent directory that contains the 'tessdata' directory, ignored if the TESSDATA_PREFIX environment variable is defined. + The language to load, for example 'eng' for English. + The value to use when initialising the tesseract engine. + + An optional sequence of tesseract configuration files to load, encoded using UTF8 without BOM + with Unix end of line characters you can use an advanced text editor such as Notepad++ to accomplish this. + + + + + Processes the specific image. + + + You can only have one result iterator open at any one time. + + The image to process. + The page layout analyasis method to use. + + + + Processes a specified region in the image using the specified page layout analysis mode. + + + You can only have one result iterator open at any one time. + + The image to process. + The image region to process. + The page layout analyasis method to use. + A result iterator + + + + Processes the specific image. + + + You can only have one result iterator open at any one time. + + The image to process. + Sets the input file's name, only needed for training or loading a uzn file. + The page layout analyasis method to use. + + + + Processes a specified region in the image using the specified page layout analysis mode. + + + You can only have one result iterator open at any one time. + + The image to process. + Sets the input file's name, only needed for training or loading a uzn file. + The image region to process. + The page layout analyasis method to use. + A result iterator + + + + Ties the specified pix to the lifecycle of a page. + + + + + Gets or sets default mode used by . + + + + + Sets the value of a string variable. + + The name of the variable. + The new value of the variable. + Returns True if successful; otherwise False. + + + + Sets the value of a boolean variable. + + The name of the variable. + The new value of the variable. + Returns True if successful; otherwise False. + + + + Sets the value of a integer variable. + + The name of the variable. + The new value of the variable. + Returns True if successful; otherwise False. + + + + Sets the value of a double variable. + + The name of the variable. + The new value of the variable. + Returns True if successful; otherwise False. + + + + Attempts to retrieve the value for a boolean variable. + + The name of the variable. + The current value of the variable. + Returns True if successful; otherwise False. + + + + Attempts to retrieve the value for a double variable. + + The name of the variable. + The current value of the variable. + Returns True if successful; otherwise False. + + + + Attempts to retrieve the value for an integer variable. + + The name of the variable. + The current value of the variable. + Returns True if successful; otherwise False. + + + + Attempts to retrieve the value for a string variable. + + The name of the variable. + The current value of the variable. + Returns True if successful; otherwise False. + + + + Attempts to print the variables to the file. + + + + + + + Gets or sets a search path that will be checked first when attempting to load the Tesseract and Leptonica dlls. + + + This search path should not include the platform component as this will automatically be appended to the string based on the detected platform. + + + + + Desctiption of TesseractException. + + + + + The text lines are read in the given sequence. + + + + For example in English the order is top-to-bottom. Chinese vertical text lines + are read right-to-left. While Mongolian is written in vertical columns + like Chinese but read left-to-right. + + + Note that only some combinations makes sense for example implies + . + + + + + + The text lines form vertical columns ordered left to right. + + + + + The text lines form vertical columns ordered right to left. + + + + + The text lines form horizontal columns ordered top to bottom. + + + + + The grapheme cluster within a line of text are laid out logically in this direction, + judged when looking at the text line rotated so that Orientation is "page up". + + + + + The text line from the left hand side to the right hand side when the page is rotated so it's orientation is . + + + + + The text line from the right hand side to the left hand side when the page is rotated so it's orientation is . + + + + + The text line from the top to the bottom of the page when the page is rotated so it's orientation is . + + + + + Special test for web applications. + + + Note that this makes a couple of assumptions these being: + + + That the current application domain's location for web applications corresponds to the web applications root directory. + That the tesseract\leptonica dlls reside in the corresponding x86 or x64 directories in the bin directory under the apps root directory. + + + + + + + + diff --git a/packages/Tesseract.4.1.1/x64/leptonica-1.80.0.dll b/packages/Tesseract.4.1.1/x64/leptonica-1.80.0.dll new file mode 100644 index 0000000..9ef9b59 Binary files /dev/null and b/packages/Tesseract.4.1.1/x64/leptonica-1.80.0.dll differ diff --git a/packages/Tesseract.4.1.1/x64/tesseract41.dll b/packages/Tesseract.4.1.1/x64/tesseract41.dll new file mode 100644 index 0000000..dcf6edf Binary files /dev/null and b/packages/Tesseract.4.1.1/x64/tesseract41.dll differ diff --git a/packages/Tesseract.4.1.1/x86/leptonica-1.80.0.dll b/packages/Tesseract.4.1.1/x86/leptonica-1.80.0.dll new file mode 100644 index 0000000..294dffd Binary files /dev/null and b/packages/Tesseract.4.1.1/x86/leptonica-1.80.0.dll differ diff --git a/packages/Tesseract.4.1.1/x86/tesseract41.dll b/packages/Tesseract.4.1.1/x86/tesseract41.dll new file mode 100644 index 0000000..65dc7ad Binary files /dev/null and b/packages/Tesseract.4.1.1/x86/tesseract41.dll differ